Files
contracts/proto/sso/rbac.proto
Дмитрий 59d4d442b2
Some checks failed
Publish / Publish Job (push) Failing after 2m29s
upgrede: add asign role and manege roles and permissions
2026-04-09 17:04:13 +03:00

100 lines
2.1 KiB
Protocol Buffer

syntax = "proto3";
package rbac.v1;
option go_package = "git.lendry.ru/lendry-erp/proto.git/go;pb";
service RbacService {
rpc CreateRole(CreateRoleRequest) returns (ModifyRoleResponse);
rpc UpdateRole(UpdateRoleRequest) returns (ModifyRoleResponse);
rpc DeleteRole(DeleteRoleRequest) returns (DeleteRoleResponse);
rpc CreatePermission(CreatePermissionRequest) returns (ModifyPermissionResponse);
rpc UpdatePermission(UpdatePermissionRequest) returns (ModifyPermissionResponse);
rpc GetAllPermissions (GetAllPermissionsRequest) returns (GetAllPermissionsResponse);
rpc GetAllRoles(GetAllRolesRequest) returns (GetAllRolesResponse);
}
message GetAllPermissionsRequest {
string user_id = 1;
string session_id=2;
}
message GetAllPermissionsResponse {
repeated Permission permissions = 1;
}
message Permission {
string id = 1;
string code = 2;
string description = 3;
string module = 4;
repeated string roles = 5;
}
message GetAllRolesRequest {
string user_id = 1;
string session_id=2;
}
message GetAllRolesResponse {
repeated Roles roles = 1;
}
message CreateRoleRequest {
string name = 1;
int32 level = 2;
repeated string permission_codes = 3;
}
message UpdateRoleRequest {
string id = 1;
optional string name = 2;
optional int32 level = 3;
repeated string permission_codes = 4;
}
message ModifyRoleResponse {
bool success = 1;
string message = 2;
}
message DeleteRoleRequest {
string id = 1;
}
message DeleteRoleResponse {
bool success = 1;
string message = 2;
optional string fallback_role_name = 3;
}
message CreatePermissionRequest {
string code = 1;
string description = 2;
string module = 3;
}
message UpdatePermissionRequest {
string id = 1;
repeated string role_ids = 2; // Привязка к конкретным ролям
}
message ModifyPermissionResponse {
bool success = 1;
string message = 2;
}
message Roles {
string id = 1;
string name = 2;
int32 level = 3;
repeated string permissions = 4;
repeated string ldap_mapping = 5;
repeated string accounts = 6;
}