diff --git a/package-lock.json b/package-lock.json index e149c54..6126ab4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "passport-hubspot-oauth2": "^1.0.3", "passport-mailchimp": "^1.1.0", "protospack": "2.5.1", - "protospack-v2": "1.1.1", + "protospack-v2": "3.0.0", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.5.5", @@ -8997,9 +8997,9 @@ } }, "node_modules/protospack-v2": { - "version": "1.1.1", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-1.1.1.tgz", - "integrity": "sha512-BqIJSORaqauAT9kF4/cP/uJNCyoT3KxkVkamd7SWARMxnywFB/mpYJg/VDGcyvVOAU4IOLyjnXkrvRuylE0Q2w==", + "version": "3.0.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-3.0.0.tgz", + "integrity": "sha512-GEFbf8+vVaq/lA28K4nFf7bOSlghQJn/aeVnrYzh4YJUaa1+ccNz3uQs9p5OGbfjt2u/fFE5rHGEBUtueAA8KA==", "dependencies": { "rxjs": "^7.5.5", "ts-proto": "^1.112.2" @@ -17198,9 +17198,9 @@ } }, "protospack-v2": { - "version": "1.1.1", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-1.1.1.tgz", - "integrity": "sha512-BqIJSORaqauAT9kF4/cP/uJNCyoT3KxkVkamd7SWARMxnywFB/mpYJg/VDGcyvVOAU4IOLyjnXkrvRuylE0Q2w==", + "version": "3.0.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/protospack-v2/-/protospack-v2-3.0.0.tgz", + "integrity": "sha512-GEFbf8+vVaq/lA28K4nFf7bOSlghQJn/aeVnrYzh4YJUaa1+ccNz3uQs9p5OGbfjt2u/fFE5rHGEBUtueAA8KA==", "requires": { "rxjs": "^7.5.5", "ts-proto": "^1.112.2" diff --git a/package.json b/package.json index a8030ea..c3e5c80 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "passport-hubspot-oauth2": "^1.0.3", "passport-mailchimp": "^1.1.0", "protospack": "2.5.1", - "protospack-v2": "1.1.1", + "protospack-v2": "3.0.0", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.5.5", diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index 3cbd01c..664dcbb 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -1,35 +1,23 @@ 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 { AuthProtoService as AuthServiceInterface } from 'protospack-v2/dist/lib/Duc/interfaces/write-service'; import { - AuthGetPublicKeysResponse, AuthSignInRequest, - AuthSignInResponse, AuthRefreshAccessTokenRequest, - AuthRefreshAccessTokenResponse, AuthEnableTotpMfaRequest, - AuthEnableTotpMfaResponse, AuthDisableTotpMfaRequest, - AuthDisableTotpMfaResponse, AuthDismissTotpMfaRequest, - AuthDismissTotpMfaResponse, AuthVerifyTotpMfaRequest, - AuthVerifyTotpMfaResponse, AuthChangePasswordRequest, - AuthChangePasswordResponse, AuthResetPasswordRequest, - AuthResetPasswordResponse, AuthVerifyResetPasswordCodeRequest, - AuthVerifyResetPasswordCodeResponse, AuthConfirmResetPasswordRequest, - AuthConfirmResetPasswordResponse, } from 'protospack-v2/dist/lib/Duc/interfaces/messages'; -import grpcHandler from '../../utils/grpcHandler'; - @Injectable() export class AuthClientService implements OnModuleInit { logger: any; @@ -52,15 +40,13 @@ export class AuthClientService implements OnModuleInit { async getPublicKeys() { this.logger.info('GetPublicKeys'); - return grpcHandler( - this.authService.AuthGetPublicKeys({}), - ); + return lastValueFrom(this.authService.AuthGetPublicKeys({})); } async signIn({ username, password, totp }: AuthSignInRequest) { this.logger.info('SignIn'); - return grpcHandler( + return lastValueFrom( this.authService.AuthSignIn({ username, password, totp }), ); } @@ -68,7 +54,7 @@ export class AuthClientService implements OnModuleInit { async refreshAccessToken({ refreshToken }: AuthRefreshAccessTokenRequest) { this.logger.info('RefreshAccessToken'); - return grpcHandler( + return lastValueFrom( this.authService.AuthRefreshAccessToken({ refreshToken }), ); } @@ -80,7 +66,7 @@ export class AuthClientService implements OnModuleInit { }: AuthChangePasswordRequest) { this.logger.info('ChangePassword'); - return grpcHandler( + return lastValueFrom( this.authService.AuthChangePassword({ accessToken, oldPassword, @@ -92,9 +78,7 @@ export class AuthClientService implements OnModuleInit { async resetPassword({ username }: AuthResetPasswordRequest) { this.logger.info('resetPassword'); - return grpcHandler( - this.authService.AuthResetPassword({ username }), - ); + return lastValueFrom(this.authService.AuthResetPassword({ username })); } async verifyResetPasswordCode({ @@ -103,7 +87,7 @@ export class AuthClientService implements OnModuleInit { }: AuthVerifyResetPasswordCodeRequest) { this.logger.info('verifyResetPasswordCode'); - return grpcHandler( + return lastValueFrom( this.authService.AuthVerifyResetPasswordCode({ username, code }), ); } @@ -115,7 +99,7 @@ export class AuthClientService implements OnModuleInit { }: AuthConfirmResetPasswordRequest) { this.logger.info('confirmResetPassword'); - return grpcHandler( + return lastValueFrom( this.authService.AuthConfirmResetPassword({ username, code, @@ -127,7 +111,7 @@ export class AuthClientService implements OnModuleInit { async enableTotpMFA({ accessToken, password }: AuthEnableTotpMfaRequest) { this.logger.info('enableTotpMFA'); - return grpcHandler( + return lastValueFrom( this.authService.AuthEnableTotpMfa({ accessToken, password }), ); } @@ -135,7 +119,7 @@ export class AuthClientService implements OnModuleInit { async disableTotpMFA({ accessToken, password }: AuthDisableTotpMfaRequest) { this.logger.info('disableTotpMFA'); - return grpcHandler( + return lastValueFrom( this.authService.AuthDisableTotpMfa({ accessToken, password }), ); } @@ -143,15 +127,13 @@ export class AuthClientService implements OnModuleInit { async dismissTotpMFA({ accessToken }: AuthDismissTotpMfaRequest) { this.logger.info('dismissTotpMFA'); - return grpcHandler( - this.authService.AuthDismissTotpMfa({ accessToken }), - ); + return lastValueFrom(this.authService.AuthDismissTotpMfa({ accessToken })); } async verifyTotp({ accessToken, totp }: AuthVerifyTotpMfaRequest) { this.logger.info('disableTotpMFA'); - return grpcHandler( + return lastValueFrom( this.authService.AuthVerifyTotpMfa({ accessToken, totp }), ); } diff --git a/src/modules/permissions/permissions.service.ts b/src/modules/permissions/permissions.service.ts index 91fda6a..2c0ec54 100644 --- a/src/modules/permissions/permissions.service.ts +++ b/src/modules/permissions/permissions.service.ts @@ -5,15 +5,12 @@ import { Injectable, } from '@nestjs/common'; import { ClientGrpc } from '@nestjs/microservices'; +import { lastValueFrom } from 'rxjs'; import { ProtoServices } from 'protospack-v2/dist/lib/Duc'; import { PermissionsProtoService as PermissionsServiceInterface } from 'protospack-v2/dist/lib/Duc/interfaces/write-service'; -import { - Empty, - InjectPermissionsRequest, -} from 'protospack-v2/dist/lib/Duc/interfaces/messages'; +import { InjectPermissionsRequest } from 'protospack-v2/dist/lib/Duc/interfaces/messages'; import { DadosferaLogger } from 'dadosfera-logs'; -import grpcHandler from '../../utils/grpcHandler'; import { Permissions } from '../../authentication/permissions.enum'; import ErrorBuilder from '../../utils/ErrorBuilder'; @@ -66,7 +63,7 @@ export class PermissionsClientService async injectPermissions({ permissions }: InjectPermissionsRequest) { this.logger.info('InjectPermissions'); - return grpcHandler( + return lastValueFrom( this.permissionsService.InjectPermissions({ permissions }), ); } diff --git a/src/utils/grpcHandler.ts b/src/utils/grpcHandler.ts deleted file mode 100644 index 0e7d77b..0000000 --- a/src/utils/grpcHandler.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Logger } from '@nestjs/common'; -import { RpcException } from '@nestjs/microservices'; -import { from } from 'rxjs'; - -import ErrorBuilder from './ErrorBuilder'; - -const logger = new Logger(); - -export default async function grpcHandler(method: Promise) { - return new Promise((resolve, reject) => { - from(method).subscribe({ - next: resolve, - error: reject, - complete: () => logger.log('done'), - }); - }).catch((err: RpcException) => { - throw new ErrorBuilder(err); - }); -}