Skip to content
Snippets Groups Projects
Select Git revision
  • 92827f1d924f5a33488e54feeeb43a1ab7065e1a
  • master default protected
  • feature/PRXS-3383-CollectionsRankSortAPI
  • fix/PRXS-3401-ValidateValidationOpts
  • feature/3149-LocaleCodeAsID-Feature
  • feature/PRXS-3383-CollectionsSort
  • feature/3109-SerializeFeature
  • release/0.33
  • feature/3109-RecoverySchema
  • feature/3109-feature
  • fix/PRXS-3369-ValidateFields
  • refactor/PRXS-3306-MovePkgGroup1
  • refactor/6-pkg-refactor-expr
  • fix/PRXS-3360-TemplateBuilderPatch
  • feature/3293-MongoV2
  • feature/3272-GoVersionUp
  • feature/PRXS-3218-HideTemplateActions
  • feature/PRXS-3234-PruneIdents
  • feature/3146-UpdateItemStorageInterface
  • feature/3274-ObjectIndexesFixes
  • feature/PRXS-3143-3235-ReferenceOptions
  • v0.33.1
  • v0.32.0
  • v0.31.1
  • v0.31.0
  • v0.30.0
  • v0.29.0
  • v0.28.0
  • v0.27.0-alpha.1+16
  • v0.27.0-alpha.1+15
  • v0.27.0-alpha.1+14
  • v0.27.0-alpha.1+13
  • v0.27.0-alpha.1+12
  • v0.27.0-alpha.1+11
  • v0.27.0-alpha.1+10
  • v0.27.0-alpha.1+9
  • v0.27.0-alpha.1+8
  • v0.27.0-alpha.1+7
  • v0.27.0-alpha.1+6
  • v0.27.0-alpha.1+5
  • v0.27.0-alpha.1+4
41 results

storage.go

Blame
  • members.proto 2.32 KiB
    syntax = "proto3";
    
    import "google/protobuf/empty.proto";
    import "common/common.proto";
    
    option go_package = "git.perx.ru/perxis/perxis-go/proto/members;members";
    
    package account.members;
    
    // Роль пользователя в организации
    enum Role {
      NOT_MEMBER = 0; // Не является членом команды - значение по умолчанию
      MEMBER = 1; // Входит в организацию и команды, может получать доступ к Space в соответствии с политикой доступа
      OWNER = 2; // admin + может приглашать пользователей на роль owner
      ADMIN = 3; // Входит в организацию, видит все Space, может задавать политики доступа, может приглашать пользователей на роли member, admin
    }
    
    message Member {
      string org_id = 1;
      string user_id = 2;
      Role role = 3;
    }
    
    message SetRequest {
      string org_id = 1;
      string user_id = 2;
      Role role = 3;
    }
    
    message GetRequest {
      string org_id = 1;
      string user_id = 2;
    }
    
    message GetResponse {
      Role role = 3;
    }
    
    message RemoveRequest {
      string org_id = 1;
      string user_id = 2;
    }
    
    message ListMembersRequest {
      string org_id = 1;
    }
    
    message ListMembersResponse {
      repeated Member members = 1;
    }
    
    message ListOrganizationsRequest {
      string user_id = 1;
    }
    
    message ListOrganizationsResponse {
      repeated Member organizations = 1;
    }
    
    service Members {
      rpc Set(SetRequest) returns(google.protobuf.Empty) {}
      rpc Get(GetRequest) returns(GetResponse) {}
      rpc Remove(RemoveRequest) returns(google.protobuf.Empty) {}
      rpc ListMembers(ListMembersRequest) returns(ListMembersResponse) {}
      rpc ListOrganizations(ListOrganizationsRequest) returns(ListOrganizationsResponse) {}
    }
    
    // Внутренний сервис (часть имплементации паттерна Observer). Используется для установки
    // членства в организации при принятии приглашения в пространство
    message OnCollaboratorSetRequest {
      common.Collaborator collaborator = 1;
    }
    
    message OnCollaboratorSetResponse {
      string delayed_task_id = 1;
    }
    
    service Observer {
      rpc OnCollaboratorSet(OnCollaboratorSetRequest) returns(OnCollaboratorSetResponse) {}
    }