diff --git a/package-lock.json b/package-lock.json index e51cfa1..5077a5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "@nestjs/microservices": "^8.4.3", "@nestjs/platform-express": "^8.4.3", "@nestjs/swagger": "^5.2.1", - "@victorradael/protospack": "^1.4.2", + "@victorradael/protospack": "^1.5.5", "axios": "^0.25.0", "dotenv": "^14.2.0", "grpc": "^1.24.11", @@ -2372,9 +2372,9 @@ } }, "node_modules/@victorradael/protospack": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@victorradael/protospack/-/protospack-1.4.2.tgz", - "integrity": "sha512-UWEjCVtFag0uHoMLxb55JXG7Qfz0fn8Pk7v1H5dgZcBMLDhs9VARBVNq1JT4P6ypMyrnTbOyq08CoMukF8GHbQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@victorradael/protospack/-/protospack-1.5.5.tgz", + "integrity": "sha512-5yGW/EuZDY9N56CVMXJW1IrBkkv6KpalBepu0LLQvM5Y+Pr8lwY2i1p/1rlsjHo6Gk1RODKuWSXAL870jQEAdg==", "dependencies": { "rxjs": "^7.5.5" } @@ -11386,9 +11386,9 @@ } }, "@victorradael/protospack": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@victorradael/protospack/-/protospack-1.4.2.tgz", - "integrity": "sha512-UWEjCVtFag0uHoMLxb55JXG7Qfz0fn8Pk7v1H5dgZcBMLDhs9VARBVNq1JT4P6ypMyrnTbOyq08CoMukF8GHbQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@victorradael/protospack/-/protospack-1.5.5.tgz", + "integrity": "sha512-5yGW/EuZDY9N56CVMXJW1IrBkkv6KpalBepu0LLQvM5Y+Pr8lwY2i1p/1rlsjHo6Gk1RODKuWSXAL870jQEAdg==", "requires": { "rxjs": "^7.5.5" } diff --git a/package.json b/package.json index 5112bc7..4866b5f 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@nestjs/microservices": "^8.4.3", "@nestjs/platform-express": "^8.4.3", "@nestjs/swagger": "^5.2.1", - "@victorradael/protospack": "^1.4.2", + "@victorradael/protospack": "^1.5.5", "axios": "^0.25.0", "dotenv": "^14.2.0", "grpc": "^1.24.11", diff --git a/src/clients/auth/client.config.ts b/src/clients/auth/client.config.ts index 995a967..5a830db 100644 --- a/src/clients/auth/client.config.ts +++ b/src/clients/auth/client.config.ts @@ -1,7 +1,7 @@ import { credentials } from '@grpc/grpc-js'; import { ClientOptions, Transport } from '@nestjs/microservices'; -import { DucProtofile } from '@victorradael/protospack'; +import { DucProtoFilePath, DucPackages } from '@victorradael/protospack'; export class AuthClient { config(): ClientOptions { @@ -9,9 +9,9 @@ export class AuthClient { transport: Transport.GRPC, options: { url: process.env.DUC_URL, - package: 'duc', + package: DucPackages, credentials: credentials.createSsl(), - protoPath: DucProtofile, + protoPath: DucProtoFilePath, loader: { enums: String, objects: true, diff --git a/src/clients/auth/client.service.ts b/src/clients/auth/client.service.ts index 79669e1..9305d3b 100644 --- a/src/clients/auth/client.service.ts +++ b/src/clients/auth/client.service.ts @@ -1,27 +1,30 @@ import { OnModuleInit, Inject } from '@nestjs/common'; import { ClientGrpc } from '@nestjs/microservices'; -import { CognitoServiceInterface } from '@victorradael/protospack'; +import { + AuthServiceInterface, + DucServicesNames, +} from '@victorradael/protospack'; import { ILogin } from './interfaces'; export class AuthClientService implements OnModuleInit { - private cognitoService: CognitoServiceInterface; + private authService: AuthServiceInterface; constructor( @Inject('AUTH_PACKAGE') private readonly grpcClient: ClientGrpc, ) {} onModuleInit() { - this.cognitoService = this.grpcClient.getService( - 'CognitoProtoService', + this.authService = this.grpcClient.getService( + DucServicesNames.AuthProtoService, ); } async signIn({ username, password }: ILogin): Promise { - console.log('CognitoClientService', 'SignIn'); + console.log('AuthClientService', 'SignIn'); const tokens = await new Promise((resolve, reject) => { - this.cognitoService.signIn({ username, password }).subscribe({ + this.authService.signIn({ username, password }).subscribe({ next(x) { resolve(x); }, diff --git a/src/clients/inputs/client.config.ts b/src/clients/inputs/client.config.ts index 8e0ec83..73bc121 100644 --- a/src/clients/inputs/client.config.ts +++ b/src/clients/inputs/client.config.ts @@ -1,7 +1,7 @@ import { credentials } from '@grpc/grpc-js'; import { ClientOptions, Transport } from '@nestjs/microservices'; -import { InputProtofile } from '@victorradael/protospack'; +import { InputPackages, InputProtoFilePath } from '@victorradael/protospack'; export class InputsClientConfiguration { config(): ClientOptions { @@ -9,9 +9,9 @@ export class InputsClientConfiguration { transport: Transport.GRPC, options: { url: process.env.INFACTORY_URL, - package: 'input', + package: InputPackages, credentials: credentials.createSsl(), - protoPath: InputProtofile, + protoPath: InputProtoFilePath, loader: { enums: String, objects: true, diff --git a/src/clients/outputs/client.config.ts b/src/clients/outputs/client.config.ts index f574a4e..589e313 100644 --- a/src/clients/outputs/client.config.ts +++ b/src/clients/outputs/client.config.ts @@ -1,4 +1,4 @@ -import { OutputProtofile } from '@victorradael/protospack'; +import { OutputPackages, OutputProtoFilePath } from '@victorradael/protospack'; import { ClientOptions, Transport } from '@nestjs/microservices'; import { credentials } from '@grpc/grpc-js'; @@ -8,9 +8,9 @@ export class OutputsClientConfiguration { transport: Transport.GRPC, options: { url: process.env.OTFACTORY_URL, - package: 'output', + package: OutputPackages, credentials: credentials.createSsl(), - protoPath: OutputProtofile, + protoPath: OutputProtoFilePath, loader: { enums: String, objects: true, diff --git a/src/clients/outputs/client.service.ts b/src/clients/outputs/client.service.ts index e1e55a5..c05663f 100644 --- a/src/clients/outputs/client.service.ts +++ b/src/clients/outputs/client.service.ts @@ -1,6 +1,9 @@ import { Controller, Inject, OnModuleInit } from '@nestjs/common'; import { ClientGrpc, Payload } from '@nestjs/microservices'; -import { OutputsServiceInterface } from '@victorradael/protospack'; +import { + OutputServicesNames, + OutputsServiceInterface, +} from '@victorradael/protospack'; import { objectCamelToSnake, objectSnakeToCamel, @@ -19,8 +22,9 @@ export class OutputsClientService implements OnModuleInit { ) {} onModuleInit() { - this.outputService = - this.grpcClient.getService('OutputService'); + this.outputService = this.grpcClient.getService( + OutputServicesNames.OutputService, + ); } async create(@Payload() createOutputDto: ICreateOutputRequest) { diff --git a/src/clients/pipelines/client.config.ts b/src/clients/pipelines/client.config.ts index fae827f..aeb4402 100644 --- a/src/clients/pipelines/client.config.ts +++ b/src/clients/pipelines/client.config.ts @@ -1,5 +1,8 @@ import { ClientOptions, Transport } from '@nestjs/microservices'; -import { PipelineProtofile } from '@victorradael/protospack'; +import { + PipelinePackages, + PipelineProtoFilePath, +} from '@victorradael/protospack'; import { credentials } from '@grpc/grpc-js'; export class PipelinesClientConfiguration { @@ -8,9 +11,9 @@ export class PipelinesClientConfiguration { transport: Transport.GRPC, options: { url: process.env.PIFACTORY_URL, - package: 'pipeline', + package: PipelinePackages, credentials: credentials.createSsl(), - protoPath: PipelineProtofile, + protoPath: PipelineProtoFilePath, loader: { enums: String, objects: true, diff --git a/src/clients/pipelines/client.service.ts b/src/clients/pipelines/client.service.ts index 7c4bfec..0c00da8 100644 --- a/src/clients/pipelines/client.service.ts +++ b/src/clients/pipelines/client.service.ts @@ -1,13 +1,15 @@ import { Inject, OnModuleInit } from '@nestjs/common'; import { ClientGrpc, Payload } from '@nestjs/microservices'; -import { PipelinesServiceInterface } from '@victorradael/protospack'; +import { + PipelineServicesNames, + PipelinesServiceInterface, +} from '@victorradael/protospack'; import { objectCamelToSnake, objectSnakeToCamel, } from 'src/utils/CaseConverter'; import { ICreatePipelineDto, - IdRequest, IGetPipelineLogsRequest, IIdRequest, IUpdatePipelineRequest, @@ -21,7 +23,9 @@ export class PipelinesClientService implements OnModuleInit { onModuleInit() { this.pipelineService = - this.grpcClient.getService('PipelineService'); + this.grpcClient.getService( + PipelineServicesNames.PipelineService, + ); } async create(@Payload() createPipelineDto: ICreatePipelineDto) { @@ -29,7 +33,7 @@ export class PipelinesClientService implements OnModuleInit { const createPipelineResponse = await new Promise((resolve, reject) => { this.pipelineService - .create(objectSnakeToCamel(createPipelineDto)) + .Create(objectSnakeToCamel(createPipelineDto)) .subscribe({ next(x) { resolve(x); @@ -55,7 +59,7 @@ export class PipelinesClientService implements OnModuleInit { console.log('PipelinesClientService', 'FindAll'); const findAllPipelineResponse = await new Promise((resolve, reject) => { - this.pipelineService.findAll(objectSnakeToCamel(data)).subscribe({ + this.pipelineService.FindAll(objectSnakeToCamel(data)).subscribe({ next(x) { resolve(x); }, @@ -80,7 +84,7 @@ export class PipelinesClientService implements OnModuleInit { console.log('PipelinesClientService', 'FindOne'); const findOnePipelineResponse = await new Promise((resolve, reject) => { - this.pipelineService.findOne(objectSnakeToCamel(data)).subscribe({ + this.pipelineService.FindOne(objectSnakeToCamel(data)).subscribe({ next(x) { resolve(x); }, @@ -106,7 +110,7 @@ export class PipelinesClientService implements OnModuleInit { const updatePipelineResponse = await new Promise((resolve, reject) => { this.pipelineService - .update(objectSnakeToCamel(UpdatePipelineRequest)) + .Update(objectSnakeToCamel(UpdatePipelineRequest)) .subscribe({ next(x) { resolve(x); @@ -178,11 +182,11 @@ export class PipelinesClientService implements OnModuleInit { return logsPipelineResponse; } - async getPipelineStatus({ id }: IdRequest) { + async getPipelineStatus(data: IIdRequest) { console.log('PipelinesClientService', 'GetPipelineStatus'); const statusPipelineResponse = await new Promise((resolve, reject) => { - this.pipelineService.getPipelineStatus({ id }).subscribe({ + this.pipelineService.getPipelineStatus(data).subscribe({ next(x) { resolve(x); }, diff --git a/src/clients/transformations/client.config.ts b/src/clients/transformations/client.config.ts index e1ffe93..661acfe 100644 --- a/src/clients/transformations/client.config.ts +++ b/src/clients/transformations/client.config.ts @@ -1,5 +1,8 @@ import { ClientOptions, Transport } from '@nestjs/microservices'; -import { TransformationProtofile } from '@victorradael/protospack'; +import { + TransformationPackages, + TransformationProtoFilePath, +} from '@victorradael/protospack'; import { credentials } from '@grpc/grpc-js'; export class TransformationsClientConfiguration { @@ -8,9 +11,9 @@ export class TransformationsClientConfiguration { transport: Transport.GRPC, options: { url: process.env.TRFACTORY_URL, - package: 'transformation', + package: TransformationPackages, credentials: credentials.createSsl(), - protoPath: TransformationProtofile, + protoPath: TransformationProtoFilePath, loader: { enums: String, objects: true, diff --git a/src/clients/transformations/client.service.ts b/src/clients/transformations/client.service.ts index 0b7eaaf..9c5c9cc 100644 --- a/src/clients/transformations/client.service.ts +++ b/src/clients/transformations/client.service.ts @@ -28,7 +28,7 @@ export class TransformationsClientService implements OnModuleInit { const createTransformationResponse = await new Promise( (resolve, reject) => { this.transformationService - .create(objectSnakeToCamel(createTransformationsDto)) + .Create(objectSnakeToCamel(createTransformationsDto)) .subscribe({ next(x) { resolve(x); @@ -62,7 +62,7 @@ export class TransformationsClientService implements OnModuleInit { const findAllTransformationResponse = await new Promise( (resolve, reject) => { - this.transformationService.findAll(objectSnakeToCamel(data)).subscribe({ + this.transformationService.FindAll(objectSnakeToCamel(data)).subscribe({ next(x) { resolve(x); }, @@ -93,7 +93,7 @@ export class TransformationsClientService implements OnModuleInit { const findOneTransformationResponse = await new Promise( (resolve, reject) => { - this.transformationService.findOne(objectSnakeToCamel(data)).subscribe({ + this.transformationService.FindOne(objectSnakeToCamel(data)).subscribe({ next(x) { resolve(x); }, @@ -121,7 +121,7 @@ export class TransformationsClientService implements OnModuleInit { const updateTransformationResponse = await new Promise( (resolve, reject) => { this.transformationService - .update(objectSnakeToCamel(updateTransformationDTO)) + .Update(objectSnakeToCamel(updateTransformationDTO)) .subscribe({ next(x) { resolve(x); @@ -149,7 +149,7 @@ export class TransformationsClientService implements OnModuleInit { const removeTransformationResponse = await new Promise( (resolve, reject) => { - this.transformationService.remove(objectSnakeToCamel(data)).subscribe({ + this.transformationService.Remove(objectSnakeToCamel(data)).subscribe({ next(x) { resolve(x); }, diff --git a/src/modules/catalog/catalog.controller.ts b/src/modules/catalog/catalog.controller.ts index 5b2ecbe..afcf702 100644 --- a/src/modules/catalog/catalog.controller.ts +++ b/src/modules/catalog/catalog.controller.ts @@ -241,6 +241,17 @@ export class CatalogController { return res; } + @Get('table-tags') + async getAllTableTags(@Body() body) { + console.log(`/catalog`, 'ON GET ALL TABLE TAGS ROUTE'); + + const catalogService = new CatalogService(); + + const res = await catalogService.findAllTableTags(body); + + return res; + } + @Delete('table-tags') async deleteTableTags(@Param() params, @Body() body) { console.log(`/catalog`, 'ON CREATE TABLE TAGS ROUTE'); diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 6f5ecc4..ee6b0b3 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -232,6 +232,20 @@ class CatalogService { return data; } + async findAllTableTags(body) { + const customer = + body.info.customer.toLowerCase() === 'dadosfera' + ? `` + : `-${body.info.customer.toLowerCase()}`; + + const { data } = await axios.get( + `${process.env.NIMBUS_BASE_URL}${customer}.${process.env.ENV}.dadosfera/api/catalog/table-tags/`, + body, + ); + return data; + } + + async deleteTags(id, body) { const customer = body.info.customer.toLowerCase() === 'dadosfera' diff --git a/src/modules/pipelines/pipelines.controller.ts b/src/modules/pipelines/pipelines.controller.ts index 78462c6..fee04ca 100644 --- a/src/modules/pipelines/pipelines.controller.ts +++ b/src/modules/pipelines/pipelines.controller.ts @@ -31,15 +31,17 @@ export class PipelinesController { } @Get(':id/status') - async getPipelineStatus(@Param() params) { + async getPipelineStatus(@Body() body, @Param() params) { const { id } = params; + body.id = id; + console.log( process.env.DEV_URL + `/pipeline/${id}`, 'ON GET PIPELINE STATUS ROUTE', ); const pipelineService = new PipelinesService(this.pipelinesClientService); - const response = await pipelineService.getPipelineStatus(id); + const response = await pipelineService.getPipelineStatus(body); return response; } diff --git a/src/modules/pipelines/pipelines.service.ts b/src/modules/pipelines/pipelines.service.ts index 5cd9c2d..0b22593 100644 --- a/src/modules/pipelines/pipelines.service.ts +++ b/src/modules/pipelines/pipelines.service.ts @@ -74,10 +74,10 @@ export class PipelinesService { } } - async getPipelineStatus(id: string) { + async getPipelineStatus(data: IIdRequest) { try { const pipelineStatusResponse = - await this.pipelineClient.getPipelineStatus({ id }); + await this.pipelineClient.getPipelineStatus(data); return objectCamelToSnake(pipelineStatusResponse); } catch (err) { diff --git a/swagger.json b/swagger.json index 39361e6..52c136b 100644 --- a/swagger.json +++ b/swagger.json @@ -1 +1 @@ -{"openapi":"3.0.0","paths":{"/inputs/test-connection":{"post":{"operationId":"InputsController_testConnection","parameters":[],"responses":{"201":{"description":""}}}},"/inputs":{"post":{"operationId":"InputsController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"InputsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/inputs/{id}":{"get":{"operationId":"InputsController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"InputsController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"InputsController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/transformations":{"post":{"operationId":"TransformationsController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"TransformationsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/transformations/{id}":{"get":{"operationId":"TransformationsController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"TransformationsController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"TransformationsController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/outputs":{"post":{"operationId":"OutputsController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"OutputsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/outputs/{id}":{"get":{"operationId":"OutputsController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"OutputsController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"OutputsController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/start/{id}":{"get":{"operationId":"PipelinesController_activate","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/{id}/status":{"get":{"operationId":"PipelinesController_getPipelineStatus","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/{id}/{details}":{"get":{"operationId":"PipelinesController_getPipelineLogs","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines":{"post":{"operationId":"PipelinesController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"PipelinesController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/{id}":{"get":{"operationId":"PipelinesController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"PipelinesController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"PipelinesController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/auth":{"post":{"operationId":"AuthController_signIn","parameters":[],"responses":{"201":{"description":""}}}},"/health":{"get":{"operationId":"HealthController_check","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/all":{"get":{"operationId":"CatalogController_catalogAll","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data_apps":{"get":{"operationId":"CatalogController_dataAppsAll","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data_apps/{id}":{"delete":{"operationId":"CatalogController_dataAppsOne","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/dashboard-metabase":{"get":{"operationId":"CatalogController_getAllDashboardMetabase","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/dashboard-metabase/{id}":{"get":{"operationId":"CatalogController_getOneDashboardMetabase","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/table-metadata":{"get":{"operationId":"CatalogController_getAllTableMetadata","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteOneTableMetadata","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/column-metadata":{"get":{"operationId":"CatalogController_getOneColumnMetadata","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteOneColumnMetadata","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-preview":{"get":{"operationId":"CatalogController_getOneDataPreview","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-status":{"get":{"operationId":"CatalogController_getDataStatus","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-description":{"get":{"operationId":"CatalogController_getDataDescription","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-docs":{"get":{"operationId":"CatalogController_getDataDocs","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-rating":{"get":{"operationId":"CatalogController_getDataRating","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/summary-rating/{id}":{"get":{"operationId":"CatalogController_getSummaryRating","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-comment":{"get":{"operationId":"CatalogController_getDataComment","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-review":{"get":{"operationId":"CatalogController_getDataReview","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/tags":{"post":{"operationId":"CatalogController_createTags","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"CatalogController_findAllTags","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/tags/{id}":{"delete":{"operationId":"CatalogController_deleteTags","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/table-tags":{"post":{"operationId":"CatalogController_createTableTags","parameters":[],"responses":{"201":{"description":""}}},"delete":{"operationId":"CatalogController_deleteTableTags","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/table-rules":{"get":{"operationId":"CatalogController_getTableRules","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteTableRules","parameters":[],"responses":{"200":{"description":""}}}}},"info":{"title":"Maestro Grpc Documentation","description":"Documentation for Maestro gateway","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{}}} \ No newline at end of file +{"openapi":"3.0.0","paths":{"/inputs/test-connection":{"post":{"operationId":"InputsController_testConnection","parameters":[],"responses":{"201":{"description":""}}}},"/inputs":{"post":{"operationId":"InputsController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"InputsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/inputs/{id}":{"get":{"operationId":"InputsController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"InputsController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"InputsController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/transformations":{"post":{"operationId":"TransformationsController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"TransformationsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/transformations/{id}":{"get":{"operationId":"TransformationsController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"TransformationsController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"TransformationsController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/outputs":{"post":{"operationId":"OutputsController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"OutputsController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/outputs/{id}":{"get":{"operationId":"OutputsController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"OutputsController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"OutputsController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/start/{id}":{"get":{"operationId":"PipelinesController_activate","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/{id}/status":{"get":{"operationId":"PipelinesController_getPipelineStatus","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/{id}/{details}":{"get":{"operationId":"PipelinesController_getPipelineLogs","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines":{"post":{"operationId":"PipelinesController_create","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"PipelinesController_findAll","parameters":[],"responses":{"200":{"description":""}}}},"/pipelines/{id}":{"get":{"operationId":"PipelinesController_findOne","parameters":[],"responses":{"200":{"description":""}}},"put":{"operationId":"PipelinesController_update","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"PipelinesController_delete","parameters":[],"responses":{"200":{"description":""}}}},"/auth":{"post":{"operationId":"AuthController_signIn","parameters":[],"responses":{"201":{"description":""}}}},"/health":{"get":{"operationId":"HealthController_check","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/all":{"get":{"operationId":"CatalogController_catalogAll","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data_apps":{"get":{"operationId":"CatalogController_dataAppsAll","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data_apps/{id}":{"delete":{"operationId":"CatalogController_dataAppsOne","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/dashboard-metabase":{"get":{"operationId":"CatalogController_getAllDashboardMetabase","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/dashboard-metabase/{id}":{"get":{"operationId":"CatalogController_getOneDashboardMetabase","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/table-metadata":{"get":{"operationId":"CatalogController_getAllTableMetadata","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteOneTableMetadata","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/column-metadata":{"get":{"operationId":"CatalogController_getOneColumnMetadata","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteOneColumnMetadata","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-preview":{"get":{"operationId":"CatalogController_getOneDataPreview","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-status":{"get":{"operationId":"CatalogController_getDataStatus","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-description":{"get":{"operationId":"CatalogController_getDataDescription","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-docs":{"get":{"operationId":"CatalogController_getDataDocs","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-rating":{"get":{"operationId":"CatalogController_getDataRating","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/summary-rating/{id}":{"get":{"operationId":"CatalogController_getSummaryRating","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-comment":{"get":{"operationId":"CatalogController_getDataComment","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/data-review":{"get":{"operationId":"CatalogController_getDataReview","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/tags":{"post":{"operationId":"CatalogController_createTags","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"CatalogController_findAllTags","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/tags/{id}":{"delete":{"operationId":"CatalogController_deleteTags","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/table-tags":{"post":{"operationId":"CatalogController_createTableTags","parameters":[],"responses":{"201":{"description":""}}},"get":{"operationId":"CatalogController_getAllTableTags","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteTableTags","parameters":[],"responses":{"200":{"description":""}}}},"/catalog/table-rules":{"get":{"operationId":"CatalogController_getTableRules","parameters":[],"responses":{"200":{"description":""}}},"delete":{"operationId":"CatalogController_deleteTableRules","parameters":[],"responses":{"200":{"description":""}}}}},"info":{"title":"Maestro Grpc Documentation","description":"Documentation for Maestro gateway","version":"1.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{}}} \ No newline at end of file