diff --git a/docsfera.json b/docsfera.json index 55212a4..e4ffcaa 100644 --- a/docsfera.json +++ b/docsfera.json @@ -2349,6 +2349,25 @@ "PipelinesV2" ] }, + "patch": { + "operationId": "PipelinesController_updateByPatch", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + }, + "tags": [ + "PipelinesV2" + ] + }, "delete": { "operationId": "PipelinesController_delete", "parameters": [], @@ -3216,7 +3235,7 @@ "info": { "title": "Maestro - stg2", "description": "Documentation for Maestro gateway", - "version": "29.11.2022 - 9:15", + "version": "0.0.0", "contact": {} }, "tags": [], diff --git a/package-lock.json b/package-lock.json index 94fbd56..4d5be85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.20.0", + "@dadosfera/protospack-v2": "3.21.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", @@ -1727,9 +1727,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.20.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.20.0.tgz", - "integrity": "sha512-eatmjfYmfD2Rqxi3L6/XDOqkImYc9PvChTTXO03RgiOk2IDEALvacPGp6j1bce2jfNMA2LoP3Bd1ugklecDPgg==", + "version": "3.21.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0.tgz", + "integrity": "sha512-gHIRLSto813lagxqcphO4/xc82g/QkCZRslRhj5tJK4V69f/ScviBHB4CCRBRW5Md2Lql6zWuTV5R0uADFIiZA==", "dependencies": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -12330,9 +12330,9 @@ } }, "@dadosfera/protospack-v2": { - "version": "3.20.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.20.0.tgz", - "integrity": "sha512-eatmjfYmfD2Rqxi3L6/XDOqkImYc9PvChTTXO03RgiOk2IDEALvacPGp6j1bce2jfNMA2LoP3Bd1ugklecDPgg==", + "version": "3.21.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0.tgz", + "integrity": "sha512-gHIRLSto813lagxqcphO4/xc82g/QkCZRslRhj5tJK4V69f/ScviBHB4CCRBRW5Md2Lql6zWuTV5R0uADFIiZA==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", diff --git a/package.json b/package.json index e936e51..f1df8c1 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.20.0", + "@dadosfera/protospack-v2": "3.21.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", diff --git a/src/main.ts b/src/main.ts index ec71f7f..b2c84c6 100644 --- a/src/main.ts +++ b/src/main.ts @@ -30,12 +30,8 @@ async function bootstrap() { await app.listen(3333); } -function configureSwagger(app: INestApplication) { - const date = new Date(); - const swaggerVersion = `${date.getDate()}.${ - date.getMonth() + 1 - }.${date.getFullYear()} - ${date.getHours()}:${date.getMinutes()}`; +function configureSwagger(app: INestApplication) { let branchName = ''; try { branchName = execSync('git rev-parse --abbrev-ref HEAD') @@ -50,7 +46,6 @@ function configureSwagger(app: INestApplication) { const config = new DocumentBuilder() .setTitle(swaggerTitle) .setDescription('Documentation for Maestro gateway') - .setVersion(swaggerVersion) .addBearerAuth( { type: 'http', scheme: 'bearer', bearerFormat: 'JWT' }, 'Authorization', diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index 8892007..c2d828a 100644 --- a/src/modules/pipelinesV2/pipelines.controller.ts +++ b/src/modules/pipelinesV2/pipelines.controller.ts @@ -12,6 +12,7 @@ import { UseFilters, HttpCode, HttpStatus, + Patch, } from '@nestjs/common'; import { ApiCreatedResponse, @@ -45,6 +46,10 @@ import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filt action = 'UPDATE'; break; + case 'PATCH': + action = 'UPDATE'; + break; + default: action = req.method; } @@ -175,20 +180,49 @@ export class PipelinesController { @Put('/:id') async update( + @Headers('Dadosfera-Lang') language, @Body() updatePipelineDto, @Param('id') id, @User() user: RequestUser, ) { - this.logger.info('PipelinesController - findOne', { user }); + this.logger.info('PipelinesController - update', { user }); const { info } = updatePipelineDto; delete updatePipelineDto.info; - const response = await this.pipelinesClientService.update({ - ...updatePipelineDto, - info, - id, + const { customer_id, customer_name, user_id, username } = user; + if (!language) language = 'en-us'; + + const metadata = PackTheMetadata({ + customer_id, + customer_name, + user_id, + username, + language, }); + const response = await this.pipelinesClientService.update( + { + ...updatePipelineDto, + info, + id, + }, + metadata, + ); + + this.logger.info('PipelinesController - update: OK', { user }); + return response; + } + + @Patch('/:id') + async updateByPatch( + @Headers('Dadosfera-Lang') language, + @Body() updatePipelineDto, + @Param('id') id, + @User() user: RequestUser, + ) { + this.logger.info('PipelinesController - patch', { user }); + const response = await this.update(language, updatePipelineDto, id, user); + this.logger.info('PipelinesController - patch: OK', { user }); return response; } diff --git a/src/modules/pipelinesV2/pipelines.service.ts b/src/modules/pipelinesV2/pipelines.service.ts index d0f76d6..7162314 100644 --- a/src/modules/pipelinesV2/pipelines.service.ts +++ b/src/modules/pipelinesV2/pipelines.service.ts @@ -140,11 +140,17 @@ export class PipelinesService implements OnModuleInit { return findOnePipelineResponse; } - async update(UpdatePipelineRequest: Messages.PipelineV2UpdateRequest) { + async update( + UpdatePipelineRequest: Messages.PipelineV2UpdateRequest, + metadata, + ) { this.logger.info('PipelinesClientService - Update'); const updatePipelineResponse = await lastValueFrom( - this.pipelineWriteService.PipelineV2Update(UpdatePipelineRequest), + this.pipelineWriteService.PipelineV2Update( + UpdatePipelineRequest, + metadata, + ), ); this.logger.info('Done');