diff --git a/src/clients/duc/client.config.ts b/src/clients/duc/client.config.ts index 9550810..280eca9 100644 --- a/src/clients/duc/client.config.ts +++ b/src/clients/duc/client.config.ts @@ -1,29 +1,35 @@ import { credentials } from '@grpc/grpc-js'; -import { ClientOptions, Transport } from '@nestjs/microservices'; +import { + ClientsProviderAsyncOptions, + GrpcOptions, + Transport, +} from '@nestjs/microservices'; import { ProtoPackages, ProtoPaths, } from '@dadosfera/protospack-v2/dist/lib/Duc'; export class DucClient { - config(): ClientOptions { - return { - transport: Transport.GRPC, - options: { - url: process.env.DUC_URL, - package: ProtoPackages.WritePackage, - // credentials: credentials.createSsl(), - credentials: process.env.LOCAL_ENV - ? undefined - : credentials.createSsl(), - protoPath: ProtoPaths.WriteFilePath, - loader: { - keepCase: true, - enums: String, - objects: true, - arrays: true, - }, + public name = 'DucClient'; + + private config: GrpcOptions = { + transport: Transport.GRPC, + options: { + url: process.env.DUC_URL, + package: ProtoPackages.WritePackage, + credentials: process.env.LOCAL_ENV ? undefined : credentials.createSsl(), + protoPath: ProtoPaths.WriteFilePath, + loader: { + keepCase: true, + enums: String, + objects: true, + arrays: true, }, - }; - } + }, + }; + + providerOptions: ClientsProviderAsyncOptions = { + name: this.name, + ...this.config, + }; } diff --git a/src/modules/auth/auth.module.ts b/src/modules/auth/auth.module.ts index 88b2dda..3fbc097 100644 --- a/src/modules/auth/auth.module.ts +++ b/src/modules/auth/auth.module.ts @@ -6,17 +6,10 @@ import { AuthController } from './auth.controller'; import { AuthClientService } from './auth.service'; import { DucClient } from '../../clients/duc/client.config'; -const ducClient = new DucClient(); +const client = new DucClient(); @Module({ - imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), - ], + imports: [ClientsModule.register([client.providerOptions])], controllers: [AuthController], providers: [AuthClientService, DadosferaLogger], exports: [AuthClientService], diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index 0da58eb..d6274f0 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -17,6 +17,7 @@ import { AuthVerifyResetPasswordCodeRequest, AuthConfirmResetPasswordRequest, } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages'; +import { DucClient } from 'src/clients/duc/client.config'; @Injectable() export class AuthClientService implements OnModuleInit { @@ -26,7 +27,7 @@ export class AuthClientService implements OnModuleInit { constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, - @Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc, + @Inject(DucClient.name) private readonly grpcClient: ClientGrpc, ) { this.logger = dadosferaLogger.logger; } diff --git a/src/modules/permissions/permissions.controller.spec.ts b/src/modules/permissions/permissions.controller.spec.ts index a4db69e..9e19ece 100644 --- a/src/modules/permissions/permissions.controller.spec.ts +++ b/src/modules/permissions/permissions.controller.spec.ts @@ -5,7 +5,7 @@ import { PermissionsController } from './permissions.controller'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { PermissionsService } from './permissions.service'; -const ducClient = new DucClient(); +const client = new DucClient(); const logger = { info: (...args) => args, error: (...args) => args, @@ -15,14 +15,7 @@ describe('PermissionsController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ - imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), - ], + imports: [ClientsModule.register([client.providerOptions])], controllers: [PermissionsController], providers: [ { diff --git a/src/modules/permissions/permissions.module.ts b/src/modules/permissions/permissions.module.ts index b1155d4..3dc0ac8 100644 --- a/src/modules/permissions/permissions.module.ts +++ b/src/modules/permissions/permissions.module.ts @@ -7,17 +7,10 @@ import { PermissionsService } from './permissions.service'; import { DucClient } from '../../clients/duc/client.config'; import { PermissionsController } from './permissions.controller'; -const ducClient = new DucClient(); +const client = new DucClient(); @Module({ - imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), - ], + imports: [ClientsModule.register([client.providerOptions])], providers: [PermissionsService, DadosferaLogger], controllers: [PermissionsController], exports: [PermissionsService], diff --git a/src/modules/permissions/permissions.service.ts b/src/modules/permissions/permissions.service.ts index 3dfc3d8..1b05dbc 100644 --- a/src/modules/permissions/permissions.service.ts +++ b/src/modules/permissions/permissions.service.ts @@ -20,6 +20,7 @@ import { import ErrorBuilder from '../../utils/ErrorBuilder'; import { PermissionGroupPermission, PermissionGroup } from './dto/entities'; import { LanguageEnum } from 'src/utils/languages.enum'; +import { DucClient } from 'src/clients/duc/client.config'; @Injectable() export class PermissionsService @@ -31,7 +32,7 @@ export class PermissionsService constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, - @Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc, + @Inject(DucClient.name) private readonly grpcClient: ClientGrpc, ) { this.logger = dadosferaLogger.logger; } diff --git a/src/modules/roles/roles.controller.spec.ts b/src/modules/roles/roles.controller.spec.ts index e062694..f06abaa 100644 --- a/src/modules/roles/roles.controller.spec.ts +++ b/src/modules/roles/roles.controller.spec.ts @@ -6,7 +6,7 @@ import { RolesService } from './roles.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { PermissionsModule } from '../permissions/permissions.module'; -const ducClient = new DucClient(); +const client = new DucClient(); const logger = { info: (...args) => args, @@ -18,12 +18,7 @@ describe('RolesController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), + ClientsModule.register([client.providerOptions]), PermissionsModule, ], controllers: [RolesController], diff --git a/src/modules/roles/roles.module.ts b/src/modules/roles/roles.module.ts index 1643b00..e469a31 100644 --- a/src/modules/roles/roles.module.ts +++ b/src/modules/roles/roles.module.ts @@ -6,16 +6,11 @@ import { RolesService } from './roles.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { PermissionsModule } from '../permissions/permissions.module'; -const ducClient = new DucClient(); +const client = new DucClient(); @Module({ imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), + ClientsModule.register([client.providerOptions]), PermissionsModule, ], controllers: [RolesController], diff --git a/src/modules/roles/roles.service.spec.ts b/src/modules/roles/roles.service.spec.ts index e05341b..ea5eeaf 100644 --- a/src/modules/roles/roles.service.spec.ts +++ b/src/modules/roles/roles.service.spec.ts @@ -6,7 +6,7 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { DucClient } from 'src/clients/duc/client.config'; import { PermissionsModule } from '../permissions/permissions.module'; -const ducClient = new DucClient(); +const client = new DucClient(); const logger = { info: (...args) => args, @@ -18,12 +18,7 @@ describe('RolesService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), + ClientsModule.register([client.providerOptions]), PermissionsModule, ], controllers: [RolesController], diff --git a/src/modules/roles/roles.service.ts b/src/modules/roles/roles.service.ts index ed0b27b..84d070c 100644 --- a/src/modules/roles/roles.service.ts +++ b/src/modules/roles/roles.service.ts @@ -19,6 +19,7 @@ import { lastValueFrom } from 'rxjs'; import { PermissionsService } from '../permissions/permissions.service'; import { LanguageEnum } from 'src/utils/languages.enum'; import { RequestUser } from 'src/authentication/user.decorator'; +import { DucClient } from 'src/clients/duc/client.config'; interface GetRolesPermissionsName { id: string; @@ -37,7 +38,7 @@ export class RolesService { constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, - @Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc, + @Inject(DucClient.name) private readonly grpcClient: ClientGrpc, private permissionsService: PermissionsService, ) { this.logger = dadosferaLogger.logger; diff --git a/src/modules/termsOfUse/termsOfUse.module.ts b/src/modules/termsOfUse/termsOfUse.module.ts index 51c7d69..ed18956 100644 --- a/src/modules/termsOfUse/termsOfUse.module.ts +++ b/src/modules/termsOfUse/termsOfUse.module.ts @@ -6,17 +6,10 @@ import { TermsOfUseController } from './termsOfUse.controller'; import { TermsOfUseClientService } from './termsOfUse.service'; import { DucClient } from '../../clients/duc/client.config'; -const ducClient = new DucClient(); +const client = new DucClient(); @Module({ - imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), - ], + imports: [ClientsModule.register([client.providerOptions])], controllers: [TermsOfUseController], providers: [TermsOfUseClientService, DadosferaLogger], exports: [TermsOfUseClientService], diff --git a/src/modules/termsOfUse/termsOfUse.service.ts b/src/modules/termsOfUse/termsOfUse.service.ts index 9bbe552..c99908f 100644 --- a/src/modules/termsOfUse/termsOfUse.service.ts +++ b/src/modules/termsOfUse/termsOfUse.service.ts @@ -9,6 +9,7 @@ import { TermsOfUseGetTokenRequest, TermsOfUseAcceptRequest, } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages'; +import { DucClient } from 'src/clients/duc/client.config'; @Injectable() export class TermsOfUseClientService implements OnModuleInit { @@ -18,7 +19,7 @@ export class TermsOfUseClientService implements OnModuleInit { constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, - @Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc, + @Inject(DucClient.name) private readonly grpcClient: ClientGrpc, ) { this.logger = dadosferaLogger.logger; } diff --git a/src/modules/users/users.controller.spec.ts b/src/modules/users/users.controller.spec.ts index 04b4e31..42fafa8 100644 --- a/src/modules/users/users.controller.spec.ts +++ b/src/modules/users/users.controller.spec.ts @@ -7,7 +7,7 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { RolesModule } from '../roles/roles.module'; import { PermissionsModule } from '../permissions/permissions.module'; -const ducClient = new DucClient(); +const client = new DucClient(); const logger = { info: (...args) => args, @@ -19,12 +19,7 @@ describe('UsersController', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), + ClientsModule.register([client.providerOptions]), RolesModule, PermissionsModule, ], diff --git a/src/modules/users/users.module.ts b/src/modules/users/users.module.ts index 4d5b88b..38440ef 100644 --- a/src/modules/users/users.module.ts +++ b/src/modules/users/users.module.ts @@ -7,16 +7,11 @@ import { DucClient } from 'src/clients/duc/client.config'; import { RolesModule } from '../roles/roles.module'; import { PermissionsModule } from '../permissions/permissions.module'; -const ducClient = new DucClient(); +const client = new DucClient(); @Module({ imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), + ClientsModule.register([client.providerOptions]), RolesModule, PermissionsModule, ], diff --git a/src/modules/users/users.service.spec.ts b/src/modules/users/users.service.spec.ts index 22281ce..48138b7 100644 --- a/src/modules/users/users.service.spec.ts +++ b/src/modules/users/users.service.spec.ts @@ -7,7 +7,7 @@ import { DucClient } from 'src/clients/duc/client.config'; import { RolesModule } from '../roles/roles.module'; import { PermissionsModule } from '../permissions/permissions.module'; -const ducClient = new DucClient(); +const client = new DucClient(); const logger = { info: (...args) => args, @@ -19,12 +19,7 @@ describe('UsersService', () => { beforeEach(async () => { const module: TestingModule = await Test.createTestingModule({ imports: [ - ClientsModule.register([ - { - name: 'DUC_PACKAGE', - ...ducClient.config(), - }, - ]), + ClientsModule.register([client.providerOptions]), RolesModule, PermissionsModule, ], diff --git a/src/modules/users/users.service.ts b/src/modules/users/users.service.ts index 0fe40de..c12dd10 100644 --- a/src/modules/users/users.service.ts +++ b/src/modules/users/users.service.ts @@ -23,6 +23,7 @@ import { HIERARCHIES } from './hierarchies'; import { LanguageEnum } from 'src/utils/languages.enum'; import { UserByCustomer } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/entities'; import { EnrichErrorCode } from 'src/utils/ErrorBuilder'; +import { DucClient } from 'src/clients/duc/client.config'; @Injectable() export class UsersService implements OnModuleInit { @@ -33,7 +34,7 @@ export class UsersService implements OnModuleInit { constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, - @Inject('DUC_PACKAGE') private readonly grpcClient: ClientGrpc, + @Inject(DucClient.name) private readonly grpcClient: ClientGrpc, private rolesService: RolesService, ) { this.logger = dadosferaLogger.logger;