From 69af7ba6262aa52718758748155b19f663cc3e9e Mon Sep 17 00:00:00 2001 From: Gabriel Rosa Date: Sun, 11 Sep 2022 13:07:21 -0300 Subject: [PATCH] FIX: new route for synchronizing connections with platform --- package-lock.json | 14 ++--- package.json | 2 +- src/app.module.ts | 2 + .../authentication.guard.spec.ts | 24 ++++---- src/authentication/permissions.enum.ts | 27 +++++++-- src/authentication/user.decorator.spec.ts | 4 +- src/modules/auth/auth.controller.ts | 4 +- src/modules/catalog/catalog.controller.ts | 4 +- .../connection-migrations.controller.ts | 16 ++++++ .../connection-migrations.module.ts | 13 +++++ .../connection-migrations.service.ts | 44 +++++++++++++++ src/modules/connection/client.service.ts | 17 +++++- .../connection/connection.controller.ts | 17 +++--- src/modules/connector/connector.controller.ts | 56 +++++++++---------- src/modules/connector/connector.module.ts | 1 + src/modules/inputs/inputs.controller.ts | 12 ++-- .../permissions/permissions.controller.ts | 4 +- .../permissions/permissions.service.ts | 12 ++-- src/modules/pipelines/pipelines.controller.ts | 4 +- .../pipelinesV2/pipelines.controller.ts | 4 +- src/modules/roles/roles.controller.ts | 20 +++---- .../transformations.controller.ts | 4 +- src/modules/users/users.controller.ts | 28 +++++----- src/modules/users/users.module.ts | 1 + src/modules/users/users.service.ts | 15 ++++- swagger.txt | 2 +- 26 files changed, 235 insertions(+), 116 deletions(-) create mode 100644 src/modules/connection-migrations/connection-migrations.controller.ts create mode 100644 src/modules/connection-migrations/connection-migrations.module.ts create mode 100644 src/modules/connection-migrations/connection-migrations.service.ts diff --git a/package-lock.json b/package-lock.json index 45979ac..5076626 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.3", - "@dadosfera/protospack-v2": "3.15.3", + "@dadosfera/protospack-v2": "3.17.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", @@ -1726,9 +1726,9 @@ } }, "node_modules/@dadosfera/protospack-v2": { - "version": "3.15.3", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.15.3.tgz", - "integrity": "sha512-/TNTnjm8XIQ3DFiJc8nnSRFQE23lF8Dm+8wzL1VJIqivdQK2gUwkpEoYT0CA6PFVvVFhDrEWo/zGY55tBHXJBg==", + "version": "3.17.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.17.0.tgz", + "integrity": "sha512-NeS8cs+ZJrC7kW1mgnRWwmP5E70RTfjp+UlJkHN5RA0vsRhKVcF8dA5VmGQerPT4aDA3K1sMkWJbjzU3Wdt/jA==", "dependencies": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -12305,9 +12305,9 @@ } }, "@dadosfera/protospack-v2": { - "version": "3.15.3", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.15.3.tgz", - "integrity": "sha512-/TNTnjm8XIQ3DFiJc8nnSRFQE23lF8Dm+8wzL1VJIqivdQK2gUwkpEoYT0CA6PFVvVFhDrEWo/zGY55tBHXJBg==", + "version": "3.17.0", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.17.0.tgz", + "integrity": "sha512-NeS8cs+ZJrC7kW1mgnRWwmP5E70RTfjp+UlJkHN5RA0vsRhKVcF8dA5VmGQerPT4aDA3K1sMkWJbjzU3Wdt/jA==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", diff --git a/package.json b/package.json index e800e02..8a008aa 100644 --- a/package.json +++ b/package.json @@ -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.15.3", + "@dadosfera/protospack-v2": "3.17.0", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", diff --git a/src/app.module.ts b/src/app.module.ts index 953a917..ca401ed 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -23,6 +23,7 @@ import { HealthModule } from './modules/health/health.module'; import { CatalogModule } from './modules/catalog/catalog.module'; import { ConfigModule } from '@nestjs/config'; import { PipelinesV2Module } from './modules/pipelinesV2/pipelines.module'; +import { ConnectionMigrationsModule } from './modules/connection-migrations/connection-migrations.module'; @Module({ controllers: [], @@ -53,6 +54,7 @@ import { PipelinesV2Module } from './modules/pipelinesV2/pipelines.module'; InputsModule, OauthModule, PipelinesV2Module, + ConnectionMigrationsModule, ], }) export class AppModule {} diff --git a/src/authentication/authentication.guard.spec.ts b/src/authentication/authentication.guard.spec.ts index 29c6a5f..8419aa6 100644 --- a/src/authentication/authentication.guard.spec.ts +++ b/src/authentication/authentication.guard.spec.ts @@ -13,7 +13,7 @@ import { RequireSomePermission, } from './authentication.decorator'; import { AuthenticationGuard } from './authentication.guard'; -import { PERMISSIONS } from './permissions.enum'; +import { PERMISSIONS_GROUPS } from './permissions.enum'; import { AuthClientService } from '../modules/auth/auth.service'; import ErrorCodes from '../utils/errorCodes'; @@ -36,15 +36,15 @@ class NoClassAuthController { } @Get('required-permission') - @RequireSomePermission(PERMISSIONS.ZENDESK.permissions.OPEN) + @RequireSomePermission(PERMISSIONS_GROUPS.ZENDESK.permissions.OPEN) async requiredPermission(@Body() body) { return { body }; } @Get('has-all-permissions') @RequireAllPermissions( - PERMISSIONS.ZENDESK.permissions.OPEN, - PERMISSIONS.METABASE.permissions.OPEN, + PERMISSIONS_GROUPS.ZENDESK.permissions.OPEN, + PERMISSIONS_GROUPS.METABASE.permissions.OPEN, ) async hasAllPermissions(@Body() body) { return { body }; @@ -52,8 +52,8 @@ class NoClassAuthController { @Get('has-some-permission') @RequireSomePermission( - PERMISSIONS.ZENDESK.permissions.OPEN, - PERMISSIONS.METABASE.permissions.OPEN, + PERMISSIONS_GROUPS.ZENDESK.permissions.OPEN, + PERMISSIONS_GROUPS.METABASE.permissions.OPEN, ) async hasSomePermission(@Body() body) { return { body }; @@ -62,7 +62,7 @@ class NoClassAuthController { @Controller('class-auth-condition') @AuthenticateCondition((req) => req.get('x-on-class') === 'ok') -@RequireSomePermission(PERMISSIONS.METABASE.permissions.OPEN) +@RequireSomePermission(PERMISSIONS_GROUPS.METABASE.permissions.OPEN) class ClassAuthConditionController { @Get('body') async getBody(@Body() body) { @@ -77,7 +77,7 @@ class ClassAuthConditionController { @Get('required-permission') @AuthenticateCondition((req) => req.get('x-on-route') === 'ok') - @RequireSomePermission(PERMISSIONS.ZENDESK.permissions.OPEN) + @RequireSomePermission(PERMISSIONS_GROUPS.ZENDESK.permissions.OPEN) async requiredPermission(@Body() body) { return { body }; } @@ -440,17 +440,17 @@ describe('authentication.guard', () => { NoClassAuthTest(null, null); ClassAuthConditionTest(null, null); - const tokenZ = CreateToken([PERMISSIONS.ZENDESK.permissions.OPEN]); + const tokenZ = CreateToken([PERMISSIONS_GROUPS.ZENDESK.permissions.OPEN]); NoClassAuthTest(tokenZ, ['zendesk']); ClassAuthConditionTest(tokenZ, ['zendesk']); - const tokenM = CreateToken([PERMISSIONS.METABASE.permissions.OPEN]); + const tokenM = CreateToken([PERMISSIONS_GROUPS.METABASE.permissions.OPEN]); NoClassAuthTest(tokenM, ['metabase']); ClassAuthConditionTest(tokenM, ['metabase']); const tokenZM = CreateToken([ - PERMISSIONS.ZENDESK.permissions.OPEN, - PERMISSIONS.METABASE.permissions.OPEN, + PERMISSIONS_GROUPS.ZENDESK.permissions.OPEN, + PERMISSIONS_GROUPS.METABASE.permissions.OPEN, ]); NoClassAuthTest(tokenZM, ['zendesk', 'metabase']); ClassAuthConditionTest(tokenZM, ['zendesk', 'metabase']); diff --git a/src/authentication/permissions.enum.ts b/src/authentication/permissions.enum.ts index 6aea388..489563b 100644 --- a/src/authentication/permissions.enum.ts +++ b/src/authentication/permissions.enum.ts @@ -37,7 +37,7 @@ export interface PermissionsObjectGroup { /*export const Permissions: { [P in keyof any]: { [Q in keyof any]: Permission }; } = {*/ -export const PERMISSIONS = { +export const PERMISSIONS_GROUPS = { AUTH: { title: { 'pt-br': 'Autenticação', @@ -496,17 +496,36 @@ export const PERMISSIONS = { }, }, }, + DADOSFERA: { + title: { + 'pt-br': 'Usuários', + 'en-us': 'Users', + 'es-es': 'Usuarios', + }, + permissions: { + ADMIN: { + seqid: 40, + claim: 'dadosfera:connections-migation', + usage: PermissionUsages.INTERNAL, + name: { + 'pt-br': 'connections-migation', + 'en-us': 'connections-migation', + 'es-es': 'connections-migation', + }, + }, + }, + }, }; // traverses the object searching for duplicate seqids or claims (executes at runtime) let nextAvailableSeqid = 0; -const seqids = Object.values(PERMISSIONS).flatMap((namespace) => +const seqids = Object.values(PERMISSIONS_GROUPS).flatMap((namespace) => Object.values(namespace.permissions).map(({ seqid }) => seqid), ); -const claims = Object.values(PERMISSIONS).flatMap((namespace) => +const claims = Object.values(PERMISSIONS_GROUPS).flatMap((namespace) => Object.values(namespace.permissions).map(({ claim }) => claim), ); -Object.values(PERMISSIONS).map((namespace) => +Object.values(PERMISSIONS_GROUPS).map((namespace) => Object.values(namespace.permissions).map(({ seqid, claim }) => { const seqidsCount = seqids.filter((x) => x === seqid).length; assert(seqidsCount === 1, `seqid ${seqid} count is not 1`); diff --git a/src/authentication/user.decorator.spec.ts b/src/authentication/user.decorator.spec.ts index 8e844f2..366d9da 100644 --- a/src/authentication/user.decorator.spec.ts +++ b/src/authentication/user.decorator.spec.ts @@ -11,7 +11,7 @@ import { AuthClientService } from '../modules/auth/auth.service'; import ErrorCodes from '../utils/errorCodes'; import { User } from './user.decorator'; -import { PERMISSIONS } from './permissions.enum'; +import { PERMISSIONS_GROUPS } from './permissions.enum'; const logger = { info: (...args) => args, @@ -49,7 +49,7 @@ describe('user.decorator', () => { const fakeUserPayload = { user_id: 'd50d33c7-6c2b-463c-861f-e21667e7c125', username: 'super.admin', - permissions: [PERMISSIONS.METABASE.permissions.OPEN].map( + permissions: [PERMISSIONS_GROUPS.METABASE.permissions.OPEN].map( ({ seqid }) => seqid, ), customer_id: '9d18e8ae-24b9-41a3-9e8f-a25ce57555b11', diff --git a/src/modules/auth/auth.controller.ts b/src/modules/auth/auth.controller.ts index 41462f3..a36f6ec 100644 --- a/src/modules/auth/auth.controller.ts +++ b/src/modules/auth/auth.controller.ts @@ -21,7 +21,7 @@ import { AuthVerifyTotpMfaRequest, } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages'; -import { PERMISSIONS } from 'src/authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { RequireAllPermissions } from 'src/authentication/authentication.decorator'; import { AuthClientService } from './auth.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; @@ -43,7 +43,7 @@ export class AuthController { } @Post('/sso/snowflake') - @RequireAllPermissions(PERMISSIONS.SNOWFLAKE.permissions.OPEN) + @RequireAllPermissions(PERMISSIONS_GROUPS.SNOWFLAKE.permissions.OPEN) @HttpCode(HttpStatus.OK) async snowflakeSignIn( @User() user: RequestUser, diff --git a/src/modules/catalog/catalog.controller.ts b/src/modules/catalog/catalog.controller.ts index bb7cb84..92ec21e 100644 --- a/src/modules/catalog/catalog.controller.ts +++ b/src/modules/catalog/catalog.controller.ts @@ -10,7 +10,7 @@ import { } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { AuthenticateCondition } from '../../authentication/authentication.decorator'; -import { PERMISSIONS } from '../../authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { CatalogService } from './catalog.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; @@ -33,7 +33,7 @@ import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; } return user.permissions.includes( - PERMISSIONS.CATALOG.permissions[action].seqid, + PERMISSIONS_GROUPS.CATALOG.permissions[action].seqid, ); }) export class CatalogController { diff --git a/src/modules/connection-migrations/connection-migrations.controller.ts b/src/modules/connection-migrations/connection-migrations.controller.ts new file mode 100644 index 0000000..03719a9 --- /dev/null +++ b/src/modules/connection-migrations/connection-migrations.controller.ts @@ -0,0 +1,16 @@ +import { Controller, Get } from '@nestjs/common'; +import { RequireAllPermissions } from 'src/authentication/authentication.decorator'; +import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; +import { ConnectionMigrationsService } from './connection-migrations.service'; + +@Controller('connection-migrations') +export class ConnectionMigrationsController { + constructor( + private connectionMigrationsService: ConnectionMigrationsService, + ) {} + @Get() + @RequireAllPermissions(PERMISSIONS_GROUPS.DADOSFERA.permissions.ADMIN) + async getAllCustomersPlatformConnections() { + return this.connectionMigrationsService.synchronizeConnections(); + } +} diff --git a/src/modules/connection-migrations/connection-migrations.module.ts b/src/modules/connection-migrations/connection-migrations.module.ts new file mode 100644 index 0000000..30ccd59 --- /dev/null +++ b/src/modules/connection-migrations/connection-migrations.module.ts @@ -0,0 +1,13 @@ +import { Module } from '@nestjs/common'; +import { ConnectionMigrationsService } from './connection-migrations.service'; +import { ConnectionMigrationsController } from './connection-migrations.controller'; +import { UsersModule } from '../users/users.module'; +import { ConnectionModule } from '../connection/connection.module'; +import { ConnectorModule } from '../connector/connector.module'; + +@Module({ + imports: [UsersModule, ConnectionModule, ConnectorModule], + providers: [ConnectionMigrationsService], + controllers: [ConnectionMigrationsController], +}) +export class ConnectionMigrationsModule {} diff --git a/src/modules/connection-migrations/connection-migrations.service.ts b/src/modules/connection-migrations/connection-migrations.service.ts new file mode 100644 index 0000000..748ee49 --- /dev/null +++ b/src/modules/connection-migrations/connection-migrations.service.ts @@ -0,0 +1,44 @@ +import { Injectable } from '@nestjs/common'; +import { ConnectionClientService } from '../connection/client.service'; +import { ConnectorClientService } from '../connector/client.service'; +import { UsersService } from '../users/users.service'; + +@Injectable() +export class ConnectionMigrationsService { + constructor( + private usersService: UsersService, + private connectionsService: ConnectionClientService, + private connectorService: ConnectorClientService, + ) {} + async synchronizeConnections() { + const { connectors } = await this.connectorService + .getAllConnectors({ + search: undefined, + filters: undefined, + language: 'pt-br', + page: 1, + size: 500, + }) + .then(({ connectors }) => ({ connectors: JSON.parse(connectors) })); + const { customers } = await this.usersService.findaAllCustomers(); + const promises: Promise<{ + customer_name: string; + productConnections: Record; + platformConnections: Record; + }>[] = []; + customers.forEach((c) => { + const customer_name = c.name; + promises.push( + this.connectionsService + .INTERNAL_getAllConnections({ customer_name }) + .then((res) => ({ + customer_name, + platformConnections: JSON.parse(res.platformConnections), + productConnections: JSON.parse(res.productConnections), + })), + ); + }); + const customer_connections = await Promise.all(promises); + return { customer_connections, connectors }; + } +} diff --git a/src/modules/connection/client.service.ts b/src/modules/connection/client.service.ts index 06e3cd3..9f07dd0 100644 --- a/src/modules/connection/client.service.ts +++ b/src/modules/connection/client.service.ts @@ -14,7 +14,10 @@ import { UpdateConnectionDto, } from './dtos/connection'; import { ConnectionClientConfiguration } from './client.config'; -import { GetConnectionDetailsResponse } from '@dadosfera/protospack-v2/dist/lib/ConnectionManager/interfaces/messages'; +import { + GetConnectionDetailsResponse, + INTERNAL_GetAllConnectionsResponse, +} from '@dadosfera/protospack-v2/dist/lib/ConnectionManager/interfaces/messages'; export class ConnectionClientService implements OnModuleInit { private connectionServiceRead: ConnectionManager.ReadService.ConnectionManagerReadServices; @@ -119,7 +122,7 @@ export class ConnectionClientService implements OnModuleInit { }); } - async getAllConnection({ body, metadata }): Promise { + async getAllConnections({ body, metadata }): Promise { const { search, filters, size, page } = body; return lastValueFrom( @@ -150,4 +153,14 @@ export class ConnectionClientService implements OnModuleInit { ); }); } + + async INTERNAL_getAllConnections({ + customer_name, + }: { + customer_name: string; + }): Promise { + return lastValueFrom( + this.connectionServiceRead.INTERNAL_GetAllConnections({ customer_name }), + ); + } } diff --git a/src/modules/connection/connection.controller.ts b/src/modules/connection/connection.controller.ts index a547036..025d6f3 100644 --- a/src/modules/connection/connection.controller.ts +++ b/src/modules/connection/connection.controller.ts @@ -17,7 +17,7 @@ import { Authenticated, RequireAllPermissions, } from 'src/authentication/authentication.decorator'; -import { PERMISSIONS } from 'src/authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { RequestUser, User } from 'src/authentication/user.decorator'; import { ValidationPipe } from '../../pipes/object-validation.pipe'; import { @@ -29,6 +29,7 @@ import { import { CreateConnectionDto } from './dtos/connection'; import { PackTheMetadata } from 'src/utils/ PackTheMetadata'; +const connectionPermissions = PERMISSIONS_GROUPS.CONNECTION.permissions; @ApiTags('connections') @ApiBearerAuth() @Authenticated() @@ -44,7 +45,7 @@ export class ConnectionController { } @Post() - // @RequireAllPermissions(Permissions.CONNECTIONS.CREATE) + @RequireAllPermissions(connectionPermissions.CREATE) async createConnection( @User() user: RequestUser, @Body(new ValidationPipe()) body: CreateConnectionDto, @@ -68,7 +69,7 @@ export class ConnectionController { } @Put('/:id') - // @RequireAllPermissions(Permissions.CONNECTIONS.CREATE) + @RequireAllPermissions(connectionPermissions.CREATE) async updateConnection( @User() user: RequestUser, @Headers('Dadosfera-Lang') language: string, @@ -97,7 +98,7 @@ export class ConnectionController { } @Delete('/:id') - // @RequireAllPermissions(Permissions.CONNECTIONS.CREATE) + @RequireAllPermissions(connectionPermissions.DELETE) async deleteConnection( @User() user: RequestUser, @Param('id') id: string, @@ -121,8 +122,7 @@ export class ConnectionController { } @Get() - // @RequireAllPermissions(Permissions.CONNECTIONS.CREATE) - async getAllConnection( + async getAllConnections( @User() user: RequestUser, @Headers('Dadosfera-Lang') language, @Query() queries, @@ -135,12 +135,12 @@ export class ConnectionController { const metadata = PackTheMetadata({ user_id, customer_id, - customer_name, + customer_name: 'dadosfera_local', language, username, }); - const response = await this.clientService.getAllConnection({ + const response = await this.clientService.getAllConnections({ body: { search, size, page, filters }, metadata, }); @@ -149,7 +149,6 @@ export class ConnectionController { } @Get('/:id') - // @RequireAllPermissions(Permissions.CONNECTIONS.CREATE) async getConnectionDetails( @Headers('Dadosfera-Lang') language, @User() user: RequestUser, diff --git a/src/modules/connector/connector.controller.ts b/src/modules/connector/connector.controller.ts index 8b89892..9bea83e 100644 --- a/src/modules/connector/connector.controller.ts +++ b/src/modules/connector/connector.controller.ts @@ -30,7 +30,7 @@ import { RequireAllPermissions, RequireSomePermission, } from 'src/authentication/authentication.decorator'; -import { PERMISSIONS } from 'src/authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; @ApiTags('connectors') @ApiBearerAuth() @@ -47,7 +47,7 @@ export class ConnectorController { } @Post() - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.CREATE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.CREATE) @ApiConsumes('multipart/form-data') @UseInterceptors(FileInterceptor('file')) async uploadConnector( @@ -65,7 +65,7 @@ export class ConnectorController { } @Post('/uploads') - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.CREATE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.CREATE) @ApiConsumes('multipart/form-data') @UseInterceptors(FilesInterceptor('files')) async uploadFile(@UploadedFiles() files) { @@ -82,7 +82,7 @@ export class ConnectorController { } @Post('/multiple-connectors-upload') - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.CREATE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.CREATE) @ApiConsumes('multipart/form-data') @UseInterceptors(FileInterceptor('file')) async uploadConnectorsFile(@UploadedFile() file: UploadConnectorsFileDto) { @@ -97,11 +97,11 @@ export class ConnectorController { @Get() @RequireSomePermission( - PERMISSIONS.CONNECTORS.permissions.GET, - PERMISSIONS.PIPELINE.permissions.CREATE, - PERMISSIONS.PIPELINE.permissions.GET, - PERMISSIONS.PIPELINE.permissions.UPDATE, - PERMISSIONS.PIPELINE.permissions.DELETE, + PERMISSIONS_GROUPS.CONNECTORS.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) async getAllConnectors( @Headers('dadosfera-lang') language, @@ -130,11 +130,11 @@ export class ConnectorController { @Get('/tags') @RequireSomePermission( - PERMISSIONS.CONNECTORS.permissions.GET, - PERMISSIONS.PIPELINE.permissions.CREATE, - PERMISSIONS.PIPELINE.permissions.GET, - PERMISSIONS.PIPELINE.permissions.UPDATE, - PERMISSIONS.PIPELINE.permissions.DELETE, + PERMISSIONS_GROUPS.CONNECTORS.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) async getConnectorsTags() { return await this.connectorClientService.getConnectorsTags(); @@ -142,11 +142,11 @@ export class ConnectorController { @Get('/:plugin') @RequireSomePermission( - PERMISSIONS.CONNECTORS.permissions.GET, - PERMISSIONS.PIPELINE.permissions.CREATE, - PERMISSIONS.PIPELINE.permissions.GET, - PERMISSIONS.PIPELINE.permissions.UPDATE, - PERMISSIONS.PIPELINE.permissions.DELETE, + PERMISSIONS_GROUPS.CONNECTORS.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) async getConnector( @Headers('dadosfera-lang') language, @@ -171,11 +171,11 @@ export class ConnectorController { @Get('/:plugin/details') @RequireSomePermission( - PERMISSIONS.CONNECTORS.permissions.GET, - PERMISSIONS.PIPELINE.permissions.CREATE, - PERMISSIONS.PIPELINE.permissions.GET, - PERMISSIONS.PIPELINE.permissions.UPDATE, - PERMISSIONS.PIPELINE.permissions.DELETE, + PERMISSIONS_GROUPS.CONNECTORS.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.GET, + PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE, + PERMISSIONS_GROUPS.PIPELINE.permissions.DELETE, ) async getConnectorDetails( @Headers('dadosfera-lang') language, @@ -199,7 +199,7 @@ export class ConnectorController { } @Put('/:plugin') - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.UPDATE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.UPDATE) @ApiConsumes('multipart/form-data') async updateConnector( @Param('plugin') plugin: string, @@ -221,7 +221,7 @@ export class ConnectorController { } @Put('/:plugin/add-tag') - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.UPDATE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.UPDATE) async addTagOnConnector( @Param('plugin') plugin: string, @Body() body: AddTagDto, @@ -248,7 +248,7 @@ export class ConnectorController { } @Put('/:plugin/remove-tag') - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.UPDATE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.UPDATE) async removeTagOnConnector( @Param('plugin') plugin: string, @Body() body: RemoveTagDto, @@ -276,7 +276,7 @@ export class ConnectorController { } @Delete('/:plugin') - @RequireAllPermissions(PERMISSIONS.CONNECTORS.permissions.DELETE) + @RequireAllPermissions(PERMISSIONS_GROUPS.CONNECTORS.permissions.DELETE) async deleteConnector( @Param('plugin') plugin: string, @Body() { version }: DeleteConnectorDto, diff --git a/src/modules/connector/connector.module.ts b/src/modules/connector/connector.module.ts index f13a934..b620a9c 100644 --- a/src/modules/connector/connector.module.ts +++ b/src/modules/connector/connector.module.ts @@ -11,5 +11,6 @@ const client = new ConnectorClientConfiguration(); controllers: [ConnectorController], providers: [ConnectorClientService, DadosferaLogger], imports: [ClientsModule.register([client.providerOptions])], + exports: [ConnectorClientService], }) export class ConnectorModule {} diff --git a/src/modules/inputs/inputs.controller.ts b/src/modules/inputs/inputs.controller.ts index 2a85fb2..8e525dd 100644 --- a/src/modules/inputs/inputs.controller.ts +++ b/src/modules/inputs/inputs.controller.ts @@ -10,7 +10,7 @@ import { } from '@nestjs/common'; import { InputsService } from './inputs.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; -import { PERMISSIONS } from '../../authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { AuthenticateCondition } from 'src/authentication/authentication.decorator'; import { ApiOkResponse, ApiTags } from '@nestjs/swagger'; import { @@ -36,20 +36,20 @@ import { Info } from '@dadosfera/protospack-v2/dist/lib/Input/interfaces/entitie case 'PATCH': return ( user.permissions.includes( - PERMISSIONS.PIPELINE.permissions.CREATE.seqid, + PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE.seqid, ) || - user.permissions.includes(PERMISSIONS.PIPELINE.permissions.UPDATE.seqid) + user.permissions.includes(PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE.seqid) ); default: return ( user.permissions.includes( - PERMISSIONS.PIPELINE.permissions.CREATE.seqid, + PERMISSIONS_GROUPS.PIPELINE.permissions.CREATE.seqid, ) || user.permissions.includes( - PERMISSIONS.PIPELINE.permissions.UPDATE.seqid, + PERMISSIONS_GROUPS.PIPELINE.permissions.UPDATE.seqid, ) || - user.permissions.includes(PERMISSIONS.PIPELINE.permissions.GET.seqid) + user.permissions.includes(PERMISSIONS_GROUPS.PIPELINE.permissions.GET.seqid) ); } }) diff --git a/src/modules/permissions/permissions.controller.ts b/src/modules/permissions/permissions.controller.ts index 5bed341..0b06ec8 100644 --- a/src/modules/permissions/permissions.controller.ts +++ b/src/modules/permissions/permissions.controller.ts @@ -6,7 +6,7 @@ import { RequireAllPermissions, } from 'src/authentication/authentication.decorator'; import { - PERMISSIONS, + PERMISSIONS_GROUPS, PermissionUsages, } from 'src/authentication/permissions.enum'; import { RequestUser, User } from 'src/authentication/user.decorator'; @@ -36,7 +36,7 @@ export class PermissionsController { @Get() @ApiOkResponse({ type: GetPublicPermissionsRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) getPublicPermissions( @User() user: RequestUser, @Headers('dadosfera-lang') language, diff --git a/src/modules/permissions/permissions.service.ts b/src/modules/permissions/permissions.service.ts index bd7fe65..f972a6b 100644 --- a/src/modules/permissions/permissions.service.ts +++ b/src/modules/permissions/permissions.service.ts @@ -12,7 +12,7 @@ import { PermissionsProtoService as PermissionsServiceInterface } from '@dadosfe import { InjectPermissionsRequest } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/messages'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { - PERMISSIONS, + PERMISSIONS_GROUPS, PermissionUsages, PermissionsObjectGroup, PermissionsObjectPermissionTranslated, @@ -48,7 +48,7 @@ export class PermissionsService async onApplicationBootstrap() { this.logger.info('sending permissions to DUC...'); - const permissions = Object.values(PERMISSIONS).flatMap((namespace) => + const permissions = Object.values(PERMISSIONS_GROUPS).flatMap((namespace) => Object.values(namespace.permissions), ); @@ -80,8 +80,8 @@ export class PermissionsService language: LanguageEnum = LanguageEnum.ptbr, ): PermissionGroup[] { const groups: PermissionGroup[] = []; - for (const key in PERMISSIONS) { - const permissionGroup: PermissionsObjectGroup = PERMISSIONS[key]; + for (const key in PERMISSIONS_GROUPS) { + const permissionGroup: PermissionsObjectGroup = PERMISSIONS_GROUPS[key]; const title = permissionGroup.title[language]; const permissions: PermissionGroupPermission[] = Object.values( permissionGroup.permissions, @@ -100,8 +100,8 @@ export class PermissionsService } getAllPermissions(language: LanguageEnum = LanguageEnum.ptbr) { let permissions: PermissionsObjectPermissionTranslated[] = []; - for (const key in PERMISSIONS) { - const permissionGroup: PermissionsObjectGroup = PERMISSIONS[key]; + for (const key in PERMISSIONS_GROUPS) { + const permissionGroup: PermissionsObjectGroup = PERMISSIONS_GROUPS[key]; const permissionGroupPermissions: PermissionsObjectPermissionTranslated[] = Object.values(permissionGroup.permissions).map((p) => ({ ...p, diff --git a/src/modules/pipelines/pipelines.controller.ts b/src/modules/pipelines/pipelines.controller.ts index fcd225d..3fd33c6 100644 --- a/src/modules/pipelines/pipelines.controller.ts +++ b/src/modules/pipelines/pipelines.controller.ts @@ -10,7 +10,7 @@ import { } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { AuthenticateCondition } from 'src/authentication/authentication.decorator'; -import { PERMISSIONS } from '../../authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { PipelinesService } from './pipelines.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { RequestUser, User } from 'src/authentication/user.decorator'; @@ -34,7 +34,7 @@ import { RequestUser, User } from 'src/authentication/user.decorator'; } return user.permissions.includes( - PERMISSIONS.PIPELINE.permissions[action].seqid, + PERMISSIONS_GROUPS.PIPELINE.permissions[action].seqid, ); }) export class PipelinesController { diff --git a/src/modules/pipelinesV2/pipelines.controller.ts b/src/modules/pipelinesV2/pipelines.controller.ts index fb7ec1b..ea601af 100644 --- a/src/modules/pipelinesV2/pipelines.controller.ts +++ b/src/modules/pipelinesV2/pipelines.controller.ts @@ -12,7 +12,7 @@ import { } from '@nestjs/common'; import { ApiCreatedResponse, ApiTags } from '@nestjs/swagger'; import { AuthenticateCondition } from 'src/authentication/authentication.decorator'; -import { PERMISSIONS } from '../../authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { PipelinesService } from './pipelines.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { Messages } from '@dadosfera/protospack-v2/dist/lib/PipelineV2'; @@ -40,7 +40,7 @@ import { ICreatePipelineV2Req, IPipelineV2 } from './interfaces'; } return user.permissions.includes( - PERMISSIONS.PIPELINE.permissions[action].seqid, + PERMISSIONS_GROUPS.PIPELINE.permissions[action].seqid, ); }) export class PipelinesController { diff --git a/src/modules/roles/roles.controller.ts b/src/modules/roles/roles.controller.ts index abcdebc..ebd00b6 100644 --- a/src/modules/roles/roles.controller.ts +++ b/src/modules/roles/roles.controller.ts @@ -39,7 +39,7 @@ import { SetRoleUsersReq, } from './dto/entities'; import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filter'; -import { PERMISSIONS } from 'src/authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { Authenticated, RequireAllPermissions, @@ -69,7 +69,7 @@ export class RolesController { @Get() @ApiOkResponse({ type: GetRolesByCustomerRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async searchRoles( @User() user: RequestUser, @Query() filters: GetRolesByCustomerReq, @@ -82,7 +82,7 @@ export class RolesController { @Post() @ApiCreatedResponse({ type: CreateRoleRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async createRole( @User() user: RequestUser, @Body() body: CreateRoleReq, @@ -95,7 +95,7 @@ export class RolesController { @Put('permissions') @ApiOkResponse({ type: GrantPermissionsToRoleRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async grantPermissionsToRole( @User() user: RequestUser, @Body() body: GrantPermissionsToRoleReq, @@ -108,7 +108,7 @@ export class RolesController { @Delete('permissions') @ApiOkResponse({ type: RevokePermissionsFromRoleRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async revokePermissionsFromRole( @User() user: RequestUser, @Body() body: RevokePermissionsFromRoleReq, @@ -121,7 +121,7 @@ export class RolesController { @Patch('permissions') @ApiOkResponse({ type: SetRolePermissionsRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async setRolePermissions( @User() user: RequestUser, @Body() body: SetRolePermissionsReq, @@ -134,7 +134,7 @@ export class RolesController { @Patch('users') @ApiOkResponse({ type: SetRoleUsersRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async setRoleUsers( @User() user: RequestUser, @Body() body: SetRoleUsersReq, @@ -147,7 +147,7 @@ export class RolesController { @Get(':id') @ApiOkResponse({ type: RoleDto }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async getRoleById( @User() user: RequestUser, @Param('id') id: string, @@ -159,7 +159,7 @@ export class RolesController { } @Delete(':id') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async deleteRole( @User() user: RequestUser, @Param('id') id: string, @@ -172,7 +172,7 @@ export class RolesController { @Patch(':id') @ApiOkResponse({ type: UpdateRoleRes }) - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async updateRole( @User() user: RequestUser, @Param('id') id: string, diff --git a/src/modules/transformations/transformations.controller.ts b/src/modules/transformations/transformations.controller.ts index d6ebef9..07995c2 100644 --- a/src/modules/transformations/transformations.controller.ts +++ b/src/modules/transformations/transformations.controller.ts @@ -12,7 +12,7 @@ import { ApiTags } from '@nestjs/swagger'; import { TransformationsClientService } from './client.service'; import { IIdRequest } from './interfaces'; import { AuthenticateCondition } from 'src/authentication/authentication.decorator'; -import { PERMISSIONS } from '../../authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from '../../authentication/permissions.enum'; import { TransformationsService } from './transformations.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { RequestUser, User } from 'src/authentication/user.decorator'; @@ -36,7 +36,7 @@ import { RequestUser, User } from 'src/authentication/user.decorator'; } return user.permissions.includes( - PERMISSIONS.TRANSFORMATIONS.permissions[action].seqid, + PERMISSIONS_GROUPS.TRANSFORMATIONS.permissions[action].seqid, ); }) export class TransformationsController { diff --git a/src/modules/users/users.controller.ts b/src/modules/users/users.controller.ts index 089febf..52b1892 100644 --- a/src/modules/users/users.controller.ts +++ b/src/modules/users/users.controller.ts @@ -22,7 +22,7 @@ import { } from '@nestjs/swagger'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { RequireAllPermissions } from 'src/authentication/authentication.decorator'; -import { PERMISSIONS } from 'src/authentication/permissions.enum'; +import { PERMISSIONS_GROUPS } from 'src/authentication/permissions.enum'; import { RequestUser, User } from 'src/authentication/user.decorator'; import { GrpcToHttpExceptionFilter } from 'src/error/grpc-to-http-exception.filter'; import { LanguageEnum } from 'src/utils/languages.enum'; @@ -68,7 +68,7 @@ export class UsersController { } @Get() - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: GetAllUsersByCustomerIdRes, description: 'List of users of a customer', @@ -83,7 +83,7 @@ export class UsersController { } @Get('hierarchies') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: GetAllHierarchiesRes }) async getAllHierarchies( @User() user: RequestUser, @@ -95,7 +95,7 @@ export class UsersController { } @Get('departments') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: GetAllDepartmentsRes }) async getAllDepartments( @User() user: RequestUser, @@ -107,7 +107,7 @@ export class UsersController { } @Get('jobTitles') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: GetAllDepartmentsRes }) async getAllJobTitles( @User() user: RequestUser, @@ -119,7 +119,7 @@ export class UsersController { } @Get(':id') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: UserByCustomer, }) @@ -134,7 +134,7 @@ export class UsersController { } @Post() - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiCreatedResponse({ type: CreateUserRes }) async createUser( @User() user: RequestUser, @@ -147,7 +147,7 @@ export class UsersController { } @Post('batch') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiCreatedResponse({ type: BatchCreateUserRes }) async batchCreateUser( @User() user: RequestUser, @@ -160,7 +160,7 @@ export class UsersController { } @Post(':id/resend-invite') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @HttpCode(HttpStatus.OK) async resendInvite( @User() user: RequestUser, @@ -173,7 +173,7 @@ export class UsersController { } @Delete('role') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async unassignRoleToUser( @User() user: RequestUser, @Query() request: UnassignRoleToUserReq, @@ -185,7 +185,7 @@ export class UsersController { } @Delete(':id') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: DeleteUserRes }) async deleteUser( @User() user: RequestUser, @@ -198,7 +198,7 @@ export class UsersController { } @Patch('roles') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: SetUserRolesRes }) async setUserRoles( @User() user: RequestUser, @@ -211,7 +211,7 @@ export class UsersController { } @Put('role') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) async assignRoleToUser( @User() user: RequestUser, @Body() body: AssignRoleToUserReq, @@ -223,7 +223,7 @@ export class UsersController { } @Patch(':id') - @RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN) + @RequireAllPermissions(PERMISSIONS_GROUPS.USERS.permissions.ADMIN) @ApiOkResponse({ type: UpdateUserRes }) async updateUser( @User() user: RequestUser, diff --git a/src/modules/users/users.module.ts b/src/modules/users/users.module.ts index bb1af3b..ab85529 100644 --- a/src/modules/users/users.module.ts +++ b/src/modules/users/users.module.ts @@ -17,5 +17,6 @@ const client = new DucClient(); ], controllers: [UsersController], providers: [UsersService, DadosferaLogger], + exports: [UsersService], }) export class UsersModule {} diff --git a/src/modules/users/users.service.ts b/src/modules/users/users.service.ts index 466b231..dae5612 100644 --- a/src/modules/users/users.service.ts +++ b/src/modules/users/users.service.ts @@ -3,7 +3,10 @@ import { ClientGrpc } from '@nestjs/microservices'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { ProtoServices } from '@dadosfera/protospack-v2/dist/lib/Duc'; -import { UsersProtoService } from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service'; +import { + CustomersProtoService, + UsersProtoService, +} from '@dadosfera/protospack-v2/dist/lib/Duc/interfaces/write-service'; import { AssignRoleToUserRequest, IdRequest, @@ -31,6 +34,7 @@ export class UsersService implements OnModuleInit { language: LanguageEnum = LanguageEnum.ptbr; private usersClientService: UsersProtoService; + private customersClientService: CustomersProtoService; constructor( @Inject(DadosferaLogger) dadosferaLogger: DadosferaLogger, @@ -41,9 +45,12 @@ export class UsersService implements OnModuleInit { } onModuleInit() { - this.usersClientService = this.grpcClient.getService( + this.usersClientService = this.grpcClient.getService( ProtoServices.UsersProtoService, ); + this.customersClientService = this.grpcClient.getService( + ProtoServices.CustomersProtoService, + ); } setLanguage(l: LanguageEnum = LanguageEnum.ptbr) { @@ -200,4 +207,8 @@ export class UsersService implements OnModuleInit { }; }); } + + async findaAllCustomers() { + return await lastValueFrom(this.customersClientService.CustomerFindAll({})); + } } diff --git a/swagger.txt b/swagger.txt index 1dcca8e..d5987c8 100644 --- a/swagger.txt +++ b/swagger.txt @@ -1 +1 @@ -"{\"openapi\":\"3.0.0\",\"paths\":{\"/connectors\":{\"post\":{\"operationId\":\"ConnectorController_uploadConnector\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateConnectorDto\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]},\"get\":{\"operationId\":\"ConnectorController_getAllConnectors\",\"parameters\":[{\"name\":\"search\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"language\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"size\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"page\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/uploads\":{\"post\":{\"operationId\":\"ConnectorController_uploadFile\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/multiple-connectors-upload\":{\"post\":{\"operationId\":\"ConnectorController_uploadConnectorsFile\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/tags\":{\"get\":{\"operationId\":\"ConnectorController_getConnectorsTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}\":{\"get\":{\"operationId\":\"ConnectorController_getConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}},{\"name\":\"version\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]},\"put\":{\"operationId\":\"ConnectorController_updateConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]},\"delete\":{\"operationId\":\"ConnectorController_deleteConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteConnectorDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}/details\":{\"get\":{\"operationId\":\"ConnectorController_getConnectorDetails\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}},{\"name\":\"version\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}/add-tag\":{\"put\":{\"operationId\":\"ConnectorController_addTagOnConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AddTagDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}/remove-tag\":{\"put\":{\"operationId\":\"ConnectorController_removeTagOnConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RemoveTagDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/auth/sign-in\":{\"post\":{\"operationId\":\"AuthController_signIn\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/refresh-access-token\":{\"post\":{\"operationId\":\"AuthController_refreshAccessToken\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/change-password\":{\"post\":{\"operationId\":\"AuthController_changePassword\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/reset-password\":{\"post\":{\"operationId\":\"AuthController_resetPassword\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/verify-reset-password-code\":{\"post\":{\"operationId\":\"AuthController_verifyResetPasswordCode\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/confirm-reset-password\":{\"post\":{\"operationId\":\"AuthController_confirmResetPassword\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/enable-totp\":{\"post\":{\"operationId\":\"AuthController_enableTotpMFA\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/disable-totp\":{\"post\":{\"operationId\":\"AuthController_disableTotpMFA\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/dismiss-totp\":{\"post\":{\"operationId\":\"AuthController_dismissTotpMFA\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/verify-totp\":{\"post\":{\"operationId\":\"AuthController_verifyTotp\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/permissions\":{\"get\":{\"operationId\":\"PermissionsController_getPublicPermissions\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetPublicPermissionsRes\"}}}}},\"tags\":[\"Permissions\"]}},\"/terms-of-use/token\":{\"get\":{\"operationId\":\"TermsOfUseController_getToken\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"TermsOfUse\"]}},\"/terms-of-use/accept\":{\"post\":{\"operationId\":\"TermsOfUseController_accept\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"TermsOfUse\"]}},\"/connections\":{\"post\":{\"operationId\":\"ConnectionController_createConnection\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateConnectionDto\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]},\"get\":{\"operationId\":\"ConnectionController_getAllConnection\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionsRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]}},\"/connections/{id}\":{\"put\":{\"operationId\":\"ConnectionController_updateConnection\",\"parameters\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateConnectionDto\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]},\"delete\":{\"operationId\":\"ConnectionController_deleteConnection\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]},\"get\":{\"operationId\":\"ConnectionController_getConnectionDetails\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionDetailsRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]}},\"/network-config\":{\"get\":{\"operationId\":\"NetworkConfigController_findAllNetworkConfigs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FindAllNetworkConfigsRes\"}}}}},\"tags\":[\"Network Config\"]},\"post\":{\"operationId\":\"NetworkConfigController_createNetworkConfigs\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNetworkConfigReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNetworkConfigRes\"}}}},\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNetworkConfigRes\"}}}}},\"tags\":[\"Network Config\"]}},\"/network-config/{id}\":{\"get\":{\"operationId\":\"NetworkConfigController_findNetworkConfigById\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FindAllNetworkConfigsRes\"}}}}},\"tags\":[\"Network Config\"]},\"patch\":{\"operationId\":\"NetworkConfigController_updateNetworkConfig\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateNetworkConfigReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateNetworkConfigRes\"}}}}},\"tags\":[\"Network Config\"]},\"delete\":{\"operationId\":\"NetworkConfigController_deleteNetworkConfig\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteNetworkConfigRes\"}}}}},\"tags\":[\"Network Config\"]}},\"/network-config/{id}/details\":{\"get\":{\"operationId\":\"NetworkConfigController_findNetworkConfigByIdDetails\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FindAllNetworkConfigsRes\"}}}}},\"tags\":[\"Network Config\"]}},\"/connection-test/ping\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestPing\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestPingReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestPingRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/credentials\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestCredentials\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestCredentialsReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestCredentialsRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/schemas\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestListSchemas\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListSchemasReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListSchemasRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/tables\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestListTables\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListTablesReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListTablesRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/table-metadata\":{\"post\":{\"operationId\":\"ConnectionTestController_getTableMetadata\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetTableMetadataReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetTableMetadataRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/pipelines/start/{id}\":{\"post\":{\"operationId\":\"PipelinesController_activate\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/pipelines/{id}/status\":{\"get\":{\"operationId\":\"PipelinesController_getPipelineStatus\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/pipelines/{id}/{details}\":{\"get\":{\"operationId\":\"PipelinesController_getPipelineLogs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/pipelines\":{\"post\":{\"operationId\":\"PipelinesController_create\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"get\":{\"operationId\":\"PipelinesController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Pipelines\"]}},\"/pipelines/{id}\":{\"get\":{\"operationId\":\"PipelinesController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"put\":{\"operationId\":\"PipelinesController_update\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"delete\":{\"operationId\":\"PipelinesController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/transformations\":{\"post\":{\"operationId\":\"TransformationsController_create\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\"}},\"tags\":[\"Transformations\"]},\"get\":{\"operationId\":\"TransformationsController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Transformations\"]}},\"/transformations/{id}\":{\"get\":{\"operationId\":\"TransformationsController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Transformations\"]},\"put\":{\"operationId\":\"TransformationsController_update\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Transformations\"]},\"delete\":{\"operationId\":\"TransformationsController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Transformations\"]}},\"/health\":{\"get\":{\"operationId\":\"HealthController_check\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Health\"]}},\"/catalog/all\":{\"get\":{\"operationId\":\"CatalogController_catalogAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data_apps\":{\"get\":{\"operationId\":\"CatalogController_dataAppsAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data_apps/{id}\":{\"delete\":{\"operationId\":\"CatalogController_dataAppsOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/dashboard-metabase\":{\"get\":{\"operationId\":\"CatalogController_getAllDashboardMetabase\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/dashboard-metabase/{id}\":{\"get\":{\"operationId\":\"CatalogController_getOneDashboardMetabase\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-metadata\":{\"get\":{\"operationId\":\"CatalogController_getAllTableMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-metadata/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteOneTableMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/column-metadata\":{\"get\":{\"operationId\":\"CatalogController_getOneColumnMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/column-metadata/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteOneColumnMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-preview\":{\"get\":{\"operationId\":\"CatalogController_getOneDataPreview\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-status\":{\"get\":{\"operationId\":\"CatalogController_createDataStatus\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-description\":{\"get\":{\"operationId\":\"CatalogController_getDataDescription\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataDescription\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-docs\":{\"get\":{\"operationId\":\"CatalogController_getDataDocs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataDocs\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-rating\":{\"get\":{\"operationId\":\"CatalogController_getDataRating\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataRating\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/summary-rating/{id}\":{\"get\":{\"operationId\":\"CatalogController_getSummaryRating\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-comment\":{\"get\":{\"operationId\":\"CatalogController_getDataComment\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataComment\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-review\":{\"get\":{\"operationId\":\"CatalogController_getDataReview\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/tags\":{\"post\":{\"operationId\":\"CatalogController_createTags\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"get\":{\"operationId\":\"CatalogController_findAllTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/tags/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-tags\":{\"post\":{\"operationId\":\"CatalogController_createTableTags\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"get\":{\"operationId\":\"CatalogController_getAllTableTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-tags/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteTableTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-rules\":{\"get\":{\"operationId\":\"CatalogController_getTableRules\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-rules/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteTableRules\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/users\":{\"get\":{\"operationId\":\"UsersController_getAllUsersByCustomerId\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"List of users of a customer\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllUsersByCustomerIdRes\"}}}}},\"tags\":[\"Users\"]},\"post\":{\"operationId\":\"UsersController_createUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateUserReq\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateUserRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/hierarchies\":{\"get\":{\"operationId\":\"UsersController_getAllHierarchies\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllHierarchiesRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/departments\":{\"get\":{\"operationId\":\"UsersController_getAllDepartments\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllDepartmentsRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/jobTitles\":{\"get\":{\"operationId\":\"UsersController_getAllJobTitles\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllDepartmentsRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/{id}\":{\"get\":{\"operationId\":\"UsersController_findOneById\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}}}}},\"tags\":[\"Users\"]},\"delete\":{\"operationId\":\"UsersController_deleteUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteUserRes\"}}}}},\"tags\":[\"Users\"]},\"patch\":{\"operationId\":\"UsersController_updateUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUserReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUserRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/batch\":{\"post\":{\"operationId\":\"UsersController_batchCreateUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BatchCreateUserReq\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BatchCreateUserRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/{id}/resend-invite\":{\"post\":{\"operationId\":\"UsersController_resendInvite\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Users\"]}},\"/users/roles\":{\"patch\":{\"operationId\":\"UsersController_setUserRoles\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetUserRolesReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetUserRolesRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/role\":{\"put\":{\"operationId\":\"UsersController_assignRoleToUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AssignRoleToUserReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Users\"]},\"delete\":{\"operationId\":\"UsersController_unassignRoleToUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Users\"]}},\"/roles\":{\"get\":{\"operationId\":\"RolesController_searchRoles\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"permissionId\",\"required\":false,\"in\":\"query\",\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},{\"name\":\"getUsers\",\"required\":false,\"in\":\"query\",\"schema\":{\"enum\":[\"true\",\"false\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetRolesByCustomerRes\"}}}}},\"tags\":[\"Roles\"]},\"post\":{\"operationId\":\"RolesController_createRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateRoleReq\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateRoleRes\"}}}}},\"tags\":[\"Roles\"]}},\"/roles/permissions\":{\"put\":{\"operationId\":\"RolesController_grantPermissionsToRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GrantPermissionsToRoleReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GrantPermissionsToRoleRes\"}}}}},\"tags\":[\"Roles\"]},\"delete\":{\"operationId\":\"RolesController_revokePermissionsFromRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RevokePermissionsFromRoleReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RevokePermissionsFromRoleRes\"}}}}},\"tags\":[\"Roles\"]},\"patch\":{\"operationId\":\"RolesController_setRolePermissions\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRolePermissionsReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRolePermissionsRes\"}}}}},\"tags\":[\"Roles\"]}},\"/roles/users\":{\"patch\":{\"operationId\":\"RolesController_setRoleUsers\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRoleUsersReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRoleUsersRes\"}}}}},\"tags\":[\"Roles\"]}},\"/roles/{id}\":{\"get\":{\"operationId\":\"RolesController_getRoleById\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RoleDto\"}}}}},\"tags\":[\"Roles\"]},\"delete\":{\"operationId\":\"RolesController_deleteRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Roles\"]},\"patch\":{\"operationId\":\"RolesController_updateRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateRoleReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateRoleRes\"}}}}},\"tags\":[\"Roles\"]}},\"/inputs/available-entities/{plugin}\":{\"get\":{\"operationId\":\"InputsController_getAvailableEntities\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAvailableEntitiesRes\"}}}}},\"tags\":[\"inputs\"]}},\"/inputs/test-connection\":{\"post\":{\"operationId\":\"InputsController_testConnection\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionRes\"}}}},\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]}},\"/inputs/test-connection/get-columns\":{\"post\":{\"operationId\":\"InputsController_getColumns\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionGetColumnsReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionGetColumnsRes\"}}}},\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]}},\"/inputs\":{\"post\":{\"operationId\":\"InputsController_create\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateInputReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Input\"}}}},\"201\":{\"description\":\"\"}},\"tags\":[\"inputs\"]},\"get\":{\"operationId\":\"InputsController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"inputs\"]}},\"/inputs/{id}\":{\"get\":{\"operationId\":\"InputsController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]},\"patch\":{\"operationId\":\"InputsController_update\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]},\"delete\":{\"operationId\":\"InputsController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]}},\"/oauth/hubspot\":{\"get\":{\"operationId\":\"OauthController_oauthHubspot\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/hubspot/callback\":{\"get\":{\"operationId\":\"OauthController_oauthHubspotCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/googleads\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleAds\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/googleads/callback\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleAdsCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/google-sheets\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleSheets\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/google-sheets/callback\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleSheetsCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/facebook\":{\"get\":{\"operationId\":\"OauthController_oauthFacebook\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/facebook/callback\":{\"get\":{\"operationId\":\"OauthController_oauthFacebookCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/mailchimp\":{\"get\":{\"operationId\":\"OauthController_oauthMailchimp\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/mailchimp/callback\":{\"get\":{\"operationId\":\"OauthController_oauthMailchimpCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/salesforce\":{\"get\":{\"operationId\":\"OauthController_oauthSalesforce\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/salesforce/callback\":{\"get\":{\"operationId\":\"OauthController_oauthSalesforceCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/pipelinesV2\":{\"post\":{\"operationId\":\"PipelinesController_create\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ICreatePipelineV2Req\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/IPipelineV2\"}}}}},\"tags\":[\"Pipelines\"]},\"get\":{\"operationId\":\"PipelinesController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Pipelines\"]}},\"/pipelinesV2/{id}\":{\"get\":{\"operationId\":\"PipelinesController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"put\":{\"operationId\":\"PipelinesController_update\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"delete\":{\"operationId\":\"PipelinesController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}}},\"info\":{\"title\":\"Maestro\",\"description\":\"Documentation for Maestro gateway\",\"version\":\"9.9.2022 - 16:43\",\"contact\":{}},\"tags\":[],\"servers\":[],\"components\":{\"securitySchemes\":{\"bearer\":{\"scheme\":\"bearer\",\"bearerFormat\":\"JWT\",\"type\":\"http\"}},\"schemas\":{\"CreateConnectorDto\":{\"type\":\"object\",\"properties\":{\"file\":{\"type\":\"string\",\"format\":\"binary\"},\"connector\":{\"type\":\"string\"}},\"required\":[\"file\",\"connector\"]},\"UpdateDto\":{\"type\":\"object\",\"properties\":{\"file\":{\"type\":\"string\",\"format\":\"binary\"},\"version\":{\"type\":\"string\"},\"category\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image\":{\"type\":\"string\"},\"docs\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"options\":{\"type\":\"object\",\"description\":\"skip_select_entities: boolean skip_select_columns: boolean;\"},\"connection_controls\":{\"type\":\"array\",\"items\":{\"properties\":{}}}},\"required\":[\"version\"]},\"AddTagDto\":{\"type\":\"object\",\"properties\":{\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"tags\"]},\"RemoveTagDto\":{\"type\":\"object\",\"properties\":{\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"tags\"]},\"DeleteConnectorDto\":{\"type\":\"object\",\"properties\":{\"version\":{\"type\":\"string\"}},\"required\":[\"version\"]},\"PermissionGroupPermission\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"id\":{\"type\":\"number\"}},\"required\":[\"name\",\"id\"]},\"PermissionGroup\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionGroupPermission\"}}},\"required\":[\"title\",\"permissions\"]},\"GetPublicPermissionsRes\":{\"type\":\"object\",\"properties\":{\"permissionGroups\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionGroup\"}}},\"required\":[\"permissionGroups\"]},\"CreateConnectionDto\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\",\"type\",\"properties\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\"]},\"ConnectionToCatalogDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"customer_id\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"id\",\"customer_id\",\"updated_at\",\"created_at\",\"name\",\"description\",\"type\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\"]},\"ConnectionRes\":{\"type\":\"object\",\"properties\":{\"connection\":{\"$ref\":\"#/components/schemas/ConnectionToCatalogDto\"},\"message\":{\"type\":\"string\"}},\"required\":[\"connection\",\"message\"]},\"UpdateConnectionDto\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}},\"required\":[\"name\",\"description\",\"properties\"]},\"ConnectionsRes\":{\"type\":\"object\",\"properties\":{\"connections\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ConnectionToCatalogDto\"}},\"message\":{\"type\":\"string\"}},\"required\":[\"connections\",\"message\"]},\"ConnectionDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"customer_id\":{\"type\":\"string\"},\"customer_name\":{\"type\":\"string\"},\"user_id\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"pipelines\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"id\",\"customer_id\",\"customer_name\",\"user_id\",\"updated_at\",\"created_at\",\"pipelines\",\"name\",\"description\",\"type\",\"properties\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\"]},\"ConnectionDetailsRes\":{\"type\":\"object\",\"properties\":{\"connection\":{\"$ref\":\"#/components/schemas/ConnectionDto\"},\"message\":{\"type\":\"string\"}},\"required\":[\"connection\",\"message\"]},\"NetworkConfigToCatalogDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"customer_id\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"network_type_id\":{\"type\":\"string\"},\"network_type_name\":{\"type\":\"string\"}},\"required\":[\"id\",\"customer_id\",\"plugin\",\"type\",\"name\",\"description\",\"created_at\",\"updated_at\",\"network_type_id\",\"network_type_name\"]},\"FindAllNetworkConfigsRes\":{\"type\":\"object\",\"properties\":{\"network_configs\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/NetworkConfigToCatalogDto\"}},\"message\":{\"type\":\"string\"}},\"required\":[\"network_configs\",\"message\"]},\"CreateNetworkConfigReq\":{\"type\":\"object\",\"properties\":{\"network_type_id\":{\"type\":\"string\"},\"network_type_name\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"ovpn_file\":{\"type\":\"string\",\"format\":\"binary\"}},\"required\":[\"network_type_id\",\"network_type_name\",\"name\",\"description\",\"ovpn_file\"]},\"CreateNetworkConfigRes\":{\"type\":\"object\",\"properties\":{\"network_config\":{\"$ref\":\"#/components/schemas/NetworkConfigToCatalogDto\"}},\"required\":[\"network_config\"]},\"UpdateNetworkConfigReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\"]},\"UpdateNetworkConfigRes\":{\"type\":\"object\",\"properties\":{\"network_config\":{\"$ref\":\"#/components/schemas/NetworkConfigToCatalogDto\"}},\"required\":[\"network_config\"]},\"DeleteNetworkConfigRes\":{\"type\":\"object\",\"properties\":{\"message\":{\"type\":\"string\"}},\"required\":[\"message\"]},\"ConnectionTestPingReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"host\":{\"type\":\"string\"},\"port\":{\"type\":\"number\"},\"network_config_id\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"}}},\"ConnectionTestPingRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"}},\"required\":[\"operation_result\"]},\"ConnectionTestCredentialsProperties\":{\"type\":\"object\",\"properties\":{\"host\":{\"type\":\"string\"},\"port\":{\"type\":\"string\"},\"username\":{\"type\":\"string\"},\"password\":{\"type\":\"string\"},\"database\":{\"type\":\"string\"}},\"required\":[\"host\",\"port\",\"username\",\"password\",\"database\"]},\"ConnectionTestCredentialsReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"},\"properties\":{\"$ref\":\"#/components/schemas/ConnectionTestCredentialsProperties\"},\"connection_id\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\",\"type\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\",\"properties\"]},\"ConnectionTestCredentialsRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"connection_id\":{\"type\":\"string\"}},\"required\":[\"operation_result\",\"connection_id\"]},\"ConnectionTestListSchemasReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"}},\"required\":[\"plugin\",\"connection_id\"]},\"ConnectionTestListSchemasRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"schema_list\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"operation_result\",\"schema_list\"]},\"ConnectionTestListTablesReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"}},\"required\":[\"plugin\",\"connection_id\",\"schema\"]},\"ConnectionTestListTablesRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"table_list\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"operation_result\",\"table_list\"]},\"GetTableMetadataReq\":{\"type\":\"object\",\"properties\":{\"connection_id\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"},\"table_list\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"connection_id\",\"plugin\",\"schema\",\"table_list\"]},\"ColumnDto\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"}},\"required\":[\"name\",\"type\"]},\"TableMetadataDto\":{\"type\":\"object\",\"properties\":{\"table_name\":{\"type\":\"string\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnDto\"}},\"references\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnDto\"}}},\"required\":[\"table_name\",\"columns\",\"references\"]},\"GetTableMetadataRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"tables_metadata\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableMetadataDto\"}}},\"required\":[\"operation_result\",\"tables_metadata\"]},\"PermissionDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"number\"},\"seqid\":{\"type\":\"number\"},\"name\":{\"type\":\"string\"},\"claim\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"}},\"required\":[\"id\",\"seqid\",\"name\",\"claim\",\"createdAt\",\"updatedAt\"]},\"Customer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"domain\":{\"type\":\"string\"},\"tier\":{\"type\":\"string\"},\"info\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"domain\",\"tier\",\"info\",\"createdAt\",\"updatedAt\"]},\"UserRole\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionDto\"}},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"isPublic\":{\"type\":\"boolean\"},\"customer\":{\"$ref\":\"#/components/schemas/Customer\"}},\"required\":[\"id\",\"name\",\"description\",\"createdAt\",\"updatedAt\",\"isPublic\",\"customer\"]},\"UserByCustomer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"roles\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserRole\"}},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"mfaStatus\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"lastLogin\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"email\",\"roles\",\"jobTitle\",\"department\",\"hierarchy\",\"mfaStatus\",\"createdAt\",\"updatedAt\",\"status\"]},\"GetAllUsersByCustomerIdRes\":{\"type\":\"object\",\"properties\":{\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}},\"departments\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"jobTitles\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"users\",\"departments\",\"jobTitles\"]},\"Hierarchy\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"GetAllHierarchiesRes\":{\"type\":\"object\",\"properties\":{\"hierarchies\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Hierarchy\"}}},\"required\":[\"hierarchies\"]},\"GetAllDepartmentsRes\":{\"type\":\"object\",\"properties\":{\"departments\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"departments\"]},\"CreateUserReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"roleNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"}},\"required\":[\"email\"]},\"User\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"roles\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserRole\"}},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"customer\":{\"$ref\":\"#/components/schemas/Customer\"},\"mfaStatus\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"lastLogin\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"email\",\"roles\",\"jobTitle\",\"department\",\"hierarchy\",\"mfaStatus\",\"createdAt\",\"updatedAt\",\"status\"]},\"CreateUserRes\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/User\"}},\"required\":[\"user\"]},\"BatchCreateUserReq\":{\"type\":\"object\",\"properties\":{\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CreateUserReq\"}}},\"required\":[\"users\"]},\"ErrorUsers\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/CreateUserReq\"},\"error\":{\"type\":\"string\"}},\"required\":[\"user\",\"error\"]},\"BatchCreateUserRes\":{\"type\":\"object\",\"properties\":{\"usersCreated\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/User\"}},\"errorUsers\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ErrorUsers\"}}},\"required\":[\"usersCreated\",\"errorUsers\"]},\"DeleteUserRes\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"]},\"SetUserRolesReq\":{\"type\":\"object\",\"properties\":{\"userId\":{\"type\":\"string\"},\"roleNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"userId\",\"roleNames\"]},\"SetUserRolesRes\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}},\"required\":[\"user\"]},\"AssignRoleToUserReq\":{\"type\":\"object\",\"properties\":{\"userId\":{\"type\":\"string\"},\"roleId\":{\"type\":\"string\"}},\"required\":[\"userId\",\"roleId\"]},\"UpdateUserReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"roleNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"UpdateUserRes\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}},\"required\":[\"user\"]},\"UserNoRolesAndCustomer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"mfaStatus\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"lastLogin\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"email\",\"jobTitle\",\"department\",\"hierarchy\",\"mfaStatus\",\"createdAt\",\"updatedAt\",\"status\"]},\"RoleDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionDto\"}},\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserNoRolesAndCustomer\"}},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"isPublic\":{\"type\":\"boolean\"},\"customer\":{\"$ref\":\"#/components/schemas/Customer\"}},\"required\":[\"id\",\"name\",\"description\",\"createdAt\",\"updatedAt\",\"isPublic\",\"customer\"]},\"GetRolesByCustomerRes\":{\"type\":\"object\",\"properties\":{\"roles\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/RoleDto\"}}},\"required\":[\"roles\"]},\"CreateRoleReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"userIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"description\":{\"type\":\"string\"}},\"required\":[\"name\",\"permissionIds\",\"description\"]},\"CustomerRole\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionDto\"}},\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserNoRolesAndCustomer\"}},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"isPublic\":{\"type\":\"boolean\"}},\"required\":[\"id\",\"name\",\"description\",\"createdAt\",\"updatedAt\",\"isPublic\"]},\"CreateRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/CustomerRole\"}},\"required\":[\"role\"]},\"GrantPermissionsToRoleReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"permissionIds\"]},\"GrantPermissionsToRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"RevokePermissionsFromRoleReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"permissionIds\"]},\"RevokePermissionsFromRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"SetRolePermissionsReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"permissionIds\"]},\"SetRolePermissionsRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"SetRoleUsersReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"userIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"userIds\"]},\"SetRoleUsersRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"UpdateRoleReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}}},\"UpdateRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"GetAvailableEntitiesRes\":{\"type\":\"object\",\"properties\":{\"entities\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"entities\"]},\"CredentialsJdbc\":{\"type\":\"object\",\"properties\":{\"jdbc_user\":{\"type\":\"string\"},\"jdbc_password\":{\"type\":\"string\"},\"database\":{\"type\":\"string\"},\"endpoint\":{\"type\":\"string\"},\"port\":{\"type\":\"string\"},\"engine\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"}}},\"TestConnectionReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"credentials\":{\"$ref\":\"#/components/schemas/CredentialsJdbc\"},\"info\":{\"type\":\"object\"}},\"required\":[\"plugin\",\"credentials\"]},\"TestConnectionRes\":{\"type\":\"object\",\"properties\":{\"connection_state\":{\"type\":\"boolean\"},\"total_entities\":{\"type\":\"number\"},\"database_tables\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"connection_state\",\"total_entities\",\"database_tables\"]},\"TestConnectionGetColumnsReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"tables\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"credentials\":{\"$ref\":\"#/components/schemas/CredentialsJdbc\"},\"id\":{\"type\":\"string\"},\"info\":{\"type\":\"object\"}},\"required\":[\"plugin\",\"tables\"]},\"TableColumns\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"columns\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"references\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"name\",\"columns\",\"references\"]},\"TestConnectionGetColumnsRes\":{\"type\":\"object\",\"properties\":{\"tables\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableColumns\"}}},\"required\":[\"tables\"]},\"FileFormatParams\":{\"type\":\"object\",\"properties\":{\"sep\":{\"type\":\"string\"},\"header\":{\"type\":\"boolean\"},\"encoding\":{\"type\":\"string\"}},\"required\":[\"sep\",\"header\",\"encoding\"]},\"GoogleAnalyticsClientSecrets\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\"},\"project_id\":{\"type\":\"string\"},\"private_key_id\":{\"type\":\"string\"},\"private_key\":{\"type\":\"string\"},\"client_email\":{\"type\":\"string\"},\"client_id\":{\"type\":\"string\"},\"auth_uri\":{\"type\":\"string\"},\"token_uri\":{\"type\":\"string\"},\"auth_provider_x509_cert_url\":{\"type\":\"string\"},\"client_x509_cert_url\":{\"type\":\"string\"}},\"required\":[\"type\",\"project_id\",\"private_key_id\",\"private_key\",\"client_email\",\"client_id\",\"auth_uri\",\"token_uri\",\"auth_provider_x509_cert_url\",\"client_x509_cert_url\"]},\"Credentials\":{\"type\":\"object\",\"properties\":{\"jdbc_user\":{\"type\":\"string\"},\"jdbc_password\":{\"type\":\"string\"},\"database\":{\"type\":\"string\"},\"endpoint\":{\"type\":\"string\"},\"port\":{\"type\":\"string\"},\"engine\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"},\"connection_type\":{\"type\":\"string\"},\"client_aws_access_key_id\":{\"type\":\"string\"},\"client_aws_secret_access_key\":{\"type\":\"string\"},\"client_bucket\":{\"type\":\"string\"},\"file_to_extract\":{\"type\":\"string\"},\"file_format_params\":{\"$ref\":\"#/components/schemas/FileFormatParams\"},\"view_id\":{\"type\":\"string\"},\"client_secrets\":{\"$ref\":\"#/components/schemas/GoogleAnalyticsClientSecrets\"},\"start_date\":{\"type\":\"string\"},\"end_date\":{\"type\":\"string\"},\"oauth_code\":{\"type\":\"string\"}},\"required\":[\"connection_type\"]},\"OauthObject\":{\"type\":\"object\",\"properties\":{\"get_tokens_url\":{\"type\":\"string\"},\"get_tokens_url_params\":{\"type\":\"string\"},\"get_tokens_set_response\":{\"type\":\"object\"},\"content_type\":{\"type\":\"string\"}}},\"InputOptions\":{\"type\":\"object\",\"properties\":{\"oauth\":{\"$ref\":\"#/components/schemas/OauthObject\"},\"skip_select_columns\":{\"type\":\"boolean\"},\"skip_select_entities\":{\"type\":\"boolean\"},\"skip_transformation\":{\"type\":\"boolean\"}}},\"AuthParameters\":{\"type\":\"object\",\"properties\":{\"aws_access_key_id\":{\"type\":\"string\"},\"aws_secret_access_key\":{\"type\":\"string\"}},\"required\":[\"aws_access_key_id\",\"aws_secret_access_key\"]},\"CreateInputReq\":{\"type\":\"object\",\"properties\":{\"tables\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableColumns\"}},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"deprecated\":true},\"credentials\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/Credentials\"}]},\"options\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/InputOptions\"}]},\"info\":{\"type\":\"object\",\"deprecated\":true},\"cron\":{\"type\":\"string\",\"deprecated\":true},\"source_bucket\":{\"type\":\"string\",\"deprecated\":true},\"source_prefix\":{\"type\":\"string\",\"deprecated\":true},\"auth_parameters\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/AuthParameters\"}]},\"file_format_params\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/FileFormatParams\"}]}},\"required\":[\"tables\",\"name\",\"description\",\"plugin\"]},\"Input\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"tables\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableColumns\"}},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"deprecated\":true},\"credentials\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/Credentials\"}]},\"options\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/InputOptions\"}]},\"info\":{\"type\":\"object\",\"deprecated\":true},\"cron\":{\"type\":\"string\",\"deprecated\":true},\"source_bucket\":{\"type\":\"string\",\"deprecated\":true},\"source_prefix\":{\"type\":\"string\",\"deprecated\":true},\"auth_parameters\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/AuthParameters\"}]},\"file_format_params\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/FileFormatParams\"}]}},\"required\":[\"id\",\"tables\",\"name\",\"description\",\"plugin\",\"created_at\",\"updated_at\"]},\"ICreatePipelineV2Req\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"},\"cron\":{\"type\":\"string\"},\"input_id\":{\"type\":\"string\"},\"transformations_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"properties\":{\"type\":\"object\"},\"connector_name\":{\"type\":\"string\"},\"connector_plugin\":{\"type\":\"string\"},\"connector_version\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\",\"connection_id\",\"cron\",\"connector_name\",\"connector_plugin\",\"connector_version\",\"image_url\"]},\"IPipelineV2\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"},\"cron\":{\"type\":\"string\"},\"input_id\":{\"type\":\"string\"},\"transformations_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"properties\":{\"type\":\"object\"},\"connector_name\":{\"type\":\"string\"},\"connector_plugin\":{\"type\":\"string\"},\"connector_version\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"description\",\"connection_id\",\"cron\",\"connector_name\",\"connector_plugin\",\"connector_version\",\"image_url\",\"created_at\",\"updated_at\"]}}}}" \ No newline at end of file +"{\"openapi\":\"3.0.0\",\"paths\":{\"/connectors\":{\"post\":{\"operationId\":\"ConnectorController_uploadConnector\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateConnectorDto\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]},\"get\":{\"operationId\":\"ConnectorController_getAllConnectors\",\"parameters\":[{\"name\":\"search\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"language\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"size\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"page\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/uploads\":{\"post\":{\"operationId\":\"ConnectorController_uploadFile\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"object\"}}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/multiple-connectors-upload\":{\"post\":{\"operationId\":\"ConnectorController_uploadConnectorsFile\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/tags\":{\"get\":{\"operationId\":\"ConnectorController_getConnectorsTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}\":{\"get\":{\"operationId\":\"ConnectorController_getConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}},{\"name\":\"version\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]},\"put\":{\"operationId\":\"ConnectorController_updateConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]},\"delete\":{\"operationId\":\"ConnectorController_deleteConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteConnectorDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}/details\":{\"get\":{\"operationId\":\"ConnectorController_getConnectorDetails\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}},{\"name\":\"version\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}/add-tag\":{\"put\":{\"operationId\":\"ConnectorController_addTagOnConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AddTagDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/connectors/{plugin}/remove-tag\":{\"put\":{\"operationId\":\"ConnectorController_removeTagOnConnector\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RemoveTagDto\"}}}},\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connectors\"],\"security\":[{\"bearer\":[]}]}},\"/auth/sso/snowflake\":{\"post\":{\"operationId\":\"AuthController_snowflakeSignIn\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/sign-in\":{\"post\":{\"operationId\":\"AuthController_signIn\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/refresh-access-token\":{\"post\":{\"operationId\":\"AuthController_refreshAccessToken\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/change-password\":{\"post\":{\"operationId\":\"AuthController_changePassword\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/reset-password\":{\"post\":{\"operationId\":\"AuthController_resetPassword\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/verify-reset-password-code\":{\"post\":{\"operationId\":\"AuthController_verifyResetPasswordCode\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/confirm-reset-password\":{\"post\":{\"operationId\":\"AuthController_confirmResetPassword\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/enable-totp\":{\"post\":{\"operationId\":\"AuthController_enableTotpMFA\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/disable-totp\":{\"post\":{\"operationId\":\"AuthController_disableTotpMFA\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/dismiss-totp\":{\"post\":{\"operationId\":\"AuthController_dismissTotpMFA\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/verify-totp\":{\"post\":{\"operationId\":\"AuthController_verifyTotp\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/permissions\":{\"get\":{\"operationId\":\"PermissionsController_getPublicPermissions\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetPublicPermissionsRes\"}}}}},\"tags\":[\"Permissions\"]}},\"/terms-of-use/token\":{\"get\":{\"operationId\":\"TermsOfUseController_getToken\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"TermsOfUse\"]}},\"/terms-of-use/accept\":{\"post\":{\"operationId\":\"TermsOfUseController_accept\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"TermsOfUse\"]}},\"/connections\":{\"post\":{\"operationId\":\"ConnectionController_createConnection\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateConnectionDto\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]},\"get\":{\"operationId\":\"ConnectionController_getAllConnections\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionsRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]}},\"/connections/{id}\":{\"put\":{\"operationId\":\"ConnectionController_updateConnection\",\"parameters\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateConnectionDto\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]},\"delete\":{\"operationId\":\"ConnectionController_deleteConnection\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]},\"get\":{\"operationId\":\"ConnectionController_getConnectionDetails\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionDetailsRes\"}}}}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]}},\"/network-config\":{\"get\":{\"operationId\":\"NetworkConfigController_findAllNetworkConfigs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FindAllNetworkConfigsRes\"}}}}},\"tags\":[\"Network Config\"]},\"post\":{\"operationId\":\"NetworkConfigController_createNetworkConfigs\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"multipart/form-data\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNetworkConfigReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNetworkConfigRes\"}}}},\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateNetworkConfigRes\"}}}}},\"tags\":[\"Network Config\"]}},\"/network-config/{id}\":{\"get\":{\"operationId\":\"NetworkConfigController_findNetworkConfigById\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FindAllNetworkConfigsRes\"}}}}},\"tags\":[\"Network Config\"]},\"patch\":{\"operationId\":\"NetworkConfigController_updateNetworkConfig\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateNetworkConfigReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateNetworkConfigRes\"}}}}},\"tags\":[\"Network Config\"]},\"delete\":{\"operationId\":\"NetworkConfigController_deleteNetworkConfig\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteNetworkConfigRes\"}}}}},\"tags\":[\"Network Config\"]}},\"/network-config/{id}/details\":{\"get\":{\"operationId\":\"NetworkConfigController_findNetworkConfigByIdDetails\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/FindAllNetworkConfigsRes\"}}}}},\"tags\":[\"Network Config\"]}},\"/connection-test/ping\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestPing\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestPingReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestPingRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/credentials\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestCredentials\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestCredentialsReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestCredentialsRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/schemas\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestListSchemas\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListSchemasReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListSchemasRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/tables\":{\"post\":{\"operationId\":\"ConnectionTestController_connectionTestListTables\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListTablesReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ConnectionTestListTablesRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/connection-test/table-metadata\":{\"post\":{\"operationId\":\"ConnectionTestController_getTableMetadata\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetTableMetadataReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetTableMetadataRes\"}}}}},\"tags\":[\"Connection Test\"]}},\"/pipelines/start/{id}\":{\"post\":{\"operationId\":\"PipelinesController_activate\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/pipelines/{id}/status\":{\"get\":{\"operationId\":\"PipelinesController_getPipelineStatus\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/pipelines/{id}/{details}\":{\"get\":{\"operationId\":\"PipelinesController_getPipelineLogs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/pipelines\":{\"post\":{\"operationId\":\"PipelinesController_create\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"get\":{\"operationId\":\"PipelinesController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Pipelines\"]}},\"/pipelines/{id}\":{\"get\":{\"operationId\":\"PipelinesController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"put\":{\"operationId\":\"PipelinesController_update\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"delete\":{\"operationId\":\"PipelinesController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/transformations\":{\"post\":{\"operationId\":\"TransformationsController_create\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\"}},\"tags\":[\"Transformations\"]},\"get\":{\"operationId\":\"TransformationsController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Transformations\"]}},\"/transformations/{id}\":{\"get\":{\"operationId\":\"TransformationsController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Transformations\"]},\"put\":{\"operationId\":\"TransformationsController_update\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Transformations\"]},\"delete\":{\"operationId\":\"TransformationsController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Transformations\"]}},\"/health\":{\"get\":{\"operationId\":\"HealthController_check\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Health\"]}},\"/catalog/all\":{\"get\":{\"operationId\":\"CatalogController_catalogAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data_apps\":{\"get\":{\"operationId\":\"CatalogController_dataAppsAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data_apps/{id}\":{\"delete\":{\"operationId\":\"CatalogController_dataAppsOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/dashboard-metabase\":{\"get\":{\"operationId\":\"CatalogController_getAllDashboardMetabase\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/dashboard-metabase/{id}\":{\"get\":{\"operationId\":\"CatalogController_getOneDashboardMetabase\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-metadata\":{\"get\":{\"operationId\":\"CatalogController_getAllTableMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-metadata/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteOneTableMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/column-metadata\":{\"get\":{\"operationId\":\"CatalogController_getOneColumnMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/column-metadata/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteOneColumnMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-preview\":{\"get\":{\"operationId\":\"CatalogController_getOneDataPreview\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-status\":{\"get\":{\"operationId\":\"CatalogController_createDataStatus\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-description\":{\"get\":{\"operationId\":\"CatalogController_getDataDescription\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataDescription\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-docs\":{\"get\":{\"operationId\":\"CatalogController_getDataDocs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataDocs\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-rating\":{\"get\":{\"operationId\":\"CatalogController_getDataRating\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataRating\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/summary-rating/{id}\":{\"get\":{\"operationId\":\"CatalogController_getSummaryRating\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-comment\":{\"get\":{\"operationId\":\"CatalogController_getDataComment\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_createDataComment\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-review\":{\"get\":{\"operationId\":\"CatalogController_getDataReview\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/tags\":{\"post\":{\"operationId\":\"CatalogController_createTags\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"get\":{\"operationId\":\"CatalogController_findAllTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/tags/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-tags\":{\"post\":{\"operationId\":\"CatalogController_createTableTags\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]},\"get\":{\"operationId\":\"CatalogController_getAllTableTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-tags/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteTableTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-rules\":{\"get\":{\"operationId\":\"CatalogController_getTableRules\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/table-rules/{id}\":{\"delete\":{\"operationId\":\"CatalogController_deleteTableRules\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/users\":{\"get\":{\"operationId\":\"UsersController_getAllUsersByCustomerId\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"List of users of a customer\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllUsersByCustomerIdRes\"}}}}},\"tags\":[\"Users\"]},\"post\":{\"operationId\":\"UsersController_createUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateUserReq\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateUserRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/hierarchies\":{\"get\":{\"operationId\":\"UsersController_getAllHierarchies\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllHierarchiesRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/departments\":{\"get\":{\"operationId\":\"UsersController_getAllDepartments\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllDepartmentsRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/jobTitles\":{\"get\":{\"operationId\":\"UsersController_getAllJobTitles\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAllDepartmentsRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/{id}\":{\"get\":{\"operationId\":\"UsersController_findOneById\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}}}}},\"tags\":[\"Users\"]},\"delete\":{\"operationId\":\"UsersController_deleteUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/DeleteUserRes\"}}}}},\"tags\":[\"Users\"]},\"patch\":{\"operationId\":\"UsersController_updateUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUserReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateUserRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/batch\":{\"post\":{\"operationId\":\"UsersController_batchCreateUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BatchCreateUserReq\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BatchCreateUserRes\"}}}}},\"tags\":[\"Users\"]}},\"/users/{id}/resend-invite\":{\"post\":{\"operationId\":\"UsersController_resendInvite\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Users\"]}},\"/users/role\":{\"delete\":{\"operationId\":\"UsersController_unassignRoleToUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"userId\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}},{\"name\":\"roleId\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Users\"]},\"put\":{\"operationId\":\"UsersController_assignRoleToUser\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/AssignRoleToUserReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Users\"]}},\"/users/roles\":{\"patch\":{\"operationId\":\"UsersController_setUserRoles\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetUserRolesReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetUserRolesRes\"}}}}},\"tags\":[\"Users\"]}},\"/roles\":{\"get\":{\"operationId\":\"RolesController_searchRoles\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"permissionId\",\"required\":false,\"in\":\"query\",\"schema\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},{\"name\":\"getUsers\",\"required\":false,\"in\":\"query\",\"schema\":{\"enum\":[\"true\",\"false\"],\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetRolesByCustomerRes\"}}}}},\"tags\":[\"Roles\"]},\"post\":{\"operationId\":\"RolesController_createRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateRoleReq\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateRoleRes\"}}}}},\"tags\":[\"Roles\"]}},\"/roles/permissions\":{\"put\":{\"operationId\":\"RolesController_grantPermissionsToRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GrantPermissionsToRoleReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GrantPermissionsToRoleRes\"}}}}},\"tags\":[\"Roles\"]},\"delete\":{\"operationId\":\"RolesController_revokePermissionsFromRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RevokePermissionsFromRoleReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RevokePermissionsFromRoleRes\"}}}}},\"tags\":[\"Roles\"]},\"patch\":{\"operationId\":\"RolesController_setRolePermissions\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRolePermissionsReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRolePermissionsRes\"}}}}},\"tags\":[\"Roles\"]}},\"/roles/users\":{\"patch\":{\"operationId\":\"RolesController_setRoleUsers\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRoleUsersReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/SetRoleUsersRes\"}}}}},\"tags\":[\"Roles\"]}},\"/roles/{id}\":{\"get\":{\"operationId\":\"RolesController_getRoleById\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RoleDto\"}}}}},\"tags\":[\"Roles\"]},\"delete\":{\"operationId\":\"RolesController_deleteRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Roles\"]},\"patch\":{\"operationId\":\"RolesController_updateRole\",\"parameters\":[{\"name\":\"dadosfera-lang\",\"in\":\"header\",\"description\":\"Defaults to pt-br\",\"required\":false,\"schema\":{\"enum\":[\"pt-br\",\"en-us\"],\"type\":\"string\"}},{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateRoleReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/UpdateRoleRes\"}}}}},\"tags\":[\"Roles\"]}},\"/inputs/available-entities/{plugin}\":{\"get\":{\"operationId\":\"InputsController_getAvailableEntities\",\"parameters\":[{\"name\":\"plugin\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/GetAvailableEntitiesRes\"}}}}},\"tags\":[\"inputs\"]}},\"/inputs/test-connection\":{\"post\":{\"operationId\":\"InputsController_testConnection\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionRes\"}}}},\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]}},\"/inputs/test-connection/get-columns\":{\"post\":{\"operationId\":\"InputsController_getColumns\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionGetColumnsReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TestConnectionGetColumnsRes\"}}}},\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]}},\"/inputs\":{\"post\":{\"operationId\":\"InputsController_create\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateInputReq\"}}}},\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Input\"}}}},\"201\":{\"description\":\"\"}},\"tags\":[\"inputs\"]},\"get\":{\"operationId\":\"InputsController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"inputs\"]}},\"/inputs/{id}\":{\"get\":{\"operationId\":\"InputsController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]},\"patch\":{\"operationId\":\"InputsController_update\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]},\"delete\":{\"operationId\":\"InputsController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"inputs\"]}},\"/oauth/hubspot\":{\"get\":{\"operationId\":\"OauthController_oauthHubspot\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/hubspot/callback\":{\"get\":{\"operationId\":\"OauthController_oauthHubspotCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/googleads\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleAds\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/googleads/callback\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleAdsCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/google-sheets\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleSheets\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/google-sheets/callback\":{\"get\":{\"operationId\":\"OauthController_oauthGoogleSheetsCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/facebook\":{\"get\":{\"operationId\":\"OauthController_oauthFacebook\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/facebook/callback\":{\"get\":{\"operationId\":\"OauthController_oauthFacebookCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/mailchimp\":{\"get\":{\"operationId\":\"OauthController_oauthMailchimp\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/mailchimp/callback\":{\"get\":{\"operationId\":\"OauthController_oauthMailchimpCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/oauth/salesforce\":{\"get\":{\"operationId\":\"OauthController_oauthSalesforce\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"boolean\"}}}}},\"tags\":[\"oauth\"]}},\"/oauth/salesforce/callback\":{\"get\":{\"operationId\":\"OauthController_oauthSalesforceCallback\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"oauth\"]}},\"/pipelinesV2\":{\"post\":{\"operationId\":\"PipelinesController_create\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ICreatePipelineV2Req\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/IPipelineV2\"}}}}},\"tags\":[\"Pipelines\"]},\"get\":{\"operationId\":\"PipelinesController_findAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Pipelines\"]}},\"/pipelinesV2/{id}\":{\"get\":{\"operationId\":\"PipelinesController_findOne\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"put\":{\"operationId\":\"PipelinesController_update\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]},\"delete\":{\"operationId\":\"PipelinesController_delete\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Pipelines\"]}},\"/connection-migrations\":{\"get\":{\"operationId\":\"ConnectionMigrationsController_getAllCustomersPlatformConnections\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}}}}},\"info\":{\"title\":\"Maestro\",\"description\":\"Documentation for Maestro gateway\",\"version\":\"11.9.2022 - 13:6\",\"contact\":{}},\"tags\":[],\"servers\":[],\"components\":{\"securitySchemes\":{\"bearer\":{\"scheme\":\"bearer\",\"bearerFormat\":\"JWT\",\"type\":\"http\"}},\"schemas\":{\"CreateConnectorDto\":{\"type\":\"object\",\"properties\":{\"file\":{\"type\":\"string\",\"format\":\"binary\"},\"connector\":{\"type\":\"string\"}},\"required\":[\"file\",\"connector\"]},\"UpdateDto\":{\"type\":\"object\",\"properties\":{\"file\":{\"type\":\"string\",\"format\":\"binary\"},\"version\":{\"type\":\"string\"},\"category\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image\":{\"type\":\"string\"},\"docs\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"options\":{\"type\":\"object\",\"description\":\"skip_select_entities: boolean skip_select_columns: boolean;\"},\"connection_controls\":{\"type\":\"array\",\"items\":{\"properties\":{}}}},\"required\":[\"version\"]},\"AddTagDto\":{\"type\":\"object\",\"properties\":{\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"tags\"]},\"RemoveTagDto\":{\"type\":\"object\",\"properties\":{\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"tags\"]},\"DeleteConnectorDto\":{\"type\":\"object\",\"properties\":{\"version\":{\"type\":\"string\"}},\"required\":[\"version\"]},\"PermissionGroupPermission\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"id\":{\"type\":\"number\"}},\"required\":[\"name\",\"id\"]},\"PermissionGroup\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionGroupPermission\"}}},\"required\":[\"title\",\"permissions\"]},\"GetPublicPermissionsRes\":{\"type\":\"object\",\"properties\":{\"permissionGroups\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionGroup\"}}},\"required\":[\"permissionGroups\"]},\"CreateConnectionDto\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\",\"type\",\"properties\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\"]},\"ConnectionToCatalogDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"customer_id\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"id\",\"customer_id\",\"updated_at\",\"created_at\",\"name\",\"description\",\"type\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\"]},\"ConnectionRes\":{\"type\":\"object\",\"properties\":{\"connection\":{\"$ref\":\"#/components/schemas/ConnectionToCatalogDto\"},\"message\":{\"type\":\"string\"}},\"required\":[\"connection\",\"message\"]},\"UpdateConnectionDto\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"}},\"required\":[\"name\",\"description\",\"properties\"]},\"ConnectionsRes\":{\"type\":\"object\",\"properties\":{\"connections\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ConnectionToCatalogDto\"}},\"message\":{\"type\":\"string\"}},\"required\":[\"connections\",\"message\"]},\"ConnectionDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"customer_id\":{\"type\":\"string\"},\"customer_name\":{\"type\":\"string\"},\"user_id\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"pipelines\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"id\",\"customer_id\",\"customer_name\",\"user_id\",\"updated_at\",\"created_at\",\"pipelines\",\"name\",\"description\",\"type\",\"properties\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\"]},\"ConnectionDetailsRes\":{\"type\":\"object\",\"properties\":{\"connection\":{\"$ref\":\"#/components/schemas/ConnectionDto\"},\"message\":{\"type\":\"string\"}},\"required\":[\"connection\",\"message\"]},\"NetworkConfigToCatalogDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"customer_id\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"network_type_id\":{\"type\":\"string\"},\"network_type_name\":{\"type\":\"string\"}},\"required\":[\"id\",\"customer_id\",\"plugin\",\"type\",\"name\",\"description\",\"created_at\",\"updated_at\",\"network_type_id\",\"network_type_name\"]},\"FindAllNetworkConfigsRes\":{\"type\":\"object\",\"properties\":{\"network_configs\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/NetworkConfigToCatalogDto\"}},\"message\":{\"type\":\"string\"}},\"required\":[\"network_configs\",\"message\"]},\"CreateNetworkConfigReq\":{\"type\":\"object\",\"properties\":{\"network_type_id\":{\"type\":\"string\"},\"network_type_name\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"ovpn_file\":{\"type\":\"string\",\"format\":\"binary\"}},\"required\":[\"network_type_id\",\"network_type_name\",\"name\",\"description\",\"ovpn_file\"]},\"CreateNetworkConfigRes\":{\"type\":\"object\",\"properties\":{\"network_config\":{\"$ref\":\"#/components/schemas/NetworkConfigToCatalogDto\"}},\"required\":[\"network_config\"]},\"UpdateNetworkConfigReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\"]},\"UpdateNetworkConfigRes\":{\"type\":\"object\",\"properties\":{\"network_config\":{\"$ref\":\"#/components/schemas/NetworkConfigToCatalogDto\"}},\"required\":[\"network_config\"]},\"DeleteNetworkConfigRes\":{\"type\":\"object\",\"properties\":{\"message\":{\"type\":\"string\"}},\"required\":[\"message\"]},\"ConnectionTestPingReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"host\":{\"type\":\"string\"},\"port\":{\"type\":\"number\"},\"network_config_id\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"}}},\"ConnectionTestPingRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"}},\"required\":[\"operation_result\"]},\"ConnectionTestCredentialsProperties\":{\"type\":\"object\",\"properties\":{\"host\":{\"type\":\"string\"},\"port\":{\"type\":\"string\"},\"username\":{\"type\":\"string\"},\"password\":{\"type\":\"string\"},\"database\":{\"type\":\"string\"}},\"required\":[\"host\",\"port\",\"username\",\"password\",\"database\"]},\"ConnectionTestCredentialsReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"network_config_id\":{\"type\":\"string\"},\"connector_id\":{\"type\":\"string\"},\"connector_name\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"},\"properties\":{\"$ref\":\"#/components/schemas/ConnectionTestCredentialsProperties\"},\"connection_id\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\",\"type\",\"connector_id\",\"connector_name\",\"plugin\",\"image_url\",\"properties\"]},\"ConnectionTestCredentialsRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"connection_id\":{\"type\":\"string\"}},\"required\":[\"operation_result\",\"connection_id\"]},\"ConnectionTestListSchemasReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"}},\"required\":[\"plugin\",\"connection_id\"]},\"ConnectionTestListSchemasRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"schema_list\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"operation_result\",\"schema_list\"]},\"ConnectionTestListTablesReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"}},\"required\":[\"plugin\",\"connection_id\",\"schema\"]},\"ConnectionTestListTablesRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"table_list\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"operation_result\",\"table_list\"]},\"GetTableMetadataReq\":{\"type\":\"object\",\"properties\":{\"connection_id\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"},\"table_list\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"connection_id\",\"plugin\",\"schema\",\"table_list\"]},\"ColumnDto\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"}},\"required\":[\"name\",\"type\"]},\"TableMetadataDto\":{\"type\":\"object\",\"properties\":{\"table_name\":{\"type\":\"string\"},\"columns\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnDto\"}},\"references\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ColumnDto\"}}},\"required\":[\"table_name\",\"columns\",\"references\"]},\"GetTableMetadataRes\":{\"type\":\"object\",\"properties\":{\"operation_result\":{\"type\":\"boolean\"},\"tables_metadata\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableMetadataDto\"}}},\"required\":[\"operation_result\",\"tables_metadata\"]},\"PermissionDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"number\"},\"seqid\":{\"type\":\"number\"},\"name\":{\"type\":\"string\"},\"claim\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"}},\"required\":[\"id\",\"seqid\",\"name\",\"claim\",\"createdAt\",\"updatedAt\"]},\"Customer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"domain\":{\"type\":\"string\"},\"tier\":{\"type\":\"string\"},\"info\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"domain\",\"tier\",\"info\",\"createdAt\",\"updatedAt\"]},\"UserRole\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionDto\"}},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"isPublic\":{\"type\":\"boolean\"},\"customer\":{\"$ref\":\"#/components/schemas/Customer\"},\"usage\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"description\",\"createdAt\",\"updatedAt\",\"isPublic\",\"customer\",\"usage\"]},\"UserByCustomer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"roles\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserRole\"}},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"mfaStatus\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"lastLogin\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"email\",\"roles\",\"jobTitle\",\"department\",\"hierarchy\",\"mfaStatus\",\"createdAt\",\"updatedAt\",\"status\"]},\"GetAllUsersByCustomerIdRes\":{\"type\":\"object\",\"properties\":{\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}},\"departments\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"jobTitles\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"users\",\"departments\",\"jobTitles\"]},\"Hierarchy\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\"]},\"GetAllHierarchiesRes\":{\"type\":\"object\",\"properties\":{\"hierarchies\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/Hierarchy\"}}},\"required\":[\"hierarchies\"]},\"GetAllDepartmentsRes\":{\"type\":\"object\",\"properties\":{\"departments\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"departments\"]},\"CreateUserReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"roleNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"}},\"required\":[\"email\"]},\"User\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"roles\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserRole\"}},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"customer\":{\"$ref\":\"#/components/schemas/Customer\"},\"mfaStatus\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"lastLogin\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"email\",\"roles\",\"jobTitle\",\"department\",\"hierarchy\",\"mfaStatus\",\"createdAt\",\"updatedAt\",\"status\"]},\"CreateUserRes\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/User\"}},\"required\":[\"user\"]},\"BatchCreateUserReq\":{\"type\":\"object\",\"properties\":{\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/CreateUserReq\"}}},\"required\":[\"users\"]},\"ErrorUsers\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/CreateUserReq\"},\"error\":{\"type\":\"string\"}},\"required\":[\"user\",\"error\"]},\"BatchCreateUserRes\":{\"type\":\"object\",\"properties\":{\"usersCreated\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/User\"}},\"errorUsers\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/ErrorUsers\"}}},\"required\":[\"usersCreated\",\"errorUsers\"]},\"DeleteUserRes\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"}},\"required\":[\"id\"]},\"SetUserRolesReq\":{\"type\":\"object\",\"properties\":{\"userId\":{\"type\":\"string\"},\"roleNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"userId\",\"roleNames\"]},\"SetUserRolesRes\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}},\"required\":[\"user\"]},\"AssignRoleToUserReq\":{\"type\":\"object\",\"properties\":{\"userId\":{\"type\":\"string\"},\"roleId\":{\"type\":\"string\"}},\"required\":[\"userId\",\"roleId\"]},\"UpdateUserReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"roleNames\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}}},\"UpdateUserRes\":{\"type\":\"object\",\"properties\":{\"user\":{\"$ref\":\"#/components/schemas/UserByCustomer\"}},\"required\":[\"user\"]},\"UserNoRolesAndCustomer\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"jobTitle\":{\"type\":\"string\"},\"department\":{\"type\":\"string\"},\"hierarchy\":{\"type\":\"string\"},\"mfaStatus\":{\"type\":\"string\"},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"status\":{\"type\":\"string\"},\"lastLogin\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"email\",\"jobTitle\",\"department\",\"hierarchy\",\"mfaStatus\",\"createdAt\",\"updatedAt\",\"status\"]},\"RoleDto\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionDto\"}},\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserNoRolesAndCustomer\"}},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"isPublic\":{\"type\":\"boolean\"},\"customer\":{\"$ref\":\"#/components/schemas/Customer\"},\"usage\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"description\",\"createdAt\",\"updatedAt\",\"isPublic\",\"customer\",\"usage\"]},\"GetRolesByCustomerRes\":{\"type\":\"object\",\"properties\":{\"roles\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/RoleDto\"}}},\"required\":[\"roles\"]},\"CreateRoleReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"userIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"description\":{\"type\":\"string\"}},\"required\":[\"name\",\"permissionIds\",\"description\"]},\"CustomerRole\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"permissions\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/PermissionDto\"}},\"users\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/UserNoRolesAndCustomer\"}},\"createdAt\":{\"type\":\"string\"},\"updatedAt\":{\"type\":\"string\"},\"isPublic\":{\"type\":\"boolean\"},\"usage\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"description\",\"createdAt\",\"updatedAt\",\"isPublic\",\"usage\"]},\"CreateRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/CustomerRole\"}},\"required\":[\"role\"]},\"GrantPermissionsToRoleReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"permissionIds\"]},\"GrantPermissionsToRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"RevokePermissionsFromRoleReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"permissionIds\"]},\"RevokePermissionsFromRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"SetRolePermissionsReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"permissionIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"permissionIds\"]},\"SetRolePermissionsRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"SetRoleUsersReq\":{\"type\":\"object\",\"properties\":{\"roleId\":{\"type\":\"string\"},\"userIds\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"roleId\",\"userIds\"]},\"SetRoleUsersRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"UpdateRoleReq\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}}},\"UpdateRoleRes\":{\"type\":\"object\",\"properties\":{\"role\":{\"$ref\":\"#/components/schemas/RoleDto\"}},\"required\":[\"role\"]},\"GetAvailableEntitiesRes\":{\"type\":\"object\",\"properties\":{\"entities\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"entities\"]},\"CredentialsJdbc\":{\"type\":\"object\",\"properties\":{\"jdbc_user\":{\"type\":\"string\"},\"jdbc_password\":{\"type\":\"string\"},\"database\":{\"type\":\"string\"},\"endpoint\":{\"type\":\"string\"},\"port\":{\"type\":\"string\"},\"engine\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"}}},\"TestConnectionReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"credentials\":{\"$ref\":\"#/components/schemas/CredentialsJdbc\"},\"info\":{\"type\":\"object\"}},\"required\":[\"plugin\",\"credentials\"]},\"TestConnectionRes\":{\"type\":\"object\",\"properties\":{\"connection_state\":{\"type\":\"boolean\"},\"total_entities\":{\"type\":\"number\"},\"database_tables\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"connection_state\",\"total_entities\",\"database_tables\"]},\"TestConnectionGetColumnsReq\":{\"type\":\"object\",\"properties\":{\"plugin\":{\"type\":\"string\"},\"tables\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"credentials\":{\"$ref\":\"#/components/schemas/CredentialsJdbc\"},\"id\":{\"type\":\"string\"},\"info\":{\"type\":\"object\"}},\"required\":[\"plugin\",\"tables\"]},\"TableColumns\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"columns\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"references\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"name\",\"columns\",\"references\"]},\"TestConnectionGetColumnsRes\":{\"type\":\"object\",\"properties\":{\"tables\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableColumns\"}}},\"required\":[\"tables\"]},\"FileFormatParams\":{\"type\":\"object\",\"properties\":{\"sep\":{\"type\":\"string\"},\"header\":{\"type\":\"boolean\"},\"encoding\":{\"type\":\"string\"}},\"required\":[\"sep\",\"header\",\"encoding\"]},\"GoogleAnalyticsClientSecrets\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\"},\"project_id\":{\"type\":\"string\"},\"private_key_id\":{\"type\":\"string\"},\"private_key\":{\"type\":\"string\"},\"client_email\":{\"type\":\"string\"},\"client_id\":{\"type\":\"string\"},\"auth_uri\":{\"type\":\"string\"},\"token_uri\":{\"type\":\"string\"},\"auth_provider_x509_cert_url\":{\"type\":\"string\"},\"client_x509_cert_url\":{\"type\":\"string\"}},\"required\":[\"type\",\"project_id\",\"private_key_id\",\"private_key\",\"client_email\",\"client_id\",\"auth_uri\",\"token_uri\",\"auth_provider_x509_cert_url\",\"client_x509_cert_url\"]},\"Credentials\":{\"type\":\"object\",\"properties\":{\"jdbc_user\":{\"type\":\"string\"},\"jdbc_password\":{\"type\":\"string\"},\"database\":{\"type\":\"string\"},\"endpoint\":{\"type\":\"string\"},\"port\":{\"type\":\"string\"},\"engine\":{\"type\":\"string\"},\"schema\":{\"type\":\"string\"},\"connection_type\":{\"type\":\"string\"},\"client_aws_access_key_id\":{\"type\":\"string\"},\"client_aws_secret_access_key\":{\"type\":\"string\"},\"client_bucket\":{\"type\":\"string\"},\"file_to_extract\":{\"type\":\"string\"},\"file_format_params\":{\"$ref\":\"#/components/schemas/FileFormatParams\"},\"view_id\":{\"type\":\"string\"},\"client_secrets\":{\"$ref\":\"#/components/schemas/GoogleAnalyticsClientSecrets\"},\"start_date\":{\"type\":\"string\"},\"end_date\":{\"type\":\"string\"},\"oauth_code\":{\"type\":\"string\"}},\"required\":[\"connection_type\"]},\"OauthObject\":{\"type\":\"object\",\"properties\":{\"get_tokens_url\":{\"type\":\"string\"},\"get_tokens_url_params\":{\"type\":\"string\"},\"get_tokens_set_response\":{\"type\":\"object\"},\"content_type\":{\"type\":\"string\"}}},\"InputOptions\":{\"type\":\"object\",\"properties\":{\"oauth\":{\"$ref\":\"#/components/schemas/OauthObject\"},\"skip_select_columns\":{\"type\":\"boolean\"},\"skip_select_entities\":{\"type\":\"boolean\"},\"skip_transformation\":{\"type\":\"boolean\"}}},\"AuthParameters\":{\"type\":\"object\",\"properties\":{\"aws_access_key_id\":{\"type\":\"string\"},\"aws_secret_access_key\":{\"type\":\"string\"}},\"required\":[\"aws_access_key_id\",\"aws_secret_access_key\"]},\"CreateInputReq\":{\"type\":\"object\",\"properties\":{\"tables\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableColumns\"}},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"deprecated\":true},\"credentials\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/Credentials\"}]},\"options\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/InputOptions\"}]},\"info\":{\"type\":\"object\",\"deprecated\":true},\"cron\":{\"type\":\"string\",\"deprecated\":true},\"source_bucket\":{\"type\":\"string\",\"deprecated\":true},\"source_prefix\":{\"type\":\"string\",\"deprecated\":true},\"auth_parameters\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/AuthParameters\"}]},\"file_format_params\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/FileFormatParams\"}]}},\"required\":[\"tables\",\"name\",\"description\",\"plugin\"]},\"Input\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"tables\":{\"type\":\"array\",\"items\":{\"$ref\":\"#/components/schemas/TableColumns\"}},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"plugin\":{\"type\":\"string\"},\"type\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"deprecated\":true},\"credentials\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/Credentials\"}]},\"options\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/InputOptions\"}]},\"info\":{\"type\":\"object\",\"deprecated\":true},\"cron\":{\"type\":\"string\",\"deprecated\":true},\"source_bucket\":{\"type\":\"string\",\"deprecated\":true},\"source_prefix\":{\"type\":\"string\",\"deprecated\":true},\"auth_parameters\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/AuthParameters\"}]},\"file_format_params\":{\"deprecated\":true,\"allOf\":[{\"$ref\":\"#/components/schemas/FileFormatParams\"}]}},\"required\":[\"id\",\"tables\",\"name\",\"description\",\"plugin\",\"created_at\",\"updated_at\"]},\"ICreatePipelineV2Req\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"},\"cron\":{\"type\":\"string\"},\"input_id\":{\"type\":\"string\"},\"transformations_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"properties\":{\"type\":\"object\"},\"connector_name\":{\"type\":\"string\"},\"connector_plugin\":{\"type\":\"string\"},\"connector_version\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"}},\"required\":[\"name\",\"description\",\"connection_id\",\"cron\",\"connector_name\",\"connector_plugin\",\"connector_version\",\"image_url\"]},\"IPipelineV2\":{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"string\"},\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"connection_id\":{\"type\":\"string\"},\"cron\":{\"type\":\"string\"},\"input_id\":{\"type\":\"string\"},\"transformations_ids\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}},\"properties\":{\"type\":\"object\"},\"connector_name\":{\"type\":\"string\"},\"connector_plugin\":{\"type\":\"string\"},\"connector_version\":{\"type\":\"string\"},\"image_url\":{\"type\":\"string\"},\"created_at\":{\"type\":\"string\"},\"updated_at\":{\"type\":\"string\"}},\"required\":[\"id\",\"name\",\"description\",\"connection_id\",\"cron\",\"connector_name\",\"connector_plugin\",\"connector_version\",\"image_url\",\"created_at\",\"updated_at\"]}}}}" \ No newline at end of file