From dcbcc5ff366829969c7f3a8667b7680f428dd49a Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Wed, 23 Nov 2022 13:02:32 -0300 Subject: [PATCH 1/6] FEAT: add patch method on pipeline controller --- src/modules/pipelinesV2/pipelines.controller.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index 8892007..c8becef 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, @@ -179,7 +180,7 @@ export class PipelinesController { @Param('id') id, @User() user: RequestUser, ) { - this.logger.info('PipelinesController - findOne', { user }); + this.logger.info('PipelinesController - update', { user }); const { info } = updatePipelineDto; delete updatePipelineDto.info; @@ -192,6 +193,18 @@ export class PipelinesController { return response; } + @Patch('/:id') + async patch( + @Body() updatePipelineDto, + @Param('id') id, + @User() user: RequestUser, + ) { + this.logger.info('PipelinesController - patch', { user }); + const response = await this.update(updatePipelineDto, id, user); + this.logger.info('PipelinesController - patch: OK', { user }); + return response; + } + @Delete(':id') @ApiNoContentResponse() @HttpCode(HttpStatus.NO_CONTENT) From 2df69fba84a70603e18ff3d00b4554123d88e488 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Wed, 23 Nov 2022 13:35:02 -0300 Subject: [PATCH 2/6] FEAT: add log on update --- src/modules/pipelinesV2/pipelines.controller.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index c8becef..cd96118 100644 --- a/src/modules/pipelinesV2/pipelines.controller.ts +++ b/src/modules/pipelinesV2/pipelines.controller.ts @@ -190,6 +190,7 @@ export class PipelinesController { id, }); + this.logger.info('PipelinesController - update: OK', { user }); return response; } From 34a0eb40a72783d6e48e575051e88b5feef7a9b2 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Wed, 23 Nov 2022 14:58:17 -0300 Subject: [PATCH 3/6] DOCS: docsfera patch --- docsfera.json | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/docsfera.json b/docsfera.json index 3642ccc..c0155fe 100644 --- a/docsfera.json +++ b/docsfera.json @@ -2351,6 +2351,25 @@ "PipelinesV2" ] }, + "patch": { + "operationId": "PipelinesController_patch", + "parameters": [], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + }, + "tags": [ + "PipelinesV2" + ] + }, "delete": { "operationId": "PipelinesController_delete", "parameters": [], @@ -3216,9 +3235,9 @@ } }, "info": { - "title": "Maestro - feat/incremental-table", + "title": "Maestro - feature/update-pipeline-cron", "description": "Documentation for Maestro gateway", - "version": "16.11.2022 - 16:46", + "version": "23.11.2022 - 14:48", "contact": {} }, "tags": [], From 04ca17a69d6b989205e45e39468069d266b6f4fc Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Fri, 25 Nov 2022 11:37:34 -0300 Subject: [PATCH 4/6] FEAT: update protospack --- docsfera.json | 4 +-- package-lock.json | 14 ++++----- package.json | 2 +- .../pipelinesV2/pipelines.controller.ts | 30 ++++++++++++++----- src/modules/pipelinesV2/pipelines.service.ts | 10 +++++-- 5 files changed, 41 insertions(+), 19 deletions(-) diff --git a/docsfera.json b/docsfera.json index c0155fe..a621697 100644 --- a/docsfera.json +++ b/docsfera.json @@ -2352,7 +2352,7 @@ ] }, "patch": { - "operationId": "PipelinesController_patch", + "operationId": "PipelinesController_updateByPatch", "parameters": [], "responses": { "200": { @@ -3237,7 +3237,7 @@ "info": { "title": "Maestro - feature/update-pipeline-cron", "description": "Documentation for Maestro gateway", - "version": "23.11.2022 - 14:48", + "version": "25.11.2022 - 11:37", "contact": {} }, "tags": [], diff --git a/package-lock.json b/package-lock.json index 94fbd56..5961d9f 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-beta.1", "@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-beta.1", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0-beta.1.tgz", + "integrity": "sha512-rni4s3TDo9ZptxI2vsYssD2OjTZS2TGM1lPP1dTjgYdBnBAsCLKFZd9hjtDWTT19/PNWrBzLMljf30QlY0z7hg==", "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-beta.1", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0-beta.1.tgz", + "integrity": "sha512-rni4s3TDo9ZptxI2vsYssD2OjTZS2TGM1lPP1dTjgYdBnBAsCLKFZd9hjtDWTT19/PNWrBzLMljf30QlY0z7hg==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", diff --git a/package.json b/package.json index e936e51..f87a07a 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-beta.1", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index cd96118..f729658 100644 --- a/src/modules/pipelinesV2/pipelines.controller.ts +++ b/src/modules/pipelinesV2/pipelines.controller.ts @@ -176,6 +176,7 @@ export class PipelinesController { @Put('/:id') async update( + @Headers('Dadosfera-Lang') language, @Body() updatePipelineDto, @Param('id') id, @User() user: RequestUser, @@ -184,24 +185,39 @@ export class PipelinesController { 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 patch( + @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(updatePipelineDto, id, 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'); From 449a1abb63926dca0222463bf4b8612b5a532c97 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Fri, 25 Nov 2022 12:11:51 -0300 Subject: [PATCH 5/6] FEAT: update auth guard to patch method --- docsfera.json | 2 +- src/modules/pipelinesV2/pipelines.controller.ts | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docsfera.json b/docsfera.json index a621697..c2c7460 100644 --- a/docsfera.json +++ b/docsfera.json @@ -3237,7 +3237,7 @@ "info": { "title": "Maestro - feature/update-pipeline-cron", "description": "Documentation for Maestro gateway", - "version": "25.11.2022 - 11:37", + "version": "25.11.2022 - 12:7", "contact": {} }, "tags": [], diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index f729658..c2d828a 100644 --- a/src/modules/pipelinesV2/pipelines.controller.ts +++ b/src/modules/pipelinesV2/pipelines.controller.ts @@ -46,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; } @@ -209,7 +213,7 @@ export class PipelinesController { return response; } - @Patch(':id') + @Patch('/:id') async updateByPatch( @Headers('Dadosfera-Lang') language, @Body() updatePipelineDto, From b01c4c6c2513b50b1c112725951e37fe066cf056 Mon Sep 17 00:00:00 2001 From: Anderson Feitosa Date: Fri, 25 Nov 2022 13:00:09 -0300 Subject: [PATCH 6/6] UPGRADE: change protospack version --- docsfera.json | 2 +- package-lock.json | 14 +++++++------- package.json | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docsfera.json b/docsfera.json index c2c7460..16a63e0 100644 --- a/docsfera.json +++ b/docsfera.json @@ -3237,7 +3237,7 @@ "info": { "title": "Maestro - feature/update-pipeline-cron", "description": "Documentation for Maestro gateway", - "version": "25.11.2022 - 12:7", + "version": "25.11.2022 - 12:58", "contact": {} }, "tags": [], diff --git a/package-lock.json b/package-lock.json index 5961d9f..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.21.0-beta.1", + "@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.21.0-beta.1", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0-beta.1.tgz", - "integrity": "sha512-rni4s3TDo9ZptxI2vsYssD2OjTZS2TGM1lPP1dTjgYdBnBAsCLKFZd9hjtDWTT19/PNWrBzLMljf30QlY0z7hg==", + "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.21.0-beta.1", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.21.0-beta.1.tgz", - "integrity": "sha512-rni4s3TDo9ZptxI2vsYssD2OjTZS2TGM1lPP1dTjgYdBnBAsCLKFZd9hjtDWTT19/PNWrBzLMljf30QlY0z7hg==", + "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 f87a07a..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.21.0-beta.1", + "@dadosfera/protospack-v2": "3.21.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7",