syntax = "proto3"; package territory; service TerritoriesService { rpc FindOneByUuid(TerritoryByUuid) returns (Territory); rpc FindAll(TerritoryFilter) returns (Territories); rpc FindAllForPoint(Point) returns (Territories); rpc Create(Territory) returns (Territory); rpc Update(Territory) returns (Territory); rpc Delete(TerritoryByUuid) returns (Empty); } message TerritoryByUuid { string uuid = 1; } message Territory { string uuid = 1; string name = 2; string shape = 3; } message TerritoryFilter { optional int32 page = 1; optional int32 perPage = 2; } message Territories { repeated Territory data = 1; int32 total = 2; } message Point { float lon = 1; float lat = 2; } message Empty {}