syntax = "proto3"; option go_package = "git.perx.ru/perxis/perxis-go/proto/spaces;spaces"; package content.spaces; import "google/protobuf/empty.proto"; message Space { string id = 1; string org_id = 2; string name = 3; string description = 4; State state = 5; Config config = 10; } enum State { UNKNOWN = 0; NEW = 1; READY = 2; PREPARING = 3; MAINTENANCE = 4; MIGRATION = 5; DELETING = 6; ERROR = 7; } message Config { repeated string features = 1; } message CreateRequest { Space space = 1; } message CreateResponse { Space created = 1; } message GetRequest { string space_id = 1; } message GetResponse { Space space = 1; } message ListRequest { string org_id = 1; } message ListResponse { repeated Space spaces = 1; } message UpdateRequest { Space space = 1; } message UpdateConfigRequest { string space_id = 1; Config config = 2; } message DeleteRequest { string space_id = 1; } service Spaces { rpc Create(CreateRequest) returns(CreateResponse) {} rpc Get(GetRequest) returns(GetResponse) {} rpc List(ListRequest) returns(ListResponse) {} rpc Update(UpdateRequest) returns(google.protobuf.Empty) {} rpc UpdateConfig(UpdateConfigRequest) returns(google.protobuf.Empty) {} rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {} }