From 9439f13b7bab556cd70d2d83c67273e8ad6b3416 Mon Sep 17 00:00:00 2001 From: marcos-silva-rodrigues Date: Fri, 21 Feb 2025 17:31:49 -0300 Subject: [PATCH 1/7] UPdATE: new displayName prop --- docsfera.json | 4 ++++ package-lock.json | 9 ++++----- package.json | 2 +- src/modules/auth/dtos/login.ts | 2 ++ 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/docsfera.json b/docsfera.json index fcafe66..9e32897 100644 --- a/docsfera.json +++ b/docsfera.json @@ -5643,6 +5643,9 @@ "name": { "type": "string" }, + "displayName": { + "type": "string" + }, "tier": { "type": "string" }, @@ -5663,6 +5666,7 @@ "modules", "id", "name", + "displayName", "tier", "scheduleLimit", "links", diff --git a/package-lock.json b/package-lock.json index 5c133d6..7b1e68b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@aws-sdk/client-secrets-manager": "^3.414.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.37.0-beta.7", + "@dadosfera/protospack-v2": "3.37.0-beta.8", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", @@ -1298,10 +1298,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.37.0-beta.7", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.37.0-beta.7.tgz", - "integrity": "sha512-XGaDw6mICM1/qI0ZfQZaWpRHmAaOi3ufIUmrpfsTiW40oeWGW+DLLAsmbACgt34j4cpJ5Yt0AURsXagtmUgBmw==", - "license": "ISC", + "version": "3.37.0-beta.8", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.37.0-beta.8.tgz", + "integrity": "sha512-lG87/2i0mGxEYqwALWt8MvNqcMGYAU7YJqD/DESBv5h8OqL3qwdXW7Q8TC3DhktztPnj3MAeCAo5yUxEbm4ozA==", "dependencies": { "@grpc/grpc-js": "^1.9.3", "rxjs": "^7.5.5" diff --git a/package.json b/package.json index 6d6edf0..af8df71 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@aws-sdk/client-secrets-manager": "^3.414.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.37.0-beta.7", + "@dadosfera/protospack-v2": "3.37.0-beta.8", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", diff --git a/src/modules/auth/dtos/login.ts b/src/modules/auth/dtos/login.ts index 6e87606..a21e6cc 100644 --- a/src/modules/auth/dtos/login.ts +++ b/src/modules/auth/dtos/login.ts @@ -72,6 +72,8 @@ export class AuthCustomer { @ApiProperty() name: string; @ApiProperty() + displayName: string; + @ApiProperty() tier: string; @ApiProperty() scheduleLimit: string; From 0efd5cc257bf72b861d248c9edfec8d45ab98110 Mon Sep 17 00:00:00 2001 From: aldemirneto Date: Sat, 22 Feb 2025 07:23:34 -0300 Subject: [PATCH 2/7] FEAT: Changing protospack version PII enabling --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d6edf0..b190de8 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@aws-sdk/client-secrets-manager": "^3.414.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.37.0-beta.7", + "@dadosfera/protospack-v2": "3.37.0-beta.10", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", From 03536a2180fde084b5e0ba3557dc4c8d7aca3770 Mon Sep 17 00:00:00 2001 From: aldemirneto Date: Sat, 22 Feb 2025 07:28:30 -0300 Subject: [PATCH 3/7] FEAT: ensuring compatibility with ^ in the version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b190de8..3142dd6 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@aws-sdk/client-secrets-manager": "^3.414.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.37.0-beta.10", + "@dadosfera/protospack-v2": "^3.37.0-beta.10", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", From 6d6cf590ee0824c5052d95d03c47dd7cbb9d14d1 Mon Sep 17 00:00:00 2001 From: aldemirneto Date: Sat, 22 Feb 2025 07:39:41 -0300 Subject: [PATCH 4/7] FEAT: fixing package-lock --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5c133d6..31af08d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@aws-sdk/client-secrets-manager": "^3.414.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "3.37.0-beta.7", + "@dadosfera/protospack-v2": "^3.37.0-beta.10 ", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", @@ -1298,9 +1298,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.37.0-beta.7", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.37.0-beta.7.tgz", - "integrity": "sha512-XGaDw6mICM1/qI0ZfQZaWpRHmAaOi3ufIUmrpfsTiW40oeWGW+DLLAsmbACgt34j4cpJ5Yt0AURsXagtmUgBmw==", + "version": "3.37.0-beta.10", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.37.0-beta.10.tgz", + "integrity": "sha512-nKSu9VpOPFSTeX0yN4aEY0HjvGxgbLPYXl217NHgLm+a/+i01USDaxjwIOqP5hhDvhnMNaiCq5awiQTYbhF/7A==", "license": "ISC", "dependencies": { "@grpc/grpc-js": "^1.9.3", diff --git a/package.json b/package.json index 3142dd6..5a9463a 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@aws-sdk/client-secrets-manager": "^3.414.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", "@dadosfera/protospack": "2.5.3", - "@dadosfera/protospack-v2": "^3.37.0-beta.10", + "@dadosfera/protospack-v2": "^3.37.0-beta.10 ", "@grpc/grpc-js": "^1.9.3", "@grpc/proto-loader": "^0.7.9", "@nestjs/cli": "^9.5.0", From 38fc9f521b52dd54786031f601de25e2bf6b6c75 Mon Sep 17 00:00:00 2001 From: marcos-silva-rodrigues Date: Tue, 25 Feb 2025 17:10:39 -0300 Subject: [PATCH 5/7] FIX: add ip range and domain list to route /open-data --- maestro/templates/ingress-private.yaml | 28 +++++++++++++++++++ src/modules/open-data/open-data.controller.ts | 12 ++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 maestro/templates/ingress-private.yaml diff --git a/maestro/templates/ingress-private.yaml b/maestro/templates/ingress-private.yaml new file mode 100644 index 0000000..4d030b8 --- /dev/null +++ b/maestro/templates/ingress-private.yaml @@ -0,0 +1,28 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + nginx.ingress.kubernetes.io/whitelist-source-range: "69.49.241.124/32" # hostgator ip + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/server-snippet: | + underscores_in_headers on; + ignore_invalid_headers on; + + generation: 1 + labels: + app: maestro + name: maestro + namespace: applications +spec: + ingressClassName: nginx + rules: + - host: {{ .Values.hostname }} + http: + paths: + - backend: + service: + name: maestro + port: + number: {{ .Values.ingress.port }} + path: /open-data/sharing-ocean-data + pathType: Prefix diff --git a/src/modules/open-data/open-data.controller.ts b/src/modules/open-data/open-data.controller.ts index 65172e0..3a6ccff 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, ForbiddenException, Header, HttpCode, Inject, Param, Post, Query, Req, UseFilters, UseGuards, UseInterceptors } from '@nestjs/common'; +import { Body, Controller, ForbiddenException, Header, HttpCode, HttpException, Inject, Param, Post, Query, Req, UseFilters, UseGuards, UseInterceptors } 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'; @@ -43,14 +43,20 @@ export class OpenDataController { ) { this.logger.info('createUser for open data'); - this.logger.info('user-agent', request.headers['user-agent']); + this.logger.info('user-agent', request.headers); + + const origin = request.headers['origin']; + const corslist = ["https://devsbm.dadosfera.io", "https://sharingoceandata.com"]; + if (!corslist.includes(origin)) { + throw new ForbiddenException(); + } const OPENDATA_CUSTOMER_ID = process.env.OPEN_CUSTOMER_ID; const OPENDATA_GROUP_ID = process.env.OPEN_GROUP_ID; const roles = [process.env.OPEN_GROUP_ID]; const metadata = PackTheMetadata({ language: language || 'en-us' - }); + }); const data = {} From 5d014f4669d7da201abe63b7ebc986b2d85c537d Mon Sep 17 00:00:00 2001 From: marcos-silva-rodrigues Date: Wed, 26 Feb 2025 15:57:07 -0300 Subject: [PATCH 6/7] FIX: correct ip --- maestro/templates/ingress-private.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maestro/templates/ingress-private.yaml b/maestro/templates/ingress-private.yaml index 4d030b8..97708bc 100644 --- a/maestro/templates/ingress-private.yaml +++ b/maestro/templates/ingress-private.yaml @@ -2,7 +2,7 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: - nginx.ingress.kubernetes.io/whitelist-source-range: "69.49.241.124/32" # hostgator ip + nginx.ingress.kubernetes.io/whitelist-source-range: "69.49.241.121/32" # hostgator ip nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/server-snippet: | underscores_in_headers on; @@ -11,7 +11,7 @@ metadata: generation: 1 labels: app: maestro - name: maestro + name: open-data namespace: applications spec: ingressClassName: nginx From 5c98cc1748f7af54c75161815fd1fdde2e7622ff Mon Sep 17 00:00:00 2001 From: marcos-silva-rodrigues Date: Wed, 26 Feb 2025 17:13:57 -0300 Subject: [PATCH 7/7] FIX: cors list --- docsfera.json | 8 ++++++++ src/modules/open-data/open-data.controller.ts | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docsfera.json b/docsfera.json index fcafe66..7f133fe 100644 --- a/docsfera.json +++ b/docsfera.json @@ -5489,6 +5489,14 @@ "schema": { "type": "string" } + }, + { + "name": "origin", + "required": true, + "in": "header", + "schema": { + "type": "string" + } } ], "responses": { diff --git a/src/modules/open-data/open-data.controller.ts b/src/modules/open-data/open-data.controller.ts index 3a6ccff..b8951ed 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, ForbiddenException, Header, HttpCode, HttpException, Inject, Param, Post, Query, Req, UseFilters, UseGuards, UseInterceptors } from '@nestjs/common'; +import { Body, Controller, ForbiddenException, Header, Headers, HttpCode, HttpException, Inject, Param, Post, Query, Req, Res, UseFilters, UseGuards, UseInterceptors } 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'; @@ -40,14 +40,14 @@ export class OpenDataController { language: string, @Req() request: Request, + @Headers('origin') + origin: string ) { - this.logger.info('createUser for open data'); + this.logger.info('createUser for open data' + JSON.stringify(request.headers)); - this.logger.info('user-agent', request.headers); - - const origin = request.headers['origin']; const corslist = ["https://devsbm.dadosfera.io", "https://sharingoceandata.com"]; if (!corslist.includes(origin)) { + this.logger.info('block request by cors list: '+ origin); throw new ForbiddenException(); }