From 118c2653a580f8c09f72f30f1a0bc64aa5774e67 Mon Sep 17 00:00:00 2001 From: marcos-silva-rodrigues Date: Wed, 8 Jan 2025 15:26:24 -0300 Subject: [PATCH] FEAT: add language by query --- src/modules/open-data/open-data.controller.ts | 13 ++++++++++--- src/modules/open-data/open-data.service.ts | 5 +++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/modules/open-data/open-data.controller.ts b/src/modules/open-data/open-data.controller.ts index ce2c3a5..a20a038 100644 --- a/src/modules/open-data/open-data.controller.ts +++ b/src/modules/open-data/open-data.controller.ts @@ -1,5 +1,5 @@ import DadosferaLogger from '@dadosfera/dadosfera-logs'; -import { Body, Controller, Inject, Post, UseFilters, UseGuards } from '@nestjs/common'; +import { Body, Controller, Inject, Param, Post, Query, UseFilters, UseGuards } from '@nestjs/common'; import { ApiCreatedResponse, ApiHeaders, ApiOkResponse, ApiTags } from '@nestjs/swagger'; import { ApiInternalOnlyController } from 'src/decorators/swagger.decorator'; import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filter'; @@ -9,6 +9,8 @@ import { Language } from 'src/decorators/language.decorator'; import { OpenDataService } from './open-data.service'; import { CreateUserOpenDataDTO, WordpressForm } from './dto/wordpres-form'; import { CORSGuard, SetOrigin } from 'src/decorators/set-origin.decorator'; +import { Metadata } from '@grpc/grpc-js'; +import { PackTheMetadata } from 'src/utils/ PackTheMetadata'; @Controller('open-data') @ApiInternalOnlyController() @@ -32,7 +34,9 @@ export class OpenDataController { @ApiOkResponse() async createUser( @Body() - body: WordpressForm + body: WordpressForm, + @Query() + language: string ) { this.logger.info('createUser for open data' + JSON.stringify({ body })); @@ -43,6 +47,9 @@ export class OpenDataController { const OPENDATA_CUSTOMER_ID = "bb4e9b26-d465-40ff-9345-e768ca69a55e"; const roles = ["4d621501-5ea4-444b-b46e-1a009f3132ff"]; + const metadata = PackTheMetadata({ + language, + }); const data = {} @@ -68,7 +75,7 @@ export class OpenDataController { this.logger.info('user request' + JSON.stringify({ user, roles, customer: OPENDATA_CUSTOMER_ID })); try { - const response = await this.openDataService.createUser(OPENDATA_CUSTOMER_ID, user, roles); + const response = await this.openDataService.createUser(OPENDATA_CUSTOMER_ID, user, roles, metadata); this.logger.info('user created with sucessfull data' + JSON.stringify(response)); return "success" } catch (e) { diff --git a/src/modules/open-data/open-data.service.ts b/src/modules/open-data/open-data.service.ts index 8f37e7f..317b8e3 100644 --- a/src/modules/open-data/open-data.service.ts +++ b/src/modules/open-data/open-data.service.ts @@ -6,6 +6,7 @@ import { UsersProtoService } from '@dadosfera/protospack-v2/dist/lib/Duc/interfa import { DucClient } from '../duc/client.config'; import { ClientGrpc } from '@nestjs/microservices'; import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc'; +import { Metadata } from '@grpc/grpc-js'; @Injectable() export class OpenDataService implements OnModuleInit { @@ -28,7 +29,7 @@ export class OpenDataService implements OnModuleInit { } - async createUser(customerId: string, data: CreateUserOpenDataDTO, roleIds: string[]) { + async createUser(customerId: string, data: CreateUserOpenDataDTO, roleIds: string[], metadata: Metadata) { const body = { email: data.email, name: data.firstName + " " + data.lastName, @@ -40,7 +41,7 @@ export class OpenDataService implements OnModuleInit { try { await lastValueFrom( - this.usersClientService.SimpleUserCreate(body), + this.usersClientService.SimpleUserCreate(body, metadata), ); return "User created"; } catch(err) {