Files
contracts/gen/rbac.ts
2026-04-09 14:06:47 +00:00

173 lines
4.6 KiB
TypeScript

// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
// versions:
// protoc-gen-ts_proto v2.11.6
// protoc v3.21.12
// source: 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<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>;
}
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;
}
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";