Skip to content
Snippets Groups Projects
Select Git revision
  • 1e2543d67705f22a4553e04b4e37a7b9372f5cbc
  • master default protected
  • feature/3149-LocaleCodeAsID
  • refactor/PRXS-3053-RefactorFiles
  • feature/3146-UpdateItemStorageInterface
  • feature/3180-RemoveOldHugo
  • feature/3264-FixExtracTranslationsArrays
  • feature/3274-ObjectIndexesFixes
  • feature/2931-AllowPartialDecode
  • feature/3055-ItemsRestAPI
  • feature/3082-gitlab-triage
  • feature/3055-LogsRestAPI
  • feature/2985-add-preset-settings
  • feature/2929-MultiInvitationFix
  • feature/2929-MultiInvitation
  • docs/2889-HugoModules
  • docs/2954-CheckResource
  • docs/3012-SplitBuild
  • docs/3024-PerxisWebStatic
  • feature/2911-GetArchive
  • feature/2941-GoWrapGrpc
  • v0.27.0
  • v0.21.0
  • v0.19.0
  • v0.20.0
25 results

.gitlab-ci.yml

Blame
  • 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) {}
    
    }