// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.6 // protoc v4.25.9 // source: sso/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 const RBAC_V1_PACKAGE_NAME = "rbac.v1"; export interface RbacServiceClient { createRole(request: CreateRoleRequest, metadata?: Metadata): Observable; updateRole(request: UpdateRoleRequest, metadata?: Metadata): Observable; deleteRole(request: DeleteRoleRequest, metadata?: Metadata): Observable; createPermission(request: CreatePermissionRequest, metadata?: Metadata): Observable; updatePermission(request: UpdatePermissionRequest, metadata?: Metadata): Observable; getAllPermissions(request: GetAllPermissionsRequest, metadata?: Metadata): Observable; getAllRoles(request: GetAllRolesRequest, metadata?: Metadata): Observable; } export interface RbacServiceController { createRole( request: CreateRoleRequest, metadata?: Metadata, ): Promise | Observable | ModifyRoleResponse; updateRole( request: UpdateRoleRequest, metadata?: Metadata, ): Promise | Observable | ModifyRoleResponse; deleteRole( request: DeleteRoleRequest, metadata?: Metadata, ): Promise | Observable | DeleteRoleResponse; createPermission( request: CreatePermissionRequest, metadata?: Metadata, ): Promise | Observable | ModifyPermissionResponse; updatePermission( request: UpdatePermissionRequest, metadata?: Metadata, ): Promise | Observable | ModifyPermissionResponse; getAllPermissions( request: GetAllPermissionsRequest, metadata?: Metadata, ): Promise | Observable | GetAllPermissionsResponse; getAllRoles( request: GetAllRolesRequest, metadata?: Metadata, ): Promise | Observable | GetAllRolesResponse; } export function RbacServiceControllerMethods() { return function (constructor: Function) { const grpcMethods: string[] = [ "createRole", "updateRole", "deleteRole", "createPermission", "updatePermission", "getAllPermissions", "getAllRoles", ]; 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";