diff --git a/docsfera.json b/docsfera.json index 8765bd2..73ab232 100644 --- a/docsfera.json +++ b/docsfera.json @@ -22,7 +22,7 @@ } }, { - "name": "host", + "name": "origin", "required": true, "in": "header", "schema": { @@ -74,7 +74,7 @@ } }, { - "name": "host", + "name": "origin", "required": true, "in": "header", "schema": { @@ -265,6 +265,14 @@ ], "type": "string" } + }, + { + "name": "origin", + "required": true, + "in": "header", + "schema": { + "type": "string" + } } ], "responses": { @@ -5771,6 +5779,9 @@ } }, "responses": { + "200": { + "description": "" + }, "201": { "description": "", "content": { diff --git a/src/modules/auth/auth.controller.ts b/src/modules/auth/auth.controller.ts index b31ada8..226036a 100644 --- a/src/modules/auth/auth.controller.ts +++ b/src/modules/auth/auth.controller.ts @@ -54,7 +54,6 @@ import { LanguageEnum } from 'src/utils/languages.enum'; import { Language } from 'src/decorators/language.decorator'; import { ApiInternalOnlyEndpoint } from 'src/decorators/swagger.decorator'; - @ApiTags('Auth') @ApiHeaders([{ name: 'dadosfera-lang', enum: LanguageEnum, required: false }]) @UseFilters(new GrpcToHttpExceptionFilter()) @@ -63,7 +62,6 @@ export class AuthController { logger: DadosferaLogger; redirectUrl: string; - constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, @@ -88,7 +86,7 @@ export class AuthController { async signIn( @Body() { username, password, totp }: AuthSignInReq, @Language() language: LanguageEnum, - @Headers('origin') origin: string + @Headers('origin') origin: string, ): Promise { this.logger.info('/auth - SignIn'); const frontHost = origin.replace(/^https?:\/\//, ''); @@ -103,15 +101,15 @@ export class AuthController { async refreshAccessToken( @Body() body: AuthRefreshAccessTokenReq, @Language() language: LanguageEnum, - @Headers('host') host: string + @Headers('origin') origin: string, ) { this.logger.info('/auth - RefreshAccessToken'); const { refreshToken, customerName: customer_name } = body; - + const frontHost = origin.replace(/^https?:\/\//, ''); const metadata = PackTheMetadata({ - customer_name, language, - host + customer_name, + custom_host: frontHost, }); return this.authClient.refreshAccessToken({ refreshToken }, metadata); @@ -185,16 +183,23 @@ export class AuthController { @ApiInternalOnlyEndpoint() @Post('confirm-reset-password') @HttpCode(HttpStatus.OK) - async confirmResetPassword(@Body() body: AuthConfirmResetPasswordRequest) { + async confirmResetPassword( + @Body() body: AuthConfirmResetPasswordRequest, + @Headers('origin') origin: string, + ) { this.logger.info('/auth - confirm-reset-password'); - + const frontHost = origin.replace(/^https?:\/\//, ''); + const metadata = PackTheMetadata({ custom_host: frontHost }); const { username, code, newPassword } = body; - return this.authClient.confirmResetPassword({ - username, - code, - newPassword, - }); + return this.authClient.confirmResetPassword( + { + username, + code, + newPassword, + }, + metadata, + ); } @ApiInternalOnlyEndpoint() @@ -360,18 +365,18 @@ export class AuthController { async blockUsers( @Language() language: LanguageEnum, @User() user: RequestUser, - @Body() body: BulkEditRequest + @Body() body: BulkEditRequest, ) { this.logger.info('blockUsers - Starting request'); - + try { const metadata = PackTheMetadata(user); this.logger.debug('Calling blockUsers service', { metadata: { access_token: metadata.get('access_token'), - language: metadata.get('language') - } + language: metadata.get('language'), + }, }); const result = await this.authClient.blockUsers(body.users, metadata); @@ -380,7 +385,7 @@ export class AuthController { } catch (error) { this.logger.error('blockUsers - Error', { error: error.message, - stack: error.stack + stack: error.stack, }); throw error; } @@ -393,7 +398,7 @@ export class AuthController { async unblockUsers( @Language() language: LanguageEnum, @User() user: RequestUser, - @Body() body: BulkEditRequest + @Body() body: BulkEditRequest, ) { this.logger.info('unblockUsers'); const metadata = PackTheMetadata(user); @@ -408,11 +413,11 @@ export class AuthController { async resetUsers( @Language() language: LanguageEnum, @User() user: RequestUser, - @Body() body: BulkEditRequest + @Body() body: BulkEditRequest, ) { this.logger.info('resetUsers'); const metadata = PackTheMetadata(user); - return this.authClient.resetUsers(body.users, metadata); + return this.authClient.resetUsers(body.users, metadata); } } diff --git a/src/modules/auth/auth.service.ts b/src/modules/auth/auth.service.ts index f99ff3a..5974954 100644 --- a/src/modules/auth/auth.service.ts +++ b/src/modules/auth/auth.service.ts @@ -113,19 +113,21 @@ export class AuthClientService implements OnModuleInit { ); } - async confirmResetPassword({ - username, - code, - newPassword, - }: AuthConfirmResetPasswordRequest) { + async confirmResetPassword( + { username, code, newPassword }: AuthConfirmResetPasswordRequest, + metadata: Metadata, + ) { this.logger.info('confirmResetPassword'); return lastValueFrom( - this.authService.AuthConfirmResetPassword({ - username, - code, - newPassword, - }), + this.authService.AuthConfirmResetPassword( + { + username, + code, + newPassword, + }, + metadata, + ), ); } @@ -170,15 +172,18 @@ export class AuthClientService implements OnModuleInit { ); } - async blockUsers(users: string[],metadata: Metadata): Promise { + async blockUsers( + users: string[], + metadata: Metadata, + ): Promise { this.logger.info('blockUsers - Service starting'); - + try { this.logger.debug('Calling BlockUser gRPC method', { metadata: { access_token: metadata.get('access_token'), - language: metadata.get('language') - } + language: metadata.get('language'), + }, }); const response = await lastValueFrom( @@ -196,26 +201,32 @@ export class AuthClientService implements OnModuleInit { } } - async unblockUsers(users: string[],metadata: Metadata): Promise { + async unblockUsers( + users: string[], + metadata: Metadata, + ): Promise { this.logger.info('unblockUsers'); return await lastValueFrom( this.authService.UnblockUser({ users }, metadata), ); } - async resetUsers(users: string[], metadata: Metadata): Promise { + async resetUsers( + users: string[], + metadata: Metadata, + ): Promise { this.logger.info('resetUsers'); - + try { this.logger.debug('Calling ResetUser gRPC method', { metadata: { access_token: metadata.get('access_token'), - language: metadata.get('language') - } + language: metadata.get('language'), + }, }); const response = await lastValueFrom( - this.authService.ResetUser({ users }, metadata) + this.authService.ResetUser({ users }, metadata), ); this.logger.info('resetUsers - Success', { response }); @@ -223,7 +234,7 @@ export class AuthClientService implements OnModuleInit { } catch (error) { this.logger.error('resetUsers - Error', { error: error.message, - stack: error.stack + stack: error.stack, }); throw error; }