From acd4dafc5776a7356de60fd6e5029f0f83239bd8 Mon Sep 17 00:00:00 2001 From: Victor Radael Date: Fri, 12 Aug 2022 10:38:20 -0300 Subject: [PATCH] Update feature --- package-lock.json | 176 ++++++++++-------- package.json | 2 +- .../connection-test.service.ts | 4 +- .../connection-test/dto/connection-test.ts | 2 +- src/modules/connection/client.service.ts | 5 +- .../connection/connection.controller.ts | 30 +-- src/modules/connection/dtos/connection.ts | 93 ++++++++- .../connection/dtos/create-connection.ts | 33 ---- .../connection/dtos/update-connection.ts | 24 --- src/modules/inputs/inputs.controller.ts | 11 +- .../network-config/dto/network-config.ts | 20 +- .../network-config-client.config.ts | 6 +- 12 files changed, 229 insertions(+), 177 deletions(-) delete mode 100644 src/modules/connection/dtos/create-connection.ts delete mode 100644 src/modules/connection/dtos/update-connection.ts diff --git a/package-lock.json b/package-lock.json index 9cf4444..92244a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "license": "UNLICENSED", "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", - "@dadosfera/protospack-v2": "3.10.5", + "@dadosfera/dadosfera-logs": "^1.0.0-beta.3", + "@dadosfera/protospack-v2": "3.11.2", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", @@ -1225,12 +1226,11 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.1", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" }, @@ -1695,6 +1695,15 @@ "node": ">=12" } }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "node_modules/@dabh/diagnostics": { "version": "2.0.3", "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", @@ -1716,9 +1725,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.10.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.10.2.tgz", - "integrity": "sha512-21rbav6VXVo+7Io82/O+350DLmf8ONQw8kkG728F7ySD9uEosJgTz3hzZFpTmVuSew822zS+iHcpGJBpVmq49w==", + "version": "3.11.2", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.11.2.tgz", + "integrity": "sha512-Lwrf/AvkxkWXDmFLhlneXPedTkHeKZz4hCyT11Q9UiyAEl3hdqKzSnXOwSLbSpqbG3XD6GmIundgQtvf72k1Eg==", "dependencies": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -2261,12 +2270,11 @@ } }, "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.1", "dev": true, + "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" }, @@ -2280,10 +2288,9 @@ "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.13", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -3494,10 +3501,9 @@ } }, "node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.7.1", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3910,6 +3916,14 @@ ], "license": "MIT" }, + "node_modules/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -5938,17 +5952,6 @@ "version": "1.0.0", "license": "ISC" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "license": "MIT" @@ -6079,10 +6082,9 @@ "license": "BSD-2-Clause" }, "node_modules/globals": { - "version": "13.17.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.15.0", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -8681,6 +8683,19 @@ "node": ">= 0.4.0" } }, + "node_modules/passport-forcedotcom/node_modules/passport-oauth2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.3.0.tgz", + "integrity": "sha512-AisRXcC7Vx8WSx5C9O8UNib/Y91/IOphs5tImlOMs7T+QTEJdmS+OxgXSskbnDdGQT/8mU5T3yMT6136rBjYXg==", + "dependencies": { + "oauth": "0.9.x", + "passport-strategy": "1.x.x", + "uid2": "0.0.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, "node_modules/passport-google-oauth20": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz", @@ -8751,16 +8766,22 @@ } }, "node_modules/passport-oauth2": { - "version": "1.3.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/passport-oauth2/-/passport-oauth2-1.3.0.tgz", - "integrity": "sha512-AisRXcC7Vx8WSx5C9O8UNib/Y91/IOphs5tImlOMs7T+QTEJdmS+OxgXSskbnDdGQT/8mU5T3yMT6136rBjYXg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.1.tgz", + "integrity": "sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==", "dependencies": { + "base64url": "3.x.x", "oauth": "0.9.x", "passport-strategy": "1.x.x", - "uid2": "0.0.x" + "uid2": "0.0.x", + "utils-merge": "1.x.x" }, "engines": { "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" } }, "node_modules/passport-strategy": { @@ -9335,9 +9356,8 @@ } }, "node_modules/rxjs": { - "version": "7.5.6", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", + "version": "7.5.5", + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } @@ -11935,12 +11955,10 @@ }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.1", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" } @@ -12237,6 +12255,16 @@ "dev": true, "requires": { "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } } }, "@dabh/diagnostics": { @@ -12260,9 +12288,9 @@ } }, "@dadosfera/protospack-v2": { - "version": "3.10.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.10.2.tgz", - "integrity": "sha512-21rbav6VXVo+7Io82/O+350DLmf8ONQw8kkG728F7ySD9uEosJgTz3hzZFpTmVuSew822zS+iHcpGJBpVmq49w==", + "version": "3.11.2", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.11.2.tgz", + "integrity": "sha512-Lwrf/AvkxkWXDmFLhlneXPedTkHeKZz4hCyT11Q9UiyAEl3hdqKzSnXOwSLbSpqbG3XD6GmIundgQtvf72k1Eg==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -12650,12 +12678,10 @@ }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "version": "0.3.1", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.0.0", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" } @@ -12667,9 +12693,7 @@ "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "version": "0.3.13", "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -13492,9 +13516,7 @@ } }, "acorn": { - "version": "8.8.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "version": "8.7.1", "dev": true }, "acorn-globals": { @@ -13774,6 +13796,11 @@ "version": "1.5.1", "dev": true }, + "base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==" + }, "basic-auth": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", @@ -15177,13 +15204,6 @@ "fs.realpath": { "version": "1.0.0" }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, "function-bind": { "version": "1.1.1" }, @@ -15262,9 +15282,7 @@ "dev": true }, "globals": { - "version": "13.17.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/globals/-/globals-13.17.0.tgz", - "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", + "version": "13.15.0", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -17005,6 +17023,18 @@ "integrity": "sha512-raDRQqBJtTEHDxLkxLG+9sYE0xpPy9PqriMPbMy9jmpIcU2+mOq9PgczvUPrU8UjfcZp3gqkDHqujcUWiGOVNQ==", "requires": { "passport-oauth2": "1.3.x" + }, + "dependencies": { + "passport-oauth2": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.3.0.tgz", + "integrity": "sha512-AisRXcC7Vx8WSx5C9O8UNib/Y91/IOphs5tImlOMs7T+QTEJdmS+OxgXSskbnDdGQT/8mU5T3yMT6136rBjYXg==", + "requires": { + "oauth": "0.9.x", + "passport-strategy": "1.x.x", + "uid2": "0.0.x" + } + } } }, "passport-google-oauth20": { @@ -17060,13 +17090,15 @@ } }, "passport-oauth2": { - "version": "1.3.0", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/passport-oauth2/-/passport-oauth2-1.3.0.tgz", - "integrity": "sha512-AisRXcC7Vx8WSx5C9O8UNib/Y91/IOphs5tImlOMs7T+QTEJdmS+OxgXSskbnDdGQT/8mU5T3yMT6136rBjYXg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.6.1.tgz", + "integrity": "sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ==", "requires": { + "base64url": "3.x.x", "oauth": "0.9.x", "passport-strategy": "1.x.x", - "uid2": "0.0.x" + "uid2": "0.0.x", + "utils-merge": "1.x.x" } }, "passport-strategy": { @@ -17429,9 +17461,7 @@ } }, "rxjs": { - "version": "7.5.6", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/rxjs/-/rxjs-7.5.6.tgz", - "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", + "version": "7.5.5", "requires": { "tslib": "^2.1.0" } diff --git a/package.json b/package.json index e66072f..2b78568 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "passport-hubspot-oauth2": "^1.0.3", "passport-mailchimp": "^1.1.0", "protospack": "2.5.2", - "@dadosfera/protospack-v2": "3.10.5", + "@dadosfera/protospack-v2": "3.11.2", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.5.5", diff --git a/src/modules/connection-test/connection-test.service.ts b/src/modules/connection-test/connection-test.service.ts index 08fc8c7..e6fee03 100644 --- a/src/modules/connection-test/connection-test.service.ts +++ b/src/modules/connection-test/connection-test.service.ts @@ -15,7 +15,7 @@ import { GetTableMetadataRes, } from './dto/connection-test'; import { ConnectionClientService } from '../connection/client.service'; -import { CreateConnectionDto } from '../connection/dtos/create-connection'; +import { CreateConnectionDto } from '../connection/dtos/connection'; import { RequestUser } from 'src/authentication/user.decorator'; @Injectable() @@ -60,7 +60,7 @@ export class ConnectionTestService { connectionBody.properties.credentials_type = 'basic_auth'; const createConnectionBody: CreateConnectionDto = { - ...connectionBody, + ...body, }; const { connection } = await this.connectionsService.createConnection({ body: createConnectionBody, diff --git a/src/modules/connection-test/dto/connection-test.ts b/src/modules/connection-test/dto/connection-test.ts index 9d2e5b1..fb91590 100644 --- a/src/modules/connection-test/dto/connection-test.ts +++ b/src/modules/connection-test/dto/connection-test.ts @@ -1,7 +1,7 @@ import { ApiProperty, ApiPropertyOptional, OmitType } from '@nestjs/swagger'; import { IsString, IsOptional } from 'class-validator'; import { DatabaseConnectionPropertiesDto } from 'src/modules/connection/dtos/connection'; -import { CreateConnectionDto } from 'src/modules/connection/dtos/create-connection'; +import { CreateConnectionDto } from 'src/modules/connection/dtos/connection'; export class ColumnDto { @ApiProperty() name: string; diff --git a/src/modules/connection/client.service.ts b/src/modules/connection/client.service.ts index 3db3c25..8771f08 100644 --- a/src/modules/connection/client.service.ts +++ b/src/modules/connection/client.service.ts @@ -8,6 +8,7 @@ import { import { ClientGrpc } from '@nestjs/microservices'; import { ConnectionManager } from '@dadosfera/protospack-v2'; import { lastValueFrom } from 'rxjs'; +import { GetConnectionsRes } from './dtos/connection'; export class ConnectionClientService implements OnModuleInit { private connectionServiceRead: ConnectionManager.ReadService.ConnectionManagerReadServices; @@ -42,12 +43,14 @@ export class ConnectionClientService implements OnModuleInit { network_config_id, properties, type, + connector_name, } = body; return lastValueFrom( this.connectionServiceWrite.CreateConnection( { connector_id, + connector_name, description, image_url, name, @@ -126,7 +129,7 @@ export class ConnectionClientService implements OnModuleInit { }); } - async getAllConnection({ body, info }) { + async getAllConnection({ body, info }): Promise { const meta = new Metadata(); meta.add('customer_id', info.customer_id); meta.add('customer_name', info.customer_name); diff --git a/src/modules/connection/connection.controller.ts b/src/modules/connection/connection.controller.ts index 102d9ab..adfd946 100644 --- a/src/modules/connection/connection.controller.ts +++ b/src/modules/connection/connection.controller.ts @@ -12,7 +12,6 @@ import { } from '@nestjs/common'; import { ApiBearerAuth, ApiTags } from '@nestjs/swagger'; import { ConnectionClientService } from './client.service'; -import { CreateConnectionDto } from './dtos/create-connection'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { Authenticated, @@ -21,8 +20,8 @@ import { import { PERMISSIONS } from 'src/authentication/permissions.enum'; import { User } from 'src/authentication/user.decorator'; import { ValidationPipe } from '../../pipes/object-validation.pipe'; -import { UpdateConnectionDto } from './dtos/update-connection'; -import { identity } from 'rxjs'; +import { GetConnectionsRes, UpdateConnectionDto } from './dtos/connection'; +import { CreateConnectionDto } from './dtos/connection'; @ApiTags('connections') @ApiBearerAuth() @@ -53,12 +52,6 @@ export class ConnectionController { info: { user_id, customer_id, customer_name }, }); - delete response.connection.properties; - delete response.connection.user_id; - delete response.connection.customer_id; - delete response.connection.customer_name; - delete response.connection.updated_at; - return response; } @@ -79,12 +72,6 @@ export class ConnectionController { info: { user_id, customer_id, customer_name, language }, }); - delete response.connection.properties; - delete response.connection.user_id; - delete response.connection.customer_id; - delete response.connection.customer_name; - delete response.connection.updated_at; - return response; } @@ -100,12 +87,6 @@ export class ConnectionController { info: { user_id, customer_id, customer_name }, }); - delete response.connection.properties; - delete response.connection.user_id; - delete response.connection.customer_id; - delete response.connection.customer_name; - delete response.connection.updated_at; - return response; } @@ -115,7 +96,7 @@ export class ConnectionController { @User() user, @Headers('Dadosfera-Lang') language, @Query() queries, - ) { + ): Promise { this.logger.info('/connections - Get All Connection'); const { user_id, customer_id, customer_name } = user; @@ -145,11 +126,6 @@ export class ConnectionController { info: { user_id, customer_id, customer_name, language }, }); - delete response.connection.user_id; - delete response.connection.customer_id; - delete response.connection.customer_name; - delete response.connection.updated_at; - return response; } diff --git a/src/modules/connection/dtos/connection.ts b/src/modules/connection/dtos/connection.ts index d68872c..1372cfc 100644 --- a/src/modules/connection/dtos/connection.ts +++ b/src/modules/connection/dtos/connection.ts @@ -1,4 +1,94 @@ -import { ApiProperty } from '@nestjs/swagger'; +import { + ApiProperty, + ApiPropertyOptional, + OmitType, + PickType, +} from '@nestjs/swagger'; +import { + Connection, + ConnectionToCatalog, +} from '@dadosfera/protospack-v2/dist/lib/ConnectionManager/interfaces/entities'; +import { GetAllConnectionResponse } from '@dadosfera/protospack-v2/dist/lib/ConnectionManager/interfaces/messages'; + +export class ConnectionDto implements Connection { + // ---Automatically generated information will not be sent by the frontend--- // + @ApiProperty() + id: string; + + @ApiProperty() + customer_id: string; + + @ApiProperty() + customer_name: string; + + @ApiProperty() + user_id: string; + + @ApiProperty() + updated_at: string; + + @ApiProperty() + created_at: string; + + @ApiProperty() + pipelines: string; + + // ---Information sent by the frontend--- // + + @ApiProperty() + name: string; + + @ApiProperty() + description: string; + + @ApiProperty() + type: string; + + @ApiPropertyOptional() + network_config_id: string | null; + + @ApiProperty() + properties: any | DatabaseConnectionPropertiesDto; + + // ---Information sent by the frontend (Heirs of Connector)--- // + + @ApiProperty() + connector_id: string; + + @ApiProperty() + connector_name: string; + + @ApiProperty() + plugin: string; + + @ApiProperty() + image_url: string; +} + +export class CreateConnectionDto extends OmitType(ConnectionDto, [ + 'id', + 'customer_id', + 'customer_name', + 'user_id', + 'created_at', + 'updated_at', + 'pipelines', +]) {} + +export class UpdateConnectionDto extends PickType(ConnectionDto, [ + 'name', + 'description', + 'network_config_id', + 'properties', +]) {} + +export class GetConnectionsRes implements GetAllConnectionResponse { + @ApiProperty() + connections: Connection[]; + + @ApiProperty() + message: string; +} export class DatabaseConnectionPropertiesDto { credentials_type: 'basic_auth'; @@ -11,7 +101,6 @@ export class DatabaseConnectionPropertiesDto { @ApiProperty() username: string; @ApiProperty() - @ApiProperty() password: string; @ApiProperty() database: string; diff --git a/src/modules/connection/dtos/create-connection.ts b/src/modules/connection/dtos/create-connection.ts deleted file mode 100644 index d012ee4..0000000 --- a/src/modules/connection/dtos/create-connection.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; -import { IsString, IsObject, IsOptional } from 'class-validator'; - -export class CreateConnectionDto { - @ApiProperty() - @IsString() - connector_id: string; - - @ApiProperty() - @IsString() - name: string; - - @ApiProperty() - @IsString() - description: string; - - @ApiPropertyOptional() - @IsString() - @IsOptional() - network_config_id?: string | null; - - @ApiProperty() - @IsString() - type: string; - - @ApiProperty() - @IsString() - image_url: string; - - @ApiProperty() - @IsObject() - properties: any; -} diff --git a/src/modules/connection/dtos/update-connection.ts b/src/modules/connection/dtos/update-connection.ts deleted file mode 100644 index e4e84ca..0000000 --- a/src/modules/connection/dtos/update-connection.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ApiProperty } from '@nestjs/swagger'; -import { IsString, IsObject, IsOptional } from 'class-validator'; - -export class UpdateConnectionDto { - @ApiProperty() - @IsString() - @IsOptional() - name: string; - - @ApiProperty() - @IsString() - @IsOptional() - description: string; - - @ApiProperty() - @IsString() - @IsOptional() - network_config_id: string; - - @ApiProperty() - @IsObject() - @IsOptional() - properties: any; -} diff --git a/src/modules/inputs/inputs.controller.ts b/src/modules/inputs/inputs.controller.ts index c464b9d..dfbf25b 100644 --- a/src/modules/inputs/inputs.controller.ts +++ b/src/modules/inputs/inputs.controller.ts @@ -25,6 +25,7 @@ import { TestConnectionReq, TestConnectionRes, } from './dtos/input.model'; +import { User } from 'src/authentication/user.decorator'; @ApiTags('inputs') @Controller('inputs') @@ -134,13 +135,15 @@ export class InputsController { } @Get() - async findAll(@Body() body) { + async findAll(@User() user, @Body() body) { this.logger.info(`/input - ON FIND ALL ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, + user: user.user_id, + customer: user.customer_id, }); - const response = await this.inputService.findAll(body); + const response = await this.inputService.findAll({ + info: { user: user.user_id, customer: user.customer_id }, + }); return response; } diff --git a/src/modules/network-config/dto/network-config.ts b/src/modules/network-config/dto/network-config.ts index ab974d8..b94a03b 100644 --- a/src/modules/network-config/dto/network-config.ts +++ b/src/modules/network-config/dto/network-config.ts @@ -1,3 +1,4 @@ +import { NetworkConfigEntity } from '@dadosfera/protospack-v2/dist/lib/NetworkConfig/interfaces/entities'; import { ApiProperty, ApiPropertyOptional, @@ -11,12 +12,10 @@ export enum NetworkConfigTypesEnum { export enum NetworkConfigPluginsEnum { openvpn = 'openvpn', } -export class NetworkConfigDto { +export class NetworkConfigDto implements NetworkConfigEntity { @ApiProperty() id: string; @ApiProperty() - secret_id: string; - @ApiProperty() name: string; @ApiProperty() customer_name: string; @@ -27,17 +26,26 @@ export class NetworkConfigDto { @ApiProperty({ enum: NetworkConfigPluginsEnum }) plugin: string; @ApiProperty() - credentials: any; + properties: any; @ApiProperty() created_at: string; @ApiProperty() updated_at: string; @ApiProperty() network_type_id: string; + @ApiProperty() + network_type_name: string; + @ApiProperty() + user_id: string; + @ApiProperty() + customer_id: string; + @ApiProperty() + keywords: string; + @ApiProperty() + tags: string; } export class NetworkConfigNoSecrets extends OmitType(NetworkConfigDto, [ - 'secret_id', - 'credentials', + 'properties', ]) {} export class NetworkConfigOpenVpnProperties { @ApiProperty({ enum: NetworkConfigPluginsEnum }) diff --git a/src/modules/network-config/network-config-client.config.ts b/src/modules/network-config/network-config-client.config.ts index d45766c..c7d817c 100644 --- a/src/modules/network-config/network-config-client.config.ts +++ b/src/modules/network-config/network-config-client.config.ts @@ -15,9 +15,9 @@ export class NetworkConfigClientConfiguration { NetworkConfig.ProtoPackages.ReadPackage, NetworkConfig.ProtoPackages.WritePackage, ], - // credentials: undefined, - credentials: - process.env.ENV === 'local' ? undefined : credentials.createSsl(), + credentials: undefined, + // credentials: + // process.env.ENV === 'local' ? undefined : credentials.createSsl(), protoPath: [ NetworkConfig.ProtoPaths.ReadFilePath, NetworkConfig.ProtoPaths.WriteFilePath,