Merge branch 'ft/connection-manager' of github.com:dadosfera/maestro into ft/connection-manager

This commit is contained in:
Victor Radael
2022-09-06 10:10:05 -03:00
9 changed files with 529 additions and 572 deletions
+63 -53
View File
@@ -12,7 +12,7 @@
"dependencies": {
"@aws-sdk/client-secrets-manager": "^3.112.0",
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
"@dadosfera/protospack-v2": "^3.14.10",
"@dadosfera/protospack-v2": "3.14.11",
"@grpc/grpc-js": "^1.6.7",
"@grpc/proto-loader": "^0.6.13",
"@nestjs/common": "^8.4.7",
@@ -1726,25 +1726,15 @@
}
},
"node_modules/@dadosfera/protospack-v2": {
"version": "3.14.10",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.14.10.tgz",
"integrity": "sha512-RP3f4Phq8dIcNjBs6d3VJmmr6H2NfP1vX0LcjGfIUCwczG177HGwZeQLWzKUWF3aIyh3gzb/nNmNmI2j/qWwFA==",
"version": "3.14.11",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.14.11.tgz",
"integrity": "sha512-ieLu6h179H3isgPkj7i9BBEA6PXKCeUDFBazUSf8laYnM04DTQCXO6I+vMVdyA90vbw6ccFqz5udWSKXG/EwKQ==",
"dependencies": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
"ts-proto": "^1.112.2"
}
},
"node_modules/@dprint/formatter": {
"version": "0.2.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dprint/formatter/-/formatter-0.2.0.tgz",
"integrity": "sha512-E1q1JaOPeEUBhG//IUayqJQvNpqprZ0OCF8B/bIhUqSsMIp0Y74PgF8JPvDCrOdq43qiGUYAavVO8iCBHOoU/A=="
},
"node_modules/@dprint/typescript": {
"version": "0.71.2",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dprint/typescript/-/typescript-0.71.2.tgz",
"integrity": "sha512-QpQJiJMxSMhqqOgVk1zrh+2ueQnZmBQ6aCtVgXKd3zxyVOEIj5CLarfDmza/9KFOU+5lKsprbGAQBskC+xODkw=="
},
"node_modules/@elastic/ecs-helpers": {
"version": "1.1.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@elastic/ecs-helpers/-/ecs-helpers-1.1.0.tgz",
@@ -3042,7 +3032,7 @@
},
"node_modules/@types/object-hash": {
"version": "1.3.4",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@types/object-hash/-/object-hash-1.3.4.tgz",
"resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz",
"integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA=="
},
"node_modules/@types/parse-json": {
@@ -4610,7 +4600,7 @@
},
"node_modules/dataloader": {
"version": "1.4.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/dataloader/-/dataloader-1.4.0.tgz",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz",
"integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw=="
},
"node_modules/debug": {
@@ -4695,6 +4685,17 @@
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
"bin": {
"detect-libc": "bin/detect-libc.js"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/detect-newline": {
"version": "3.1.0",
"dev": true,
@@ -4781,6 +4782,14 @@
"version": "5.1.0",
"license": "BSD-2-Clause"
},
"node_modules/dprint-node": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz",
"integrity": "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==",
"dependencies": {
"detect-libc": "^1.0.3"
}
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"license": "Apache-2.0",
@@ -10320,24 +10329,23 @@
}
},
"node_modules/ts-poet": {
"version": "5.2.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/ts-poet/-/ts-poet-5.2.0.tgz",
"integrity": "sha512-2YOgli1AwPk+S1youa6cm0XfQUZpFQNCkKpEvuegO/7vRPYkgxi7LIDtYfofUXqsy/GQUoOV4h6NlgTgoEtPfg==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.1.0.tgz",
"integrity": "sha512-PFwbNJjGrb44wzHUGQicG2/nhjR+3+k7zYLDTa8D61NVUitl7K/JgIc9/P+8oMNenntKzLc8tjLDOkPrxIhm6A==",
"dependencies": {
"@dprint/formatter": "^0.2.0",
"@dprint/typescript": "^0.71.2"
"dprint-node": "^1.0.7"
}
},
"node_modules/ts-proto": {
"version": "1.123.1",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/ts-proto/-/ts-proto-1.123.1.tgz",
"integrity": "sha512-TXxFncNbmVvzEURIgUWSYpTEuIStSbl45Y++dZjtUOwo/MhswlBZlgLXGDnRt3EmM/O06GRgu+ORabbHaOEkzA==",
"version": "1.125.0",
"resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.125.0.tgz",
"integrity": "sha512-ADXnF+Psk3SaLzxtXrhvKUDrNNpg7LnL5rQuQL+u9PiOQ4C2ktWLvJM0VtL4zqQ9/OHROmXjebpR0KMZAkI93w==",
"dependencies": {
"@types/object-hash": "^1.3.0",
"dataloader": "^1.4.0",
"object-hash": "^1.3.1",
"protobufjs": "^6.11.3",
"ts-poet": "^5.1.0",
"ts-poet": "^6.1.0",
"ts-proto-descriptors": "1.7.1"
},
"bin": {
@@ -10346,7 +10354,7 @@
},
"node_modules/ts-proto-descriptors": {
"version": "1.7.1",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz",
"resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz",
"integrity": "sha512-oIKUh3K4Xts4v29USGLfUG+2mEk32MsqpgZAOUyUlkrcIdv34yE+k2oZ2Nzngm6cV/JgFdOxRCqeyvmWHuYAyw==",
"dependencies": {
"long": "^4.0.0",
@@ -10355,7 +10363,7 @@
},
"node_modules/ts-proto/node_modules/object-hash": {
"version": "1.3.1",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/object-hash/-/object-hash-1.3.1.tgz",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
"integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
"engines": {
"node": ">= 0.10.0"
@@ -12297,25 +12305,15 @@
}
},
"@dadosfera/protospack-v2": {
"version": "3.14.10",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.14.10.tgz",
"integrity": "sha512-RP3f4Phq8dIcNjBs6d3VJmmr6H2NfP1vX0LcjGfIUCwczG177HGwZeQLWzKUWF3aIyh3gzb/nNmNmI2j/qWwFA==",
"version": "3.14.11",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.14.11.tgz",
"integrity": "sha512-ieLu6h179H3isgPkj7i9BBEA6PXKCeUDFBazUSf8laYnM04DTQCXO6I+vMVdyA90vbw6ccFqz5udWSKXG/EwKQ==",
"requires": {
"@grpc/grpc-js": "^1.6.7",
"rxjs": "^7.5.5",
"ts-proto": "^1.112.2"
}
},
"@dprint/formatter": {
"version": "0.2.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dprint/formatter/-/formatter-0.2.0.tgz",
"integrity": "sha512-E1q1JaOPeEUBhG//IUayqJQvNpqprZ0OCF8B/bIhUqSsMIp0Y74PgF8JPvDCrOdq43qiGUYAavVO8iCBHOoU/A=="
},
"@dprint/typescript": {
"version": "0.71.2",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dprint/typescript/-/typescript-0.71.2.tgz",
"integrity": "sha512-QpQJiJMxSMhqqOgVk1zrh+2ueQnZmBQ6aCtVgXKd3zxyVOEIj5CLarfDmza/9KFOU+5lKsprbGAQBskC+xODkw=="
},
"@elastic/ecs-helpers": {
"version": "1.1.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@elastic/ecs-helpers/-/ecs-helpers-1.1.0.tgz",
@@ -13189,7 +13187,7 @@
},
"@types/object-hash": {
"version": "1.3.4",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@types/object-hash/-/object-hash-1.3.4.tgz",
"resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz",
"integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA=="
},
"@types/parse-json": {
@@ -14291,7 +14289,7 @@
},
"dataloader": {
"version": "1.4.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/dataloader/-/dataloader-1.4.0.tgz",
"resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz",
"integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw=="
},
"debug": {
@@ -14340,6 +14338,11 @@
"destroy": {
"version": "1.2.0"
},
"detect-libc": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg=="
},
"detect-newline": {
"version": "3.1.0",
"dev": true
@@ -14395,6 +14398,14 @@
"dotenv-expand": {
"version": "5.1.0"
},
"dprint-node": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/dprint-node/-/dprint-node-1.0.7.tgz",
"integrity": "sha512-NTZOW9A7ipb0n7z7nC3wftvsbceircwVHSgzobJsEQa+7RnOMbhrfX5IflA6CtC4GA63DSAiHYXa4JKEy9F7cA==",
"requires": {
"detect-libc": "^1.0.3"
}
},
"ecdsa-sig-formatter": {
"version": "1.0.11",
"requires": {
@@ -18111,37 +18122,36 @@
}
},
"ts-poet": {
"version": "5.2.0",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/ts-poet/-/ts-poet-5.2.0.tgz",
"integrity": "sha512-2YOgli1AwPk+S1youa6cm0XfQUZpFQNCkKpEvuegO/7vRPYkgxi7LIDtYfofUXqsy/GQUoOV4h6NlgTgoEtPfg==",
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-6.1.0.tgz",
"integrity": "sha512-PFwbNJjGrb44wzHUGQicG2/nhjR+3+k7zYLDTa8D61NVUitl7K/JgIc9/P+8oMNenntKzLc8tjLDOkPrxIhm6A==",
"requires": {
"@dprint/formatter": "^0.2.0",
"@dprint/typescript": "^0.71.2"
"dprint-node": "^1.0.7"
}
},
"ts-proto": {
"version": "1.123.1",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/ts-proto/-/ts-proto-1.123.1.tgz",
"integrity": "sha512-TXxFncNbmVvzEURIgUWSYpTEuIStSbl45Y++dZjtUOwo/MhswlBZlgLXGDnRt3EmM/O06GRgu+ORabbHaOEkzA==",
"version": "1.125.0",
"resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.125.0.tgz",
"integrity": "sha512-ADXnF+Psk3SaLzxtXrhvKUDrNNpg7LnL5rQuQL+u9PiOQ4C2ktWLvJM0VtL4zqQ9/OHROmXjebpR0KMZAkI93w==",
"requires": {
"@types/object-hash": "^1.3.0",
"dataloader": "^1.4.0",
"object-hash": "^1.3.1",
"protobufjs": "^6.11.3",
"ts-poet": "^5.1.0",
"ts-poet": "^6.1.0",
"ts-proto-descriptors": "1.7.1"
},
"dependencies": {
"object-hash": {
"version": "1.3.1",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/object-hash/-/object-hash-1.3.1.tgz",
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
"integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA=="
}
}
},
"ts-proto-descriptors": {
"version": "1.7.1",
"resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz",
"resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.7.1.tgz",
"integrity": "sha512-oIKUh3K4Xts4v29USGLfUG+2mEk32MsqpgZAOUyUlkrcIdv34yE+k2oZ2Nzngm6cV/JgFdOxRCqeyvmWHuYAyw==",
"requires": {
"long": "^4.0.0",
+1 -1
View File
@@ -27,7 +27,7 @@
"dependencies": {
"@aws-sdk/client-secrets-manager": "^3.112.0",
"@dadosfera/dadosfera-logs": "^1.0.0-beta.3",
"@dadosfera/protospack-v2": "^3.14.10",
"@dadosfera/protospack-v2": "3.14.11",
"@grpc/grpc-js": "^1.6.7",
"@grpc/proto-loader": "^0.6.13",
"@nestjs/common": "^8.4.7",
+335 -341
View File
@@ -42,6 +42,7 @@ export const PERMISSIONS = {
title: {
'pt-br': 'Autenticação',
'en-us': 'Authentication',
'es-es': 'Authentication',
},
permissions: {
CREATE: {
@@ -51,6 +52,7 @@ export const PERMISSIONS = {
name: {
'pt-br': '',
'en-us': '',
'es-es': '',
},
},
},
@@ -60,6 +62,7 @@ export const PERMISSIONS = {
title: {
'pt-br': 'Coletar | Pipelines',
'en-us': 'Collect | Pipelines',
'es-es': 'Colecta | Pipelines',
},
permissions: {
CREATE: {
@@ -69,6 +72,7 @@ export const PERMISSIONS = {
name: {
'pt-br': 'Criar pipelines',
'en-us': 'Create pipelines',
'es-es': 'Crear pipelines',
},
},
GET: {
@@ -78,6 +82,7 @@ export const PERMISSIONS = {
name: {
'pt-br': 'Buscar pipelines',
'en-us': 'Get pipelines',
'es-es': 'Obtener pipelines',
},
},
UPDATE: {
@@ -87,6 +92,7 @@ export const PERMISSIONS = {
name: {
'pt-br': 'Atualizar pipeline',
'en-us': 'Update pipeline',
'es-es': 'Actualizar pipeline',
},
},
DELETE: {
@@ -96,355 +102,57 @@ export const PERMISSIONS = {
name: {
'pt-br': 'Excluir pipeline',
'en-us': 'Delete pipeline',
'es-es': 'Eliminar pipeline',
},
},
},
},
INPUT: {
CONNECTION: {
title: {
'pt-br': 'Coletar | Conexões',
'en-us': 'Collect | Connections',
'pt-br': 'Coletar | Fontes de dados',
'en-us': 'Collect | Sources',
'es-es': 'Colecta | Sources',
},
permissions: {
CREATE: {
seqid: 21,
claim: 'POST /inputs',
usage: PermissionUsages.INTERNAL,
seqid: 37,
claim: 'connection:create',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Criar conexões',
'en-us': 'Create connections',
},
},
GET: {
seqid: 9,
claim: 'GET /inputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Buscar conexões',
'en-us': 'Get connections',
},
},
UPDATE: {
seqid: 27,
claim: 'PUT /inputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Atualizar conexões',
'en-us': 'Create connections',
'pt-br': 'Cadastrar Fonte',
'en-us': 'Create Source',
'es-es': 'Crear Source',
},
},
DELETE: {
seqid: 3,
claim: 'DELETE /inputs',
usage: PermissionUsages.INTERNAL,
seqid: 38,
claim: 'connection:delete',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Excluir conexões',
'en-us': 'Delete connections',
},
},
GET_ENTITIES: {
seqid: 10,
claim: 'GET /inputs/available-entities',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir conexões',
'en-us': 'Delete connections',
},
},
},
},
OUTPUT: {
title: {
'pt-br': 'Output',
'en-us': 'Output',
},
permissions: {
CREATE: {
seqid: 22,
claim: 'POST /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Criar outputs',
'en-us': 'Create outputs',
},
},
GET: {
seqid: 12,
claim: 'GET /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Buscar outputs',
'en-us': 'Get outputs',
'pt-br': 'Excluir Fonte',
'en-us': 'Remove Source',
'es-s': 'Eliminar Source',
},
},
UPDATE: {
seqid: 28,
claim: 'PUT /outputs',
seqid: 39,
claim: 'connection:update',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar outputs',
'en-us': 'Edit outputs',
},
},
DELETE: {
seqid: 4,
claim: 'DELETE /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir outputs',
'en-us': 'Remove outputs',
'pt-br': 'Editar Fonte',
'en-us': 'Edit Source',
'es-es': 'Editar Source',
},
},
},
},
TRANSFORMATIONS: {
title: {
'pt-br': 'Micro-transformações',
'en-us': 'Micro-transformations',
},
permissions: {
CREATE: {
seqid: 24,
claim: 'POST /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Criar micro-transformações',
'en-us': 'Create micro-transformations',
},
},
GET: {
seqid: 15,
claim: 'GET /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Buscar micro-transformações',
'en-us': 'Get micro-transformations',
},
},
UPDATE: {
seqid: 30,
claim: 'PUT /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar micro-transformações',
'en-us': 'Edit micro-transformations',
},
},
DELETE: {
seqid: 6,
claim: 'DELETE /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir micro-transformações',
'en-us': 'Remove micro-transformations',
},
},
},
},
CATALOG: {
title: {
'pt-br': 'Explorar | Catálogo',
'en-us': 'Explore | Catalog',
},
permissions: {
GET: {
seqid: 7,
claim: 'GET /catalog',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Buscar data assets',
'en-us': 'Search for data assets',
},
},
CREATE: {
seqid: 19,
claim: 'POST /catalog',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Criar atributos no catálogo',
'en-us': 'Create attributes',
},
},
UPDATE: {
seqid: 25,
claim: 'PUT /catalog',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar atributos no catálogo',
'en-us': 'Edit attributes',
},
},
DELETE: {
seqid: 1,
claim: 'DELETE /catalog',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir atributos no catálogo',
'en-us': 'Remove attributes',
},
},
},
},
CONNECTORS: {
title: {
'pt-br': 'Conectores',
'en-us': 'Connectors',
},
permissions: {
CREATE: {
seqid: 20,
claim: 'POST /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Criar conectores',
'en-us': 'Create connectors',
},
},
GET: {
seqid: 8,
claim: 'GET /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Buscar conectores',
'en-us': 'Get connectors',
},
},
UPDATE: {
seqid: 26,
claim: 'PUT /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar conectores',
'en-us': 'Edit connectors',
},
},
DELETE: {
seqid: 2,
claim: 'DELETE /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir conectores',
'en-us': 'Remove connectors',
},
},
},
},
SNOWFLAKE: {
title: {
'pt-br': 'Explorar | Consolidar',
'en-us': 'Explore | Data consolidation',
},
permissions: {
OPEN: {
seqid: 14,
claim: 'GET /snowflake',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Acessar Snowflake',
'en-us': 'Access Snowflake',
},
},
},
},
ZENDESK: {
title: {
'pt-br': 'Zendesk',
'en-us': 'Zendesk',
},
permissions: {
OPEN: {
seqid: 16,
claim: 'GET /zendesk',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar Zendesk',
'en-us': 'Access Zendesk',
},
},
},
},
METABASE: {
title: {
'pt-br': 'Analisar | Visualização',
'en-us': 'Analyze | Visualization',
},
permissions: {
OPEN: {
seqid: 11,
claim: 'GET /metabase',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Acessar Metabase',
'en-us': 'Access Metabase',
},
},
},
},
ORCHEST: {
title: {
'pt-br': 'Analisar | Inteligência',
'en-us': 'Analyze | Intelligence',
},
permissions: {
INTELLIGENCE: {
seqid: 31,
claim: 'intelligence:open',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar Orchest',
'en-us': 'Access Orchest',
},
},
APP_BUILDER: {
seqid: 32,
claim: 'app-builder:open',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar App Builder',
'en-us': 'Access App Builder',
},
},
MACHINE_LEARNING: {
seqid: 33,
claim: 'machine-learning:open',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar Machine Learning',
'en-us': 'Access Machine Learning',
},
},
},
},
USERS: {
title: {
'pt-br': 'Usuários',
'en-us': 'Users',
},
permissions: {
ADMIN: {
seqid: 34,
claim: 'users:admin',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Gestão de usuários e grupos',
'en-us': 'Manage user and roles',
},
},
},
},
NETWORK_CONFIG: {
title: {
'pt-br': 'VPN',
'en-us': 'VPN',
'pt-br': 'Coletar | Redes',
'en-us': 'Collect | Network',
'es-es': 'Colecta | Network',
},
permissions: {
CREATE: {
@@ -454,6 +162,7 @@ export const PERMISSIONS = {
name: {
'pt-br': 'Cadastrar VPN',
'en-us': 'Create VPN',
'es-es': 'Crear VPN',
},
},
DELETE: {
@@ -463,41 +172,326 @@ export const PERMISSIONS = {
name: {
'pt-br': 'Excluir VPN',
'en-us': 'Remove VPN',
'es-es': 'Eliminar VPN',
},
},
},
},
CONNECTION: {
OUTPUT: {
title: {
'pt-br': 'Conexões',
'en-us': 'Connections',
'pt-br': 'Output',
'en-us': 'Output',
'es-es': 'Output',
},
permissions: {
CREATE: {
seqid: 37,
claim: 'connection:create',
usage: PermissionUsages.PUBLIC,
seqid: 22,
claim: 'POST /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Cadastrar Conexão',
'en-us': 'Create Connection',
'pt-br': 'Criar outputs',
'en-us': 'Create outputs',
'es-es': 'Crear outputs',
},
},
DELETE: {
seqid: 38,
claim: 'connection:delete',
usage: PermissionUsages.PUBLIC,
GET: {
seqid: 12,
claim: 'GET /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir Conexão',
'en-us': 'Remove Connection',
'pt-br': 'Buscar outputs',
'en-us': 'Get outputs',
'es-es': 'Obtener outputs',
},
},
UPDATE: {
seqid: 39,
claim: 'connection:update',
seqid: 28,
claim: 'PUT /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar Conexão',
'en-us': 'Edit Connection',
'pt-br': 'Editar outputs',
'en-us': 'Edit outputs',
'es-es': 'Editar outputs',
},
},
DELETE: {
seqid: 4,
claim: 'DELETE /outputs',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir outputs',
'en-us': 'Remove outputs',
'es-es': 'Eliminar outputs',
},
},
},
},
TRANSFORMATIONS: {
title: {
'pt-br': 'Micro-transformações',
'en-us': 'Micro-transformations',
'es-es': 'Micro-transformaciones',
},
permissions: {
CREATE: {
seqid: 24,
claim: 'POST /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Criar micro-transformações',
'en-us': 'Create micro-transformations',
'es-es': 'Crear micro-transformaciones',
},
},
GET: {
seqid: 15,
claim: 'GET /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Buscar micro-transformações',
'en-us': 'Get micro-transformations',
'es-es': 'Obtener micro-transformaciones',
},
},
UPDATE: {
seqid: 30,
claim: 'PUT /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar micro-transformações',
'en-us': 'Edit micro-transformations',
'es-es': 'Editar micro-transformaciones',
},
},
DELETE: {
seqid: 6,
claim: 'DELETE /transformations',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir micro-transformações',
'en-us': 'Remove micro-transformations',
'es-es': 'Eliminar micro-transformaciones',
},
},
},
},
CATALOG: {
title: {
'pt-br': 'Explorar | Catálogo',
'en-us': 'Explore | Catalog',
'es-es': 'Explorar | Catalogar',
},
permissions: {
GET: {
seqid: 7,
claim: 'GET /catalog',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Buscar data assets',
'en-us': 'Search for data assets',
'es-es': 'Buscar data assets',
},
},
CREATE: {
seqid: 19,
claim: 'POST /catalog',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Criar atributos no catálogo',
'en-us': 'Create attributes',
'es-es': 'Crear atributos',
},
},
UPDATE: {
seqid: 25,
claim: 'PUT /catalog',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar atributos no catálogo',
'en-us': 'Edit attributes',
'es-es': 'Editar atributos',
},
},
DELETE: {
seqid: 1,
claim: 'DELETE /catalog',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir atributos no catálogo',
'en-us': 'Remove attributes',
'es-es': 'Eliminar atributos',
},
},
},
},
CONNECTORS: {
title: {
'pt-br': 'Conectores',
'en-us': 'Connectors',
'es-es': 'Conectores',
},
permissions: {
CREATE: {
seqid: 20,
claim: 'POST /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Criar conectores',
'en-us': 'Create connectors',
'es-es': 'Crear conectores',
},
},
GET: {
seqid: 8,
claim: 'GET /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Buscar conectores',
'en-us': 'Get connectors',
'es-es': 'Obtener conectores',
},
},
UPDATE: {
seqid: 26,
claim: 'PUT /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Editar conectores',
'en-us': 'Edit connectors',
'es-es': 'Editar conectores',
},
},
DELETE: {
seqid: 2,
claim: 'DELETE /connectors',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Excluir conectores',
'en-us': 'Remove connectors',
'es-es': 'Eliminar conectores',
},
},
},
},
SNOWFLAKE: {
title: {
'pt-br': 'Explorar | Consolidar',
'en-us': 'Explore | Data consolidation',
'es-es': 'Explorar | Consolidación de datos',
},
permissions: {
OPEN: {
seqid: 14,
claim: 'GET /snowflake',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Acessar Snowflake',
'en-us': 'Access Snowflake',
'es-es': 'Acceso Snowflake',
},
},
},
},
ZENDESK: {
title: {
'pt-br': 'Zendesk',
'en-us': 'Zendesk',
'es-es': 'Zendesk',
},
permissions: {
OPEN: {
seqid: 16,
claim: 'GET /zendesk',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar Zendesk',
'en-us': 'Access Zendesk',
'es-es': 'Acceso Zendesk',
},
},
},
},
METABASE: {
title: {
'pt-br': 'Analisar | Visualização',
'en-us': 'Analyze | Visualization',
'es-es': 'Analizar | Visualización',
},
permissions: {
OPEN: {
seqid: 11,
claim: 'GET /metabase',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Acessar Metabase',
'en-us': 'Access Metabase',
'es-es': 'Acceso Metabase',
},
},
},
},
ORCHEST: {
title: {
'pt-br': 'Analisar | Inteligência',
'en-us': 'Analyze | Intelligence',
'es-es': 'Analizar | Inteligencia',
},
permissions: {
INTELLIGENCE: {
seqid: 31,
claim: 'intelligence:open',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar Orchest',
'en-us': 'Access Orchest',
'es-s': 'Acceso Orchest',
},
},
APP_BUILDER: {
seqid: 32,
claim: 'app-builder:open',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar App Builder',
'en-us': 'Access App Builder',
'es-es': 'Acceso App Builder',
},
},
MACHINE_LEARNING: {
seqid: 33,
claim: 'machine-learning:open',
usage: PermissionUsages.INTERNAL,
name: {
'pt-br': 'Acessar Machine Learning',
'en-us': 'Access Machine Learning',
'es-es': 'Acceso Machine Learning',
},
},
},
},
USERS: {
title: {
'pt-br': 'Usuários',
'en-us': 'Users',
'es-es': 'Usuarios',
},
permissions: {
ADMIN: {
seqid: 34,
claim: 'users:admin',
usage: PermissionUsages.PUBLIC,
name: {
'pt-br': 'Gestão de usuários e grupos',
'en-us': 'Manage user and roles',
'es-es': 'Administrar usuarios y roles',
},
},
},
@@ -171,6 +171,13 @@ export class ConnectionController {
if (details === 'true') {
const properties = JSON.parse(response.connection.properties);
properties.connection_controls.map((cont) => {
if (cont.default_value != false) {
cont.default_value = JSON.parse(cont.default_value);
}
});
Object.assign(response.connection, {
pipelines: JSON.parse(response.connection.pipelines),
connection_controls: properties.connection_controls,
+29 -4
View File
@@ -28,6 +28,7 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs';
import {
Authenticated,
RequireAllPermissions,
RequireSomePermission,
} from 'src/authentication/authentication.decorator';
import { PERMISSIONS } from 'src/authentication/permissions.enum';
@@ -95,7 +96,13 @@ export class ConnectorController {
}
@Get()
@RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.GET)
@RequireSomePermission(
PERMISSIONS.CONNECTORS.permissions.GET,
PERMISSIONS.PIPELINE.permissions.CREATE,
PERMISSIONS.PIPELINE.permissions.GET,
PERMISSIONS.PIPELINE.permissions.UPDATE,
PERMISSIONS.PIPELINE.permissions.DELETE,
)
async getAllConnectors(
@Headers('dadosfera-lang') language,
@Query() queries: GetAllDto,
@@ -121,13 +128,25 @@ export class ConnectorController {
}
@Get('/tags')
@RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.GET)
@RequireSomePermission(
PERMISSIONS.CONNECTORS.permissions.GET,
PERMISSIONS.PIPELINE.permissions.CREATE,
PERMISSIONS.PIPELINE.permissions.GET,
PERMISSIONS.PIPELINE.permissions.UPDATE,
PERMISSIONS.PIPELINE.permissions.DELETE,
)
async getConnectorsTags() {
return await this.connectorClientService.getConnectorsTags();
}
@Get('/:plugin')
@RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.GET)
@RequireSomePermission(
PERMISSIONS.CONNECTORS.permissions.GET,
PERMISSIONS.PIPELINE.permissions.CREATE,
PERMISSIONS.PIPELINE.permissions.GET,
PERMISSIONS.PIPELINE.permissions.UPDATE,
PERMISSIONS.PIPELINE.permissions.DELETE,
)
async getConnector(
@Headers('dadosfera-lang') language,
@Param('plugin') plugin: string,
@@ -149,7 +168,13 @@ export class ConnectorController {
}
@Get('/:plugin/details')
@RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.GET)
@RequireSomePermission(
PERMISSIONS.CONNECTORS.permissions.GET,
PERMISSIONS.PIPELINE.permissions.CREATE,
PERMISSIONS.PIPELINE.permissions.GET,
PERMISSIONS.PIPELINE.permissions.UPDATE,
PERMISSIONS.PIPELINE.permissions.DELETE,
)
async getConnectorDetails(
@Headers('dadosfera-lang') language,
@Param('plugin') plugin: string,
+42 -16
View File
@@ -14,6 +14,15 @@ export class InputModel {
};
}
export class FileFormatParams {
@ApiProperty()
sep: string;
@ApiProperty()
header: boolean;
@ApiProperty()
encoding: string;
}
class GoogleAnalyticsClientSecrets {
@ApiProperty()
type: string;
@@ -73,12 +82,6 @@ class CredentialsJdbc {
@ApiPropertyOptional()
schema: string;
}
class FileFormatParams {
@ApiPropertyOptional()
file_format: string;
@ApiPropertyOptional()
encoding: string;
}
class Credentials extends CredentialsJdbc {
@ApiProperty()
@@ -144,7 +147,7 @@ export class TestConnectionGetColumnsReq {
info: Info;
}
export class TestConnectionGetColumnsRes {
@ApiProperty()
@ApiProperty({ type: [TableColumns] })
tables: TableColumns[];
}
@@ -164,21 +167,44 @@ export class TestConnectionRes {
@ApiProperty()
database_tables: string[];
}
export class AuthParameters {
@ApiProperty()
aws_access_key_id: string;
@ApiProperty()
aws_secret_access_key: string;
}
export class CreateInputReq {
@ApiPropertyOptional()
id: string;
@ApiProperty()
plugin: string;
@ApiProperty()
category: string;
@ApiProperty()
credentials: Credentials;
@ApiProperty({ type: [TableColumns] })
tables: TableColumns[];
@ApiProperty()
name: string;
@ApiProperty()
description: string;
@ApiProperty()
plugin: string;
@ApiPropertyOptional()
type: string;
//deprecated attributes (for retro compatibility)
@ApiPropertyOptional({ deprecated: true })
category: string;
@ApiPropertyOptional({ deprecated: true })
credentials: Credentials;
@ApiPropertyOptional({ deprecated: true })
options: InputOptions;
@ApiPropertyOptional()
@ApiPropertyOptional({ deprecated: true })
info: Info;
@ApiPropertyOptional({ deprecated: true })
cron: string;
@ApiPropertyOptional({ deprecated: true })
source_bucket: string;
@ApiPropertyOptional({ deprecated: true })
source_prefix: string;
@ApiPropertyOptional({ deprecated: true })
auth_parameters: AuthParameters;
@ApiPropertyOptional({ deprecated: true })
file_format_params: FileFormatParams;
}
export class Input {
+24 -35
View File
@@ -30,33 +30,28 @@ import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entitie
@ApiTags('inputs')
@Controller('inputs')
@AuthenticateCondition((req, user) => {
let action: any;
switch (req.method) {
case 'POST':
action = 'CREATE';
break;
case 'PUT':
action = 'UPDATE';
break;
case 'PATCH':
action = 'UPDATE';
break;
return (
user.permissions.includes(
PERMISSIONS.PIPELINE.permissions.CREATE.seqid,
) ||
user.permissions.includes(PERMISSIONS.PIPELINE.permissions.UPDATE.seqid)
);
default:
action = req.method;
return (
user.permissions.includes(
PERMISSIONS.PIPELINE.permissions.CREATE.seqid,
) ||
user.permissions.includes(
PERMISSIONS.PIPELINE.permissions.UPDATE.seqid,
) ||
user.permissions.includes(PERMISSIONS.PIPELINE.permissions.GET.seqid)
);
}
if (
`${req.method} ${req.route.path}` ===
'GET /inputs/available-entities/:plugin'
) {
action = 'GET_ENTITIES';
}
return user.permissions.includes(PERMISSIONS.INPUT.permissions[action].seqid);
})
export class InputsController {
logger: DadosferaLogger;
@@ -110,24 +105,18 @@ export class InputsController {
@Post()
@ApiOkResponse({ type: Input })
async create(@Body() createInputDto: CreateInputReq) {
async create(@Body() body: CreateInputReq, @User() user: RequestUser) {
const info: Info = {
user_id: user.user_id,
customer: user.customer_name,
customer_id: user.customer_id,
};
this.logger.info(`/input - ON CREATE ROUTE`, {
user: createInputDto.info.user_id,
customer: createInputDto.info.customer,
user: info.user_id,
customer: info.customer,
});
const response = await this.inputService.create(createInputDto);
return response;
}
@Post(':id')
@ApiOkResponse({ type: Input })
async reCreate(@Param('id') id: string, @Body() input: CreateInputReq) {
if (!input.id) input.id = id;
this.logger.info(`POST /${id}`, 'ON RECREATE ROUTE');
const response = await this.inputService.reCreate(input);
const response = await this.inputService.create({ body, info });
return response;
}
+27 -121
View File
@@ -1,5 +1,4 @@
import {
Body,
ForbiddenException,
HttpException,
HttpStatus,
@@ -15,12 +14,14 @@ import { objectCamelToSnake } from 'src/utils/CaseConverter';
import { IIdRequest, UpdateInputRequest } from './dtos/old_interfaces';
import { Input } from '@dadosfera/protospack-v2';
import {
InputCreateGenericRequest,
InputCreateS3Request,
InputNewCreateRequest,
TestConnectionGetColumnsRequest,
TestConnectionRequest,
} from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/messages';
import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entities';
import { CreateInputReq } from './dtos/input.model';
@Injectable()
@@ -59,28 +60,6 @@ export class InputsService {
objectCamelToSnake(input);
return input;
},
createGeneric: async (createInputGeneric) => {
this.logger.info('InputClientService - Create');
const { info, ...data } = createInputGeneric;
if (data.options) delete data.options;
if (data.credentials.oauth_code) delete data.credentials.oauth_code;
if (data.credentials) data.credentials = JSON.stringify(data.credentials);
const input = await lastValueFrom(
this.inputWriteService.InputCreate({ info, input: data }),
);
// .catch((err: { details: string }) => {
// if (err.details === 'Item Not found!') {
// throw new NotFoundException('Input not found');
// }
// throw new InternalServerErrorException(err.details);
// });
// objectCamelToSnake(structReturn);
// const inputCreated = DecodeGrpcStruct(structReturn.input);
return { input };
},
createS3Inputs: async (createInputDto: InputCreateS3Request) => {
this.logger.info('InputClientService - Create');
createInputDto;
@@ -109,80 +88,22 @@ export class InputsService {
const updateInputResponse = await lastValueFrom(
this.inputWriteService.InputUpdate(updateInputDTO),
);
// const updateInputResponse = await new Promise((resolve, reject) => {
// this.inputWriteService.InputUpdate(updateInputDTO).subscribe({
// next(x) {
// resolve(objectCamelToSnake(x));
// },
// error(err) {
// reject(err);
// },
// complete() {
// // console.log('done');
// },
// });
// })
// .then((res) => {
// this.logger.info('Done');
// return res;
// })
// .catch((err) => {
// this.logger.error(err.message);
// throw new Error(err);
// });
return updateInputResponse;
},
remove: async (idRequest: IIdRequest) => {
this.logger.info('InputClientService - Remove');
const removeInputResponse = await new Promise((resolve, reject) => {
this.inputWriteService.InputRemove(idRequest).subscribe({
next(x) {
resolve(objectCamelToSnake(x));
},
error(err) {
reject(err);
},
complete() {
// console.log('done');
},
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
const removeInputResponse = await lastValueFrom(
this.inputWriteService.InputRemove(idRequest),
);
return removeInputResponse;
},
testConnection: async (data: TestConnectionRequest) => {
this.logger.info('InputClientService - TestConnection');
const testConnectionResponse = await new Promise((resolve, reject) => {
this.inputReadService.NewTestConnection(data).subscribe({
next(x) {
resolve(objectCamelToSnake(x));
},
error(err) {
reject(err);
},
complete() {
// console.log('done');
},
});
})
.then((res) => {
this.logger.info('Done');
return res;
})
.catch((err) => {
this.logger.error(err.message);
throw new Error(err);
});
const testConnectionResponse = await lastValueFrom(
this.inputReadService.NewTestConnection(data),
);
return testConnectionResponse;
},
@@ -275,40 +196,25 @@ export class InputsService {
);
}
}
async create(@Body() data) {
this.validateCron(data);
let response;
switch (data.plugin.toLowerCase()) {
case 'csv':
case 'json':
case 'parquet': {
const { info, ...input } = data;
const inputPayload = this.generateInputS3Payload(input);
response = await this.OLD_inputClient.createS3Inputs({
input: inputPayload,
info,
});
break;
}
case 'oracle':
case 'mysql':
case 'postgresql':
case 'sqlserver':
response = await this.OLD_inputClient.newCreate(data);
break;
default:
response = await this.OLD_inputClient.createGeneric(data);
break;
}
const adjustedInput = this.adjustInputPayload(response.input);
return { ...response, input: adjustedInput };
}
async reCreate(data) {
const { info, cron } = data;
if (cron) this.validateCron({ info, cron });
const response = await this.OLD_inputClient.createGeneric(data);
const adjustedInput = this.adjustInputPayload(response.input);
return { ...response, input: adjustedInput };
async create(data: { body: CreateInputReq; info: Info }) {
// this.validateCron(data);
const { body, info } = data;
if (body.info) delete body.info;
const inputCreateGenericRequest: InputCreateGenericRequest = {
input: {
...body,
credentials: body.credentials && JSON.stringify(body.credentials),
},
info,
};
const { input } = await lastValueFrom(
this.inputWriteService.InputCreate(inputCreateGenericRequest),
);
const adjustedInput = this.adjustInputPayload(input);
return { input: adjustedInput };
}
async getAvailableEntities(data): Promise<{ entities: string[] }> {
return await this.OLD_inputClient.getAvailableEntities(data);
+1 -1
View File
File diff suppressed because one or more lines are too long