import { OnModuleInit, Inject, Injectable } from '@nestjs/common'; import { ClientGrpc } from '@nestjs/microservices'; import { DadosferaLogger } from 'dadosfera-logs'; import { lastValueFrom } from 'rxjs'; import { ProtoServices } from 'protospack-v2/dist/lib/Duc'; import { TermsOfUseProtoService as TermsOfUseServiceInterface } from 'protospack-v2/dist/lib/Duc/interfaces/write-service'; import { TermsOfUseGetTokenRequest, TermsOfUseAcceptRequest, } from 'protospack-v2/dist/lib/Duc/interfaces/messages'; @Injectable() export class TermsOfUseClientService implements OnModuleInit { logger: any; private termsOfUseService: TermsOfUseServiceInterface; constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, @Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc, ) { this.logger = dadosferaLogger.logger; } onModuleInit() { this.termsOfUseService = this.grpcClient.getService( ProtoServices.TermsOfUseProtoService, ); } async getToken(data: TermsOfUseGetTokenRequest) { return lastValueFrom(this.termsOfUseService.TermsOfUseGetToken(data)); } async accept(data: TermsOfUseAcceptRequest) { return lastValueFrom(this.termsOfUseService.TermsOfUseAccept(data)); } }