Select Git revision
roles.proto

Anton Sattarov authored
roles.proto 2.14 KiB
syntax = "proto3";
import "google/protobuf/empty.proto";
import "common/common.proto";
option go_package = "git.perx.ru/perxis/perxis-go/proto/roles;roles";
package content.roles;
message Role {
// Внутренний идентификатор роли
string id = 1;
// Идентификатор пространства
string space_id = 2;
// Описание роли, назначение
string description = 3;
// Список правил доступа к коллекциям
repeated common.Rule rules = 4;
// Список доступных окружений (ID или Alias)
repeated string environments = 5;
// Разрешить доступ API управления:
// - Управление коллекциями
// - Управление приложениями
// - Управление ролями
// - Управление окружениями
// - Управление приглашениями
// - Управление locales
// - Управление участниками
bool allow_management = 10;
}
message CreateRequest {
Role role = 1;
}
message CreateResponse {
Role created = 1;
}
message GetRequest {
string space_id = 1;
string role_id = 2;
}
message GetResponse {
Role role = 1;
}
message UpdateRequest {
Role role = 1;
}
message ListRequest {
string space_id = 1;
}
message ListResponse {
repeated Role roles = 1;
}
message DeleteRequest {
string space_id = 1;
string role_id = 2;
}
service Roles {
// Create - создает роль в рамках пространства
rpc Create(CreateRequest) returns(CreateResponse) {}
// Get - возвращает роль по id
rpc Get(GetRequest) returns(GetResponse) {}
// Update - обновляет параметры роли
rpc Update(UpdateRequest) returns(google.protobuf.Empty) {}
// List - возвращает список ролей, созданных в пространстве
rpc List(ListRequest) returns(ListResponse) {}
// Delete - удаляет указанную роль из пространстве
rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {}
}