diff --git a/package-lock.json b/package-lock.json index 0db1fb3..db42cdd 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.4", - "@dadosfera/protospack-v2": "3.18.10", + "@dadosfera/protospack-v2": "3.18.14", "@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.18.10", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.18.10.tgz", - "integrity": "sha512-0bRUvo4p7cJJOL+B0hVTiSDaA2MGtirPkFVQW4lUfzsyY5vrsbAkMz6R3iPdPPwFSxGn5LwidHGkP3/l7hlEpA==", + "version": "3.18.14", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.18.14.tgz", + "integrity": "sha512-6SQDJgqxQbJtnZZ/ID52+x/fWA93P3LxebIwCaVZHQhwnRzIpxEHVcr9a07ytqQJMma9fezDWqnlPQCmKhEASg==", "dependencies": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", @@ -12306,9 +12306,9 @@ } }, "@dadosfera/protospack-v2": { - "version": "3.18.10", - "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.18.10.tgz", - "integrity": "sha512-0bRUvo4p7cJJOL+B0hVTiSDaA2MGtirPkFVQW4lUfzsyY5vrsbAkMz6R3iPdPPwFSxGn5LwidHGkP3/l7hlEpA==", + "version": "3.18.14", + "resolved": "https://dadosfera-611330257153.d.codeartifact.us-east-1.amazonaws.com:443/npm/dadosfera-npm/@dadosfera/protospack-v2/-/protospack-v2-3.18.14.tgz", + "integrity": "sha512-6SQDJgqxQbJtnZZ/ID52+x/fWA93P3LxebIwCaVZHQhwnRzIpxEHVcr9a07ytqQJMma9fezDWqnlPQCmKhEASg==", "requires": { "@grpc/grpc-js": "^1.6.7", "rxjs": "^7.5.5", diff --git a/package.json b/package.json index eeea996..4e685e1 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ }, "scripts": { "preinstall": "aws codeartifact login --tool npm --namespace @dadosfera --repository dadosfera-npm --domain dadosfera --domain-owner 611330257153 --region us-east-1", + "proto-update": "npm i @dadosfera/protospack-v2@latest --save-exact", "prebuild": "rimraf dist", "build": "nest build", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", @@ -27,7 +28,7 @@ "dependencies": { "@aws-sdk/client-secrets-manager": "^3.112.0", "@dadosfera/dadosfera-logs": "^1.0.0-beta.4", - "@dadosfera/protospack-v2": "3.18.10", + "@dadosfera/protospack-v2": "3.18.14", "@grpc/grpc-js": "^1.6.7", "@grpc/proto-loader": "^0.6.13", "@nestjs/common": "^8.4.7", diff --git a/src/modules/catalog/catalog.controller.ts b/src/modules/catalog/catalog.controller.ts index c74498e..04c9ddb 100644 --- a/src/modules/catalog/catalog.controller.ts +++ b/src/modules/catalog/catalog.controller.ts @@ -1,15 +1,15 @@ import { Body, Controller, - Delete, - ForbiddenException, Get, + Headers, HttpException, Inject, Param, Post, Put, Query, + UnsupportedMediaTypeException, } from '@nestjs/common'; import { ApiTags } from '@nestjs/swagger'; import { @@ -21,6 +21,7 @@ import { CatalogService } from './catalog.service'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { PackTheMetadata } from 'src/utils/ PackTheMetadata'; import { RequestUser, User } from 'src/authentication/user.decorator'; +import { ICatalogAllResponse } from './dtos'; @ApiTags('Catalog') @Controller('catalog') @@ -56,54 +57,15 @@ export class CatalogController { this.logger = dadosferaLogger.logger; } - @Put('manage_permissions/:id') - async manageDataAssetPermissions( - @Param('id') id: string, + @Get() + async catalogAll( @User() user: RequestUser, - @Body() body, - ) { - const { customer_id, customer_name, user_id, username } = user; - const metadata = PackTheMetadata({ - customer_id, - customer_name, - user_id, - username, - }); - const response = await this.catalogService.managePermissions( - { ...body, id }, - metadata, - ); - - return { data_asset: JSON.parse(response.data_asset) }; - } - - @Put('revoke_permissions/:id') - async revokeDataAssetPermissions( - @Param('id') id: string, - @User() user: RequestUser, - @Body() body, - ) { - const { customer_id, customer_name, user_id, username } = user; - const metadata = PackTheMetadata({ - customer_id, - customer_name, - user_id, - username, - }); - const response = await this.catalogService.revokePermissions( - { ...body, id }, - metadata, - ); - - return { message: response.message }; - } - - @Get('all') - async catalogAll(@User() user: RequestUser, @Body() body, @Query() params) { + @Query() query, + ): Promise { const { user_id, customer_name, customer_id, username, permissions } = user; - this.logger.info(`/catalog - ON CATALOG ALL ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, + this.logger.info(`/catalog - Catalog all data assets`, { + user_id, + customer_name, }); const is_data_manager = permissions.includes( @@ -122,337 +84,12 @@ export class CatalogController { }); const res = await this.catalogService.getAllOpenSearchDataAssets( - params, + query, metadata, customer_id, ); - return res.data_assets; - } - - @Get('data_apps') - async dataAppsAll(@Body() body) { - this.logger.info(`/catalog - ON FIND ALL DATA APPS ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.dataAppsAll(body); - - return res; - } - - @Delete('data_apps/:id') - async dataAppsOne(@Param() params, @Body() body) { - this.logger.info(`/catalog - ON FIND ONE DATA APP ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - const { id } = params; - - const res = await this.catalogService.dataAppsOne(id, body); - - return res; - } - - @Get('dashboard-metabase/:id') - async getOneDashboardMetabase( - @Body() body, - @Param() params, - @User() user: RequestUser, - ) { - const { id } = params; - this.logger.info(`/catalog - ON GET ONE DASHBOARD METABASE ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const { username, user_id, customer_id, customer_name, permissions } = user; - const is_data_manager = permissions.includes( - PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER.seqid, - ); - let has_permission = false; - const metadata = PackTheMetadata({ - username, - user_id, - customer_id, - customer_name, - }); - - const user_roles = await this.catalogService.getUserRolesIds(user_id); - - const res = await this.catalogService.getOneDashboardMetabase( - id, - body, - metadata, - customer_id, - ); - - const dashboard = res.dashboard; - - if (dashboard.owner === username) has_permission = true; - - for (const role of user_roles) { - if (dashboard.p_roles.includes(role)) has_permission = true; - } - - if (dashboard.p_users.includes(user_id)) has_permission = true; - - if (is_data_manager || has_permission) { - delete dashboard.p_roles; - delete dashboard.p_users; - return res; - } - - throw new HttpException( - 'You do not have permission to access this data asset.', - 403, - ); - } - - @Get('table-metadata') - async getAllTableMetadata( - @Body() body, - @Query() query, - @User() user: RequestUser, - ) { - this.logger.info(`/catalog - ON GET ALL TABLES METADATA ROUTE`, { - user: user.user_id, - customer: user.customer_name, - }); - const { user_id, customer_name, customer_id, permissions, username } = user; - const is_data_manager = permissions.includes( - PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER.seqid, - ); - let has_permission = false; - const metadata = PackTheMetadata({ - user_id, - customer_id, - customer_name, - }); - - if (!query) { - const res = await this.catalogService.getAllTableMetadata(body); - return res; - } else { - const user_roles = await this.catalogService.getUserRolesIds(user_id); - const res = await this.catalogService.getOneTableMetadata( - body, - query, - metadata, - customer_id, - ); - const table = res[0]; - - if (table.owner === username) has_permission = true; - - for (const role of user_roles) { - if (table.p_roles.includes(role)) has_permission = true; - } - - if (table.p_users.includes(user_id)) has_permission = true; - - if (is_data_manager || has_permission) { - delete table.p_roles; - delete table.p_users; - return res; - } - - throw new ForbiddenException( - 'You do not have permission to access this data asset.', - ); - } - } - - @Delete('table-metadata/:id') - async deleteOneTableMetadata(@Param() params, @Body() body) { - const { id } = params; - this.logger.info(`/catalog - ON DELETE ONE TABLE METADATA ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.deleteOneTableMetadata(id, body); - - return res; - } - - @Get('column-metadata') - async getOneColumnMetadata(@Body() body, @Query() params) { - this.logger.info(`/catalog - ON GET ONE COLUMN METADATA ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getOneColumnMetadata(body, params); - - return res; - } - - @Delete('column-metadata/:id') - async deleteOneColumnMetadata(@Param() params, @Body() body) { - this.logger.info(`/catalog - ON DELETE ONE COLUMN METADATA ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - const { id } = params; - - const res = await this.catalogService.deleteOneColumnMetadata(id, body); - - return res; - } - - @Get('data-preview') - async getOneDataPreview(@Body() body, @Query() params) { - this.logger.info(`/catalog - ON GET ONE DATAPREVIEW ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getOneDataPreview(body, params); - - return res; - } - - @Get('data-status') - async getDataStatus(@Body() body) { - this.logger.info(`/catalog - ON GET DATA STATUS ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getDataStatus(body); - - return res; - } - - @Get('data-status') - async createDataStatus(@Body() body) { - this.logger.info(`/catalog - ON CREATE DATA STATUS ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.createDataStatus(body); - - return res; - } - - @Get('data-docs') - async getDataDocs(@Body() body) { - this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getDataDocs(body); - - return res; - } - - @Post('data-docs') - async createDataDocs(@Body() body) { - this.logger.info(`/catalog - ON CREATE DATA DOCS ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.createDataDocs(body); - - return res; - } - - @Get('data-rating') - async getDataRating(@Body() body) { - this.logger.info(`/catalog - ON GET DATA RATING ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getDataRating(body); - - return res; - } - - @Post('data-rating') - async createDataRating(@Body() body) { - this.logger.info(`/catalog - ON GET DATA RATING ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.createDataRating(body); - - return res; - } - - @Get('summary-rating/:id') - async getSummaryRating() { - this.logger.info(`/catalog - ON GET SUMMARY RATING ROUTE`); - //const { id } = params; - - // - - //const res = await this.catalogService.getSummaryRating(id, body); - - return { - avg_rating: 0, - rating_count: 0, - }; - } - - @Get('data-comment') - async getDataComment(@Body() body) { - this.logger.info(`/catalog - ON GET DATA COMMENT ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getDataComment(body); - - return res; - } - - @Post('data-comment') - async createDataComment(@Body() body) { - this.logger.info(`/catalog - ON GET DATA COMMENT ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.createDataComment(body); - - return res; - } - - @Get('data-review') - async getDataReview(@Body() body, @Query() params) { - this.logger.info(`/catalog - ON GET DATA REVIEW ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, - }); - - const res = await this.catalogService.getDataReview(body, params); - - return res; - } - - @Post('tags') - async createTags(@Body() body, @User() user: RequestUser) { - this.logger.info(`/catalog - ON CREATE TAG ROUTE`, { - user: user.user_id, - customer: user.customer_name, - }); - const { user_id, customer_name, customer_id } = user; - const metadata = PackTheMetadata({ - user_id, - customer_id, - customer_name, - }); - - const res = await this.catalogService.createTags(body, metadata); - - return res.data_assets; + return { ...res }; } @Get('tags') @@ -474,28 +111,251 @@ export class CatalogController { return res; } - @Get('table-rules') - async getTableRules(@Body() body) { - this.logger.info(`/catalog - ON GET TABLE RULES ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, + @Get('data-asset/:id') + async getDataAsset( + @User() user: RequestUser, + @Headers() headers, + @Param('id') id, + ) { + const { username, user_id, customer_id, customer_name, permissions } = user; + const [data_asset_type, data_asset_id] = id.split('-'); + + this.logger.info(`/catalog - ON GET ONE DASHBOARD METABASE ROUTE`, { + username, + customer_name, }); - const res = await this.catalogService.getTableRules(body); + const is_data_manager = permissions.includes( + PERMISSIONS_GROUPS.CATALOG.permissions.DATA_MANAGER.seqid, + ); + let has_permission = false; + const metadata = PackTheMetadata({ + username, + user_id, + customer_id, + customer_name, + }); + + const user_roles = await this.catalogService.getUserRolesIds(user_id); + + const { data_asset } = await this.catalogService.getOneDataAsset({ + customer_id, + data_asset_id, + data_asset_type, + metadata, + }); + + if (data_asset?.owner === username) has_permission = true; + + for (const role of user_roles) { + if (data_asset.p_roles.includes(role)) has_permission = true; + } + + if (data_asset.p_users.includes(user_id)) has_permission = true; + + if (is_data_manager || has_permission) { + delete data_asset.p_roles; + delete data_asset.p_users; + return { data_asset }; + } + + throw new HttpException( + 'You do not have permission to access this data asset.', + 403, + ); + } + + @Get('data-asset/:id/columns-metadata') + async getDataAssetColumnsMetadata( + @User() user: RequestUser, + @Headers('Dadosfera-Lang') language, + @Param('id') id, + ) { + const { customer_name, customer_id, user_id, username } = user; + const data_asset_type = id.split('-')[0]; + + const supported_data_assets = ['dataset']; + + if (!supported_data_assets.includes(data_asset_type)) { + throw new UnsupportedMediaTypeException( + `${data_asset_type} does not have a preview function for the time being.`, + ); + } + + this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, { + user_id, + customer_name, + }); + + const metadata = PackTheMetadata({ + customer_name, + customer_id, + user_id, + username, + language, + }); + + const columns_metadata = + await this.catalogService.getDatasetColumnsMetadata(id, metadata); + + return { columns_metadata }; + } + + @Get('data-asset/:id/preview') + async getDataAssetPreview( + @User() user: RequestUser, + @Headers('Dadosfera-lang') language, + @Param('id') id, + ) { + const { customer_name, customer_id, user_id, username } = user; + const data_asset_type = id.split('-')[0]; + + const supported_data_assets = ['dataset']; + + if (!supported_data_assets.includes(data_asset_type)) { + throw new UnsupportedMediaTypeException( + `${data_asset_type} does not have a preview function for the time being.`, + ); + } + + this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, { + user_id, + customer_name, + }); + + const metadata = PackTheMetadata({ + customer_name, + customer_id, + user_id, + username, + language, + }); + + const preview = await this.catalogService.getDatasetPreview(id, metadata); + + return { preview }; + } + + @Get('data-asset/:id/docs') + async getDataAssetDocs( + @User() user: RequestUser, + @Headers('Dadosfera-Lang') language, + @Param('id') id, + ) { + const { customer_name, customer_id, user_id, username } = user; + const data_asset_type = id.split('-')[0]; + + const supported_data_assets = ['dataset']; + + if (!supported_data_assets.includes(data_asset_type)) { + throw new UnsupportedMediaTypeException( + `${data_asset_type} does not have a documentation function for the time being.`, + ); + } + + this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, { + user_id, + customer_name, + }); + + const metadata = PackTheMetadata({ + customer_name, + customer_id, + user_id, + username, + language, + }); + + const docs = await this.catalogService.getDataDocs(id, metadata); + + return { docs }; + } + + @Put('data-asset/:id') + async updateDataAsset( + @User() user: RequestUser, + @Headers() headers, + @Param('id') id, + ) { + console.log(user, headers); + return { data_asset_id: id, message: 'Under development' }; + } + + @Post('data-asset/:id/docs') + async manageDataAssetDocs( + @User() user: RequestUser, + @Headers() headers, + @Param('id') data_asset_id, + @Body('docs') docs: string, + ) { + const { user_id, customer_name } = user; + const [data_asset_type, id] = data_asset_id.split('-'); + + this.logger.info(`/catalog - ON GET DATA DOCS ROUTE`, { + user_id, + customer_name, + }); + + const res = await this.catalogService.createDataDocs({ + table_id: id, + docs, + info: { + customer: customer_name, + }, + }); return res; } - @Delete('table-rules/:id') - async deleteTableRules(@Param() params, @Body() body) { - this.logger.info(`/catalog - ON DELETE TABLE RULES ROUTE`, { - user: body.info.user_id, - customer: body.info.customer, + @Post('data-asset/:id/comment') + async makeAComment( + @User() user: RequestUser, + @Headers() headers, + @Param('id') id, + ) { + console.log(user, headers); + return { data_asset_id: id, message: 'Under development' }; + } + + @Put('data-asset/:id/manage-permissions') + async manageDataAssetPermissions( + @Param('id') id: string, + @User() user: RequestUser, + @Body() body, + ) { + const { customer_id, customer_name, user_id, username } = user; + const metadata = PackTheMetadata({ + customer_id, + customer_name, + user_id, + username, }); - const { id } = params; + const response = await this.catalogService.managePermissions( + { ...body, id }, + metadata, + ); - const res = await this.catalogService.deleteTableRules(id, body); + return { data_asset: JSON.parse(response.data_asset) }; + } - return res; + @Put('data-asset/:id/revoke-permissions') + async revokeDataAssetPermissions( + @Param('id') id: string, + @User() user: RequestUser, + @Body() body, + ) { + const { customer_id, customer_name, user_id, username } = user; + const metadata = PackTheMetadata({ + customer_id, + customer_name, + user_id, + username, + }); + const response = await this.catalogService.revokePermissions( + { ...body, id }, + metadata, + ); + + return { message: response.message }; } } diff --git a/src/modules/catalog/catalog.service.ts b/src/modules/catalog/catalog.service.ts index 357d798..cbb661f 100644 --- a/src/modules/catalog/catalog.service.ts +++ b/src/modules/catalog/catalog.service.ts @@ -15,6 +15,8 @@ import { lastValueFrom } from 'rxjs'; import { CatalogClientConfiguration } from './catalog-client'; import { UsersService } from '../users/users.service'; import { RolesService } from '../roles/roles.service'; +import { Metadata } from '@grpc/grpc-js'; +import { Catalog } from '@dadosfera/protospack-v2'; class CatalogService implements OnModuleInit { catalogReadService: ReadService.CatalogReadServices; @@ -81,28 +83,6 @@ class CatalogService implements OnModuleInit { }); } - async catalogAll(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/all/`); - - return data; - } - - async dataAppsAll(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data_apps/`); - return data; - } - - async dataAppsOne(id, body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/data_apps/${id}/`, - ); - - return data; - } - async getUserRolesIds(userId: string) { const result = await this.userService.findOneById(userId).catch(() => null); @@ -153,12 +133,12 @@ class CatalogService implements OnModuleInit { ); }); - const data_assets = JSON.parse(response.data_assets); + const result = JSON.parse(response.data_assets); const [customer_users, customer_roles] = await this.getUsernamesAndRolesByCustomerId(customer_id); - for (const asset of data_assets.tables) { + for (const asset of result.data_assets) { const condition = asset.owner && !asset.owner.includes('@') ? true : false; const result = condition @@ -190,50 +170,18 @@ class CatalogService implements OnModuleInit { }); } - for (const asset of data_assets.dashboards) { - const condition = - asset.owner && !asset.owner.includes('@') ? true : false; - const result = condition - ? await this.userService.findOneById(asset.owner).catch(() => null) - : null; - - const owner = result !== null ? result.user.username : null; - - const roles = []; - const users = []; - - for (const role of customer_roles) { - for (const role_id of asset.roles) { - if (role.id === role_id) roles.push(role); - } - } - - for (const user of customer_users) { - for (const user_id of asset.users) { - if (user.id === user_id) users.push(user); - } - } - - Object.assign(asset, { - ...asset, - owner, - roles, - users, - }); - } - - return { data_assets }; + return { data_assets: result.data_assets }; } - async getOneDashboardMetabase(id, body, metadata, customer_id) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/dashboard-metabase/${id}`, - ); - + async getOneDataAsset({ + data_asset_id, + data_asset_type, + customer_id, + metadata, + }) { const { data_asset } = await lastValueFrom( this.catalogReadService.GetOneDataAsset( - { id, type: 'dashboard' }, + { id: data_asset_id, type: data_asset_type }, metadata, ), ); @@ -265,9 +213,7 @@ class CatalogService implements OnModuleInit { } } - Object.assign(data.dashboard, { - tags: opensearchTable.tags, - description: opensearchTable.description || null, + Object.assign(opensearchTable, { p_roles: opensearchTable.roles, p_users: opensearchTable.users, roles, @@ -275,125 +221,47 @@ class CatalogService implements OnModuleInit { owner, }); - return data; + return { data_asset: opensearchTable }; } - async getAllTableMetadata(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/table-metadata/`, + async getDataDocs(data_asset_id: string, metadata: Metadata) { + const [data_asset_type, id] = data_asset_id.split('-'); + + const { documentation } = await lastValueFrom( + this.catalogReadService.GetDatasetDoc( + { id, type: data_asset_type }, + metadata, + ), ); - return data; + console.log(documentation); + const docs = JSON.parse(documentation); + return docs; } - async getOneTableMetadata(body, params, metadata, customer_id) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/table-metadata/`, - { params: params }, + async getDatasetPreview(data_asset_id: string, metadata: Metadata) { + const [data_asset_type, id] = data_asset_id.split('-'); + + const { preview } = await lastValueFrom( + this.catalogReadService.GetDatasetPreview( + { id, type: data_asset_type }, + metadata, + ), ); - if (data?.length === 1) { - const { data_asset } = await lastValueFrom( - this.catalogReadService.GetOneDataAsset( - { id: data[0].id, type: 'dataset' }, - metadata, - ), - ); - const opensearchTable = JSON.parse(data_asset); - const result = opensearchTable.owner - ? await this.userService - .findOneById(opensearchTable.owner) - .catch(() => null) - : null; - - const owner = result !== null ? result.user.username : null; - - const [customer_users, customer_roles] = - await this.getUsernamesAndRolesByCustomerId(customer_id); - - const users = []; - const roles = []; - - for (const role of customer_roles) { - for (const role_id of opensearchTable.roles) { - if (role.id === role_id) roles.push(role); - } - } - - for (const user of customer_users) { - for (const user_id of opensearchTable.users) { - if (user.id === user_id) users.push(user); - } - } - - return [ - { - ...data[0], - tags: opensearchTable.tags, - table_description: opensearchTable.description, - p_roles: opensearchTable.roles, - p_users: opensearchTable.users, - users, - roles, - owner, - }, - ]; - } - return data; + const result = JSON.parse(preview); + return result; } - async deleteOneTableMetadata(id, body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.delete( - `${nimbusUrl}/api/catalog/table-metadata/${id}`, + async getDatasetColumnsMetadata(data_asset_id: string, metadata: Metadata) { + const [data_asset_type, id] = data_asset_id.split('-'); + + const { columns_metadata } = await lastValueFrom( + this.catalogReadService.GetDatasetColumnsMetadata( + { id, type: data_asset_type }, + metadata, + ), ); - return data; - } - - async getOneColumnMetadata(body, params) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/column-metadata/`, - { params: params }, - ); - return data; - } - - async deleteOneColumnMetadata(id, body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.delete( - `${nimbusUrl}/api/catalog/column-metadata/${id}/`, - ); - return data; - } - - async getOneDataPreview(body, params) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-preview/`, { - params: params, - }); - return data; - } - - async getDataStatus(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-status/`); - return data; - } - - async createDataStatus(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.post( - `${nimbusUrl}/api/catalog/data-status/`, - body, - ); - return data; - } - - async getDataDocs(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-docs/`); - return data; + const result = JSON.parse(columns_metadata); + return result; } async createDataDocs(body) { @@ -405,70 +273,6 @@ class CatalogService implements OnModuleInit { return data; } - async getDataRating(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-rating/`); - return data; - } - - async createDataRating(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.post( - `${nimbusUrl}/api/catalog/data-rating/`, - body, - ); - return data; - } - - async getSummaryRating(id, body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/summary-rating/${id}`, - ); - return data; - } - - async getDataComment(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-comment/`); - return data; - } - - async createDataComment(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.post( - `${nimbusUrl}/api/catalog/data-comment/`, - body, - ); - return data; - } - - async getDataReview(body, params) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get(`${nimbusUrl}/api/catalog/data-review/`, { - params: params, - }); - return data; - } - - async createTags(data: Messages.TagTableRequest, metadata) { - this.logger.info('CatalogService - createTags'); - - const response = await lastValueFrom( - this.catalogWriteService.TagTable(data, metadata), - ) - .then((res) => { - this.logger.info('Done'); - return res; - }) - .catch((err) => { - this.logger.error(err.message); - throw new Error(err); - }); - - return { data_assets: response }; - } - async findAllTags(data, metadata) { this.logger.info('CatalogService - findAllCustomerTags'); @@ -486,23 +290,6 @@ class CatalogService implements OnModuleInit { return response; } - - async getTableRules(body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.get( - `${nimbusUrl}/api/catalog/table-rules/`, - body, - ); - return data; - } - - async deleteTableRules(id, body) { - const nimbusUrl = this._getNimbusUrl(body); - const { data } = await axios.delete( - `${nimbusUrl}/api/catalog/table-rules/${id}`, - ); - return data; - } } export { CatalogService }; diff --git a/src/modules/catalog/dtos/index.ts b/src/modules/catalog/dtos/index.ts new file mode 100644 index 0000000..aeaf1ce --- /dev/null +++ b/src/modules/catalog/dtos/index.ts @@ -0,0 +1,78 @@ +import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; + +export class IRole { + @ApiProperty() + name: string; + @ApiProperty() + id: string; +} + +export class IUser { + @ApiProperty() + username: string; + @ApiProperty() + id: string; +} + +export class IDataAsset { + @ApiProperty() + id: number; + @ApiPropertyOptional() + database_name?: string; + @ApiPropertyOptional() + table_name?: string; + @ApiPropertyOptional() + num_columns?: number; + @ApiPropertyOptional() + location?: string; + @ApiPropertyOptional() + created_time?: string; + @ApiPropertyOptional() + table_type?: string; + @ApiPropertyOptional() + size_in_bytes?: number; + @ApiPropertyOptional() + num_files?: number; + @ApiPropertyOptional() + data_encrypted?: string; + @ApiPropertyOptional() + num_rows?: number; + @ApiPropertyOptional() + display_name?: string; + @ApiProperty() + pipeline_id: string; + @ApiProperty() + user_id: string; + @ApiProperty() + description: string; + @ApiProperty() + data_asset_type: string; + @ApiProperty() + tags: string[]; + @ApiProperty() + owner: { + username: string; + id: string; + }; + @ApiProperty() + roles: IRole[]; + @ApiProperty() + users: IUser[]; + @ApiPropertyOptional() + dashboard_id?: number; + @ApiPropertyOptional() + name?: string; + @ApiPropertyOptional() + parameters?: string[]; + @ApiPropertyOptional() + embedding_params?: object; + @ApiPropertyOptional() + created_at?: string; + @ApiPropertyOptional() + updated_at?: string; +} + +export class ICatalogAllResponse { + @ApiProperty() + data_assets: IDataAsset[]; +} diff --git a/src/modules/oauth/oauth.controller.ts b/src/modules/oauth/oauth.controller.ts index 04954d6..3ed6297 100644 --- a/src/modules/oauth/oauth.controller.ts +++ b/src/modules/oauth/oauth.controller.ts @@ -5,7 +5,6 @@ import { ConnectionClientService } from '../connection/client.service'; import jwt from 'jsonwebtoken'; import DadosferaLogger from '@dadosfera/dadosfera-logs/dist'; import { PackTheMetadata } from 'src/utils/ PackTheMetadata'; -import { Authenticated } from 'src/authentication/authentication.decorator'; @ApiTags('oauth') @Controller('oauth') export class OauthController { diff --git a/swagger.txt b/swagger.txt index 282777c..68a073c 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\":\"\"}},\"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\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/refresh-access-token\":{\"post\":{\"operationId\":\"AuthController_refreshAccessToken\",\"parameters\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"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\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"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/connections-migration\":{\"get\":{\"operationId\":\"ConnectionController_synchronizeConnections\",\"parameters\":[{\"name\":\"apply\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]}},\"/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\":[]}]}},\"/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\"]}},\"/users/synchronize/{id}\":{\"post\":{\"operationId\":\"UsersController_synchronizeUser\",\"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/UpdateUserRes\"}}}},\"201\":{\"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\"]}},\"/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\"]}},\"/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/manage_permissions/{id}\":{\"put\":{\"operationId\":\"CatalogController_manageDataAssetPermissions\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/revoke_permissions/{id}\":{\"put\":{\"operationId\":\"CatalogController_revokeDataAssetPermissions\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/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\":\"\"}},\"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\"]}},\"/catalog/table-tags/{data_asset_id}\":{\"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\"]}},\"/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\"]}},\"/productboard/notes\":{\"post\":{\"operationId\":\"ProductboardController_sendNote\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/INote\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Productboard\"]}}},\"info\":{\"title\":\"Maestro\",\"description\":\"Documentation for Maestro gateway\",\"version\":\"11.10.2022 - 11:49\",\"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\":{\"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\":[\"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\"]},\"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\"},\"email\":{\"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\"]},\"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\"]},\"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\"]},\"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\"]},\"INote\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"content\":{\"type\":\"string\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"title\",\"content\",\"tags\"]}}}}" \ 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\":\"\"}},\"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\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Auth\"]}},\"/auth/refresh-access-token\":{\"post\":{\"operationId\":\"AuthController_refreshAccessToken\",\"parameters\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"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\":[{\"name\":\"Dadosfera-Lang\",\"required\":true,\"in\":\"header\",\"schema\":{\"type\":\"string\"}}],\"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/connections-migration\":{\"get\":{\"operationId\":\"ConnectionController_synchronizeConnections\",\"parameters\":[{\"name\":\"apply\",\"required\":true,\"in\":\"query\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"connections\"],\"security\":[{\"bearer\":[]}]}},\"/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\":[]}]}},\"/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\"]}},\"/users/synchronize/{id}\":{\"post\":{\"operationId\":\"UsersController_synchronizeUser\",\"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/UpdateUserRes\"}}}},\"201\":{\"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\"]}},\"/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\"]}},\"/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\":{\"get\":{\"operationId\":\"CatalogController_catalogAll\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ICatalogAllResponse\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/tags\":{\"get\":{\"operationId\":\"CatalogController_findAllTags\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}\":{\"get\":{\"operationId\":\"CatalogController_getDataAsset\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]},\"put\":{\"operationId\":\"CatalogController_updateDataAsset\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}/columns-metadata\":{\"get\":{\"operationId\":\"CatalogController_getDataAssetColumnsMetadata\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}/preview\":{\"get\":{\"operationId\":\"CatalogController_getDataAssetPreview\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}/docs\":{\"get\":{\"operationId\":\"CatalogController_getDataAssetDocs\",\"parameters\":[],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]},\"post\":{\"operationId\":\"CatalogController_manageDataAssetDocs\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}/comment\":{\"post\":{\"operationId\":\"CatalogController_makeAComment\",\"parameters\":[],\"responses\":{\"201\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}/manage-permissions\":{\"put\":{\"operationId\":\"CatalogController_manageDataAssetPermissions\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/catalog/data-asset/{id}/revoke-permissions\":{\"put\":{\"operationId\":\"CatalogController_revokeDataAssetPermissions\",\"parameters\":[{\"name\":\"id\",\"required\":true,\"in\":\"path\",\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"\"}},\"tags\":[\"Catalog\"]}},\"/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\"]}},\"/productboard/notes\":{\"post\":{\"operationId\":\"ProductboardController_sendNote\",\"parameters\":[],\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/INote\"}}}},\"responses\":{\"201\":{\"description\":\"\",\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\"}}}}},\"tags\":[\"Productboard\"]}}},\"info\":{\"title\":\"Maestro\",\"description\":\"Documentation for Maestro gateway\",\"version\":\"17.10.2022 - 13:31\",\"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\":{\"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\":[\"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\"]},\"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\"},\"email\":{\"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\"]},\"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\"]},\"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\"]},\"ICatalogAllResponse\":{\"type\":\"object\",\"properties\":{\"data_assets\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"data_assets\"]},\"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\"]},\"INote\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"},\"content\":{\"type\":\"string\"},\"tags\":{\"type\":\"array\",\"items\":{\"type\":\"string\"}}},\"required\":[\"title\",\"content\",\"tags\"]}}}}" \ No newline at end of file