246 lines
6.8 KiB
TypeScript
246 lines
6.8 KiB
TypeScript
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-ts_proto v2.11.6
|
|
// protoc v4.25.9
|
|
// source: admin/rbac.proto
|
|
|
|
/* eslint-disable */
|
|
import type { Metadata } from "@grpc/grpc-js";
|
|
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
|
import { Observable } from "rxjs";
|
|
|
|
export const protobufPackage = "rbac.v1";
|
|
|
|
export interface GetAllPermissionsRequest {
|
|
userId: string;
|
|
sessionId: string;
|
|
}
|
|
|
|
export interface GetAllPermissionsResponse {
|
|
permissions: Permission[];
|
|
}
|
|
|
|
export interface Permission {
|
|
id: string;
|
|
code: string;
|
|
description: string;
|
|
module: string;
|
|
roles: string[];
|
|
}
|
|
|
|
export interface GetAllRolesRequest {
|
|
userId: string;
|
|
sessionId: string;
|
|
}
|
|
|
|
export interface GetAllRolesResponse {
|
|
roles: Roles[];
|
|
}
|
|
|
|
export interface CreateRoleRequest {
|
|
name: string;
|
|
level: number;
|
|
permissionCodes: string[];
|
|
}
|
|
|
|
export interface UpdateRoleRequest {
|
|
id: string;
|
|
name?: string | undefined;
|
|
level?: number | undefined;
|
|
permissionCodes: string[];
|
|
}
|
|
|
|
export interface ModifyRoleResponse {
|
|
success: boolean;
|
|
message: string;
|
|
}
|
|
|
|
export interface DeleteRoleRequest {
|
|
id: string;
|
|
}
|
|
|
|
export interface DeleteRoleResponse {
|
|
success: boolean;
|
|
message: string;
|
|
fallbackRoleName?: string | undefined;
|
|
}
|
|
|
|
export interface CreatePermissionRequest {
|
|
code: string;
|
|
description: string;
|
|
module: string;
|
|
}
|
|
|
|
export interface UpdatePermissionRequest {
|
|
id: string;
|
|
/** Привязка к конкретным ролям */
|
|
roleIds: string[];
|
|
}
|
|
|
|
export interface ModifyPermissionResponse {
|
|
success: boolean;
|
|
message: string;
|
|
}
|
|
|
|
export interface Roles {
|
|
id: string;
|
|
name: string;
|
|
level: number;
|
|
permissions: string[];
|
|
ldapMapping: string[];
|
|
accounts: string[];
|
|
}
|
|
|
|
export interface GetUserRolesRequest {
|
|
userId: string;
|
|
}
|
|
|
|
export interface GetUserRolesResponse {
|
|
/** например: ["ADMIN", "MANAGER"] */
|
|
roles: string[];
|
|
/** например: ["users:read", "billing:write"] */
|
|
permissions: string[];
|
|
/** Максимальный уровень роли пользователя */
|
|
maxRoleLevel: number;
|
|
}
|
|
|
|
export interface AssignRolesByNameRequest {
|
|
userId: string;
|
|
roles: string[];
|
|
}
|
|
|
|
export interface AssignRoleToUserRequest {
|
|
userId: string;
|
|
roleId: number;
|
|
}
|
|
|
|
export interface RevokeRoleFromUserRequest {
|
|
userId: string;
|
|
roleId: number;
|
|
}
|
|
|
|
export interface SyncLdapRolesRequest {
|
|
userId: string;
|
|
ldapGroups: string[];
|
|
}
|
|
|
|
export const RBAC_V1_PACKAGE_NAME = "rbac.v1";
|
|
|
|
export interface RbacServiceClient {
|
|
createRole(request: CreateRoleRequest, metadata?: Metadata): Observable<ModifyRoleResponse>;
|
|
|
|
updateRole(request: UpdateRoleRequest, metadata?: Metadata): Observable<ModifyRoleResponse>;
|
|
|
|
deleteRole(request: DeleteRoleRequest, metadata?: Metadata): Observable<DeleteRoleResponse>;
|
|
|
|
createPermission(request: CreatePermissionRequest, metadata?: Metadata): Observable<ModifyPermissionResponse>;
|
|
|
|
updatePermission(request: UpdatePermissionRequest, metadata?: Metadata): Observable<ModifyPermissionResponse>;
|
|
|
|
getAllPermissions(request: GetAllPermissionsRequest, metadata?: Metadata): Observable<GetAllPermissionsResponse>;
|
|
|
|
getAllRoles(request: GetAllRolesRequest, metadata?: Metadata): Observable<GetAllRolesResponse>;
|
|
|
|
assignRolesByName(request: AssignRolesByNameRequest, metadata?: Metadata): Observable<ModifyRoleResponse>;
|
|
|
|
getUserRolesAndPermissions(request: GetUserRolesRequest, metadata?: Metadata): Observable<GetUserRolesResponse>;
|
|
|
|
assignRoleToUser(request: AssignRoleToUserRequest, metadata?: Metadata): Observable<ModifyRoleResponse>;
|
|
|
|
revokeRoleFromUser(request: RevokeRoleFromUserRequest, metadata?: Metadata): Observable<ModifyRoleResponse>;
|
|
|
|
syncLdapRoles(request: SyncLdapRolesRequest, metadata?: Metadata): Observable<ModifyRoleResponse>;
|
|
}
|
|
|
|
export interface RbacServiceController {
|
|
createRole(
|
|
request: CreateRoleRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyRoleResponse> | Observable<ModifyRoleResponse> | ModifyRoleResponse;
|
|
|
|
updateRole(
|
|
request: UpdateRoleRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyRoleResponse> | Observable<ModifyRoleResponse> | ModifyRoleResponse;
|
|
|
|
deleteRole(
|
|
request: DeleteRoleRequest,
|
|
metadata?: Metadata,
|
|
): Promise<DeleteRoleResponse> | Observable<DeleteRoleResponse> | DeleteRoleResponse;
|
|
|
|
createPermission(
|
|
request: CreatePermissionRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyPermissionResponse> | Observable<ModifyPermissionResponse> | ModifyPermissionResponse;
|
|
|
|
updatePermission(
|
|
request: UpdatePermissionRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyPermissionResponse> | Observable<ModifyPermissionResponse> | ModifyPermissionResponse;
|
|
|
|
getAllPermissions(
|
|
request: GetAllPermissionsRequest,
|
|
metadata?: Metadata,
|
|
): Promise<GetAllPermissionsResponse> | Observable<GetAllPermissionsResponse> | GetAllPermissionsResponse;
|
|
|
|
getAllRoles(
|
|
request: GetAllRolesRequest,
|
|
metadata?: Metadata,
|
|
): Promise<GetAllRolesResponse> | Observable<GetAllRolesResponse> | GetAllRolesResponse;
|
|
|
|
assignRolesByName(
|
|
request: AssignRolesByNameRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyRoleResponse> | Observable<ModifyRoleResponse> | ModifyRoleResponse;
|
|
|
|
getUserRolesAndPermissions(
|
|
request: GetUserRolesRequest,
|
|
metadata?: Metadata,
|
|
): Promise<GetUserRolesResponse> | Observable<GetUserRolesResponse> | GetUserRolesResponse;
|
|
|
|
assignRoleToUser(
|
|
request: AssignRoleToUserRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyRoleResponse> | Observable<ModifyRoleResponse> | ModifyRoleResponse;
|
|
|
|
revokeRoleFromUser(
|
|
request: RevokeRoleFromUserRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyRoleResponse> | Observable<ModifyRoleResponse> | ModifyRoleResponse;
|
|
|
|
syncLdapRoles(
|
|
request: SyncLdapRolesRequest,
|
|
metadata?: Metadata,
|
|
): Promise<ModifyRoleResponse> | Observable<ModifyRoleResponse> | ModifyRoleResponse;
|
|
}
|
|
|
|
export function RbacServiceControllerMethods() {
|
|
return function (constructor: Function) {
|
|
const grpcMethods: string[] = [
|
|
"createRole",
|
|
"updateRole",
|
|
"deleteRole",
|
|
"createPermission",
|
|
"updatePermission",
|
|
"getAllPermissions",
|
|
"getAllRoles",
|
|
"assignRolesByName",
|
|
"getUserRolesAndPermissions",
|
|
"assignRoleToUser",
|
|
"revokeRoleFromUser",
|
|
"syncLdapRoles",
|
|
];
|
|
for (const method of grpcMethods) {
|
|
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
GrpcMethod("RbacService", method)(constructor.prototype[method], method, descriptor);
|
|
}
|
|
const grpcStreamMethods: string[] = [];
|
|
for (const method of grpcStreamMethods) {
|
|
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
GrpcStreamMethod("RbacService", method)(constructor.prototype[method], method, descriptor);
|
|
}
|
|
};
|
|
}
|
|
|
|
export const RBAC_SERVICE_NAME = "RbacService";
|