upgrede: add asign role and manege roles and permissions
Some checks failed
Publish / Publish Job (push) Failing after 2m29s

This commit is contained in:
Дмитрий
2026-04-09 17:04:13 +03:00
parent facbac7c1a
commit 59d4d442b2
2 changed files with 70 additions and 0 deletions

View File

@@ -11,6 +11,8 @@ service AccountService {
rpc CreateUser(CreateUserRequest) returns (CreateUserResponse); rpc CreateUser(CreateUserRequest) returns (CreateUserResponse);
rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse); rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse);
rpc ChangeData(ChangeDataRequest) returns (ChangeDataResponse); rpc ChangeData(ChangeDataRequest) returns (ChangeDataResponse);
rpc AssignRole (AssignRoleRequest) returns (AssignRoleResponse);
rpc RevokeRole (RevokeRoleRequest) returns (RevokeRoleResponse);
rpc SetPin (SetPinRequest) returns (SetPinResponse); rpc SetPin (SetPinRequest) returns (SetPinResponse);
rpc UnlockPin (UnlockPinRequest) returns (UnlockPinResponse); rpc UnlockPin (UnlockPinRequest) returns (UnlockPinResponse);
rpc GetPinStatus (GetPinStatusRequest) returns (GetPinStatusResponse); rpc GetPinStatus (GetPinStatusRequest) returns (GetPinStatusResponse);
@@ -93,6 +95,23 @@ message ChangeDataResponse {
string message = 2; string message = 2;
} }
message AssignRoleRequest {
string user_id = 1;
string role_id = 2; // В gRPC передаем как string, внутри преобразуем в Int
}
message AssignRoleResponse {
bool success = 1;
string message = 2;
}
message RevokeRoleRequest {
string user_id = 1;
string role_id = 2;
}
message RevokeRoleResponse {
bool success = 1;
string message = 2;
}
message AdminResetPasswordRequest { message AdminResetPasswordRequest {
string user_id = 1; string user_id = 1;
string new_password = 2; string new_password = 2;

View File

@@ -7,6 +7,13 @@ option go_package = "git.lendry.ru/lendry-erp/proto.git/go;pb";
service RbacService { 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 GetAllPermissions (GetAllPermissionsRequest) returns (GetAllPermissionsResponse);
rpc GetAllRoles(GetAllRolesRequest) returns (GetAllRolesResponse); rpc GetAllRoles(GetAllRolesRequest) returns (GetAllRolesResponse);
} }
@@ -37,6 +44,50 @@ message GetAllRolesResponse {
repeated Roles roles = 1; 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 { message Roles {
string id = 1; string id = 1;
string name = 2; string name = 2;