import { Inject, Injectable, OnModuleInit } from '@nestjs/common'; import { CreateAssignDto } from './dto/create-assign.dto'; import { Metadata } from '@grpc/grpc-js'; import DadosferaLogger from '@dadosfera/dadosfera-logs'; import { ClientGrpc } from '@nestjs/microservices'; import { DucClient } from 'src/modules/duc/client.config'; import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc'; import { lastValueFrom } from 'rxjs';import { AssingProtoService } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service'; @Injectable() export class AssignService implements OnModuleInit { ducService: AssingProtoService; logger: DadosferaLogger; constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, @Inject(DucClient.name) private readonly grpcClient: ClientGrpc, ) { this.logger = dadosferaLogger.logger; } onModuleInit() { this.ducService =this.grpcClient.getService( ProtoServices.AssingProtoService, ); } async create(createAssignDto: CreateAssignDto, metadata: Metadata) { const data = await lastValueFrom(this.ducService.CreateOrUpdateAssignPublicKey(createAssignDto, metadata)) return data; } async get(metadata: Metadata) { return await lastValueFrom(this.ducService.GetAssignPublicKey({}, metadata)) } }