mirror of
https://github.com/dadosfera/maestro.git
synced 2026-11-15 07:39:08 +00:00
40 lines
1.3 KiB
TypeScript
40 lines
1.3 KiB
TypeScript
import { OnModuleInit, Inject } from '@nestjs/common';
|
|
import { ClientGrpc } from '@nestjs/microservices';
|
|
|
|
import { ProtoServices } from '@victorradael/protospack-v2/dist/lib/Duc';
|
|
import { PermissionsProtoService as PermissionsServiceInterface } from '@victorradael/protospack-v2/dist/lib/Duc/interfaces/write-service';
|
|
import {
|
|
Empty,
|
|
InjectPermissionsRequest,
|
|
} from '@victorradael/protospack-v2/dist/lib/Duc/interfaces/messages';
|
|
import { DadosferaLogger } from 'dadosfera-logs';
|
|
import grpcHandler from '../../utils/grpcHandler';
|
|
|
|
export class PermissionsClientService implements OnModuleInit {
|
|
logger: any;
|
|
|
|
private permissionsService: PermissionsServiceInterface;
|
|
constructor(
|
|
@Inject(DadosferaLogger)
|
|
dadosferaLogger: DadosferaLogger,
|
|
@Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc,
|
|
) {
|
|
this.logger = dadosferaLogger.logger;
|
|
}
|
|
|
|
onModuleInit() {
|
|
this.permissionsService =
|
|
this.grpcClient.getService<PermissionsServiceInterface>(
|
|
ProtoServices.PermissionsProtoService,
|
|
);
|
|
}
|
|
|
|
async injectPermissions({ permissions }: InjectPermissionsRequest) {
|
|
this.logger.info('InjectPermissions');
|
|
|
|
return grpcHandler<Empty>(
|
|
this.permissionsService.InjectPermissions({ permissions }),
|
|
);
|
|
}
|
|
}
|