syntax = "proto3";
option go_package = "./pb";

package pb;

import "models/model_region_province.proto";
import "models/rpc_messages.proto";

// 省份相关服务
service RegionProvinceService {
	// 根据国家|地区ID查找所有省份
	rpc findAllEnabledRegionProvincesWithCountryId (FindAllEnabledRegionProvincesWithCountryIdRequest) returns (FindAllEnabledRegionProvincesWithCountryIdResponse) {
		option deprecated = true;
	};

	// 查找单个省份信息
	rpc findEnabledRegionProvince (FindEnabledRegionProvinceRequest) returns (FindEnabledRegionProvinceResponse) {
		option deprecated = true;
	};

	// 根据国家|地区ID查找所有省份
	rpc findAllRegionProvincesWithRegionCountryId (FindAllRegionProvincesWithRegionCountryIdRequest) returns (FindAllRegionProvincesWithRegionCountryIdResponse);

	// 查找所有国家|地区的所有省份
	rpc findAllRegionProvinces(FindAllRegionProvincesRequest) returns (FindAllRegionProvincesResponse);

	// 查找单个省份信息
	rpc findRegionProvince (FindRegionProvinceRequest) returns (FindRegionProvinceResponse);

	// 修改国家/地区定制信息
	rpc updateRegionProvinceCustom(UpdateRegionProvinceCustomRequest) returns (RPCSuccess);
}

// 根据国家|地区ID查找所有省份
message FindAllEnabledRegionProvincesWithCountryIdRequest {
	int64 regionCountryId = 1; // 国家|地区ID
}

message FindAllEnabledRegionProvincesWithCountryIdResponse {
	repeated RegionProvince regionProvinces = 1; // 省份列表
}

// 查找单个省份信息
message FindEnabledRegionProvinceRequest {
	int64 regionProvinceId = 1; // 省份ID
}

message FindEnabledRegionProvinceResponse {
	RegionProvince regionProvince = 1; // 省份信息
}

// 根据国家|地区ID查找所有省份
message FindAllRegionProvincesWithRegionCountryIdRequest {
	int64 regionCountryId = 1; // 国家|地区ID
}

message FindAllRegionProvincesWithRegionCountryIdResponse {
	repeated RegionProvince regionProvinces = 1; // 省份列表
}

// 查找所有国家|地区的所有省份
message FindAllRegionProvincesRequest {

}

message FindAllRegionProvincesResponse {
	repeated RegionProvince regionProvinces = 1; // 省份列表
}

// 查找单个省份信息
message FindRegionProvinceRequest {
	int64 regionProvinceId = 1; // 省份ID
}

message FindRegionProvinceResponse {
	RegionProvince regionProvince = 1; // 省份信息
}

// 修改省份定制信息
message UpdateRegionProvinceCustomRequest {
	int64 regionProvinceId = 1; // 省份ID
	string customName = 2; // 自定义名称
	repeated string customCodes = 3; // 自定义代号
}
