Files
maestro/src/clients/permissions/client.service.ts
T

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 }),
);
}
}