From 29c38fd11757e4a6c0b27c6851f6b479f7947349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Sat, 11 Apr 2026 17:10:30 +0300 Subject: [PATCH] feat: add new methods rbac for microservice transports --- package.json | 2 +- proto/admin/rbac.proto | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 0542736..0f06a63 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lendry-erp/contracts", - "version": "1.2.11", + "version": "1.2.12", "description": "Protobuf definitions and generated TypeScript types", "type": "commonjs", "main": "./dist/index.js", diff --git a/proto/admin/rbac.proto b/proto/admin/rbac.proto index f6c4166..b7dce1b 100644 --- a/proto/admin/rbac.proto +++ b/proto/admin/rbac.proto @@ -16,6 +16,10 @@ service RbacService { rpc GetAllPermissions (GetAllPermissionsRequest) returns (GetAllPermissionsResponse); rpc GetAllRoles(GetAllRolesRequest) returns (GetAllRolesResponse); + + rpc GetUserRolesAndPermissions(GetUserRolesRequest) returns (GetUserRolesResponse); + rpc AssignRoleToUser(AssignRoleToUserRequest) returns (ModifyRoleResponse); + rpc RevokeRoleFromUser(RevokeRoleFromUserRequest) returns (ModifyRoleResponse); } message GetAllPermissionsRequest { @@ -97,3 +101,22 @@ message Roles { repeated string accounts = 6; } +message GetUserRolesRequest { + string user_id = 1; +} + +message GetUserRolesResponse { + repeated string roles = 1; // например: ["ADMIN", "MANAGER"] + repeated string permissions = 2; // например: ["users:read", "billing:write"] + int32 max_role_level = 3; // Максимальный уровень роли пользователя +} + +message AssignRoleToUserRequest { + string user_id = 1; + int32 role_id = 2; +} + +message RevokeRoleFromUserRequest { + string user_id = 1; + int32 role_id = 2; +} \ No newline at end of file