diff --git a/.github/workflows/deploy-manually.yml b/.github/workflows/deploy-manually.yml index cd277dd..2998991 100644 --- a/.github/workflows/deploy-manually.yml +++ b/.github/workflows/deploy-manually.yml @@ -134,3 +134,74 @@ jobs: run: | docker system prune --volumes -a -f docker system df + api_docs: + needs: [extract_environment, semantic_release, deploy] + runs-on: + [self-hosted, '${{ needs.extract_environment.outputs.environment }}'] + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Extract Docs PageId + if: needs.semantic_release.outputs.new_release_published == 'true' + env: + ENV: ${{ needs.extract_environment.outputs.environment }} + DEV_DOCS_PAGE_ID: ${{ secrets.DEV_DOCS_PAGE_ID }} + STG_DOCS_PAGE_ID: ${{ secrets.STG_DOCS_PAGE_ID }} + PRD_DOCS_PAGE_ID: ${{ secrets.PRD_DOCS_PAGE_ID }} + shell: bash + run: | + if [ $ENV == "dev" ]; then + echo "##[set-output name=result;]$(echo $DEV_DOCS_PAGE_ID)" + elif [ $ENV == "stg" ]; then + echo "##[set-output name=result;]$(echo $STG_DOCS_PAGE_ID)" + elif [ $ENV == "prd" ]; then + echo "##[set-output name=result;]$(echo $PRD_DOCS_PAGE_ID)" + fi + id: extract_docs_page_id + + - name: Extract Docs BlockId + if: needs.semantic_release.outputs.new_release_published == 'true' + env: + ENV: ${{ needs.extract_environment.outputs.environment }} + DEV_DOCS_BLOCK_ID: ${{ secrets.DEV_DOCS_BLOCK_ID }} + STG_DOCS_BLOCK_ID: ${{ secrets.STG_DOCS_BLOCK_ID }} + PRD_DOCS_BLOCK_ID: ${{ secrets.PRD_DOCS_BLOCK_ID }} + shell: bash + run: | + if [ $ENV == "dev" ]; then + echo "##[set-output name=result;]$(echo $DEV_DOCS_BLOCK_ID)" + elif [ $ENV == "stg" ]; then + echo "##[set-output name=result;]$(echo $STG_DOCS_BLOCK_ID)" + elif [ $ENV == "prd" ]; then + echo "##[set-output name=result;]$(echo $PRD_DOCS_BLOCK_ID)" + fi + id: extract_docs_block_id + + - name: Generate API docs + if: needs.semantic_release.outputs.new_release_published == 'true' + env: + ENV: ${{ needs.extract_environment.outputs.environment }} + DOCS_URL: ${{ secrets.DOCS_URL }} + DOCS_API_TOKEN: ${{ secrets.DOCS_API_TOKEN }} + DOCS_PAGE_ID: ${{ steps.extract_docs_page_id.outputs.result }} + DOCS_BLOCK_ID: ${{ steps.extract_docs_block_id.outputs.result }} + continue-on-error: true + run: | + curl -XPOST \ + --url $DOCS_URL \ + --header 'Content-Type: application/json' \ + --data '{ + "service": "$DOCS_API_TOKEN", + "pageId": "$DOCS_PAGE_ID", + "blockId": "$DOCS_BLOCK_ID", + "schema": "../swagger.json" + }' + + + - name: Cleanup Docker's Leftovers + if: always() + continue-on-error: true + run: | + docker system prune + docker rmi -f $(docker images -aq) diff --git a/.gitignore b/.gitignore index 17a63ae..82df049 100644 --- a/.gitignore +++ b/.gitignore @@ -38,5 +38,3 @@ lerna-debug.log* *.env .env - -swagger.json \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index b931951..4c58b37 100644 --- a/src/main.ts +++ b/src/main.ts @@ -43,11 +43,11 @@ async function bootstrap() { await writeFileSync('swagger.json', JSON.stringify(document)); - if (process.env.ENV != 'stg' && process.env.ENV != 'prd') - SwaggerModule.setup('api', app, document); + // if (process.env.ENV != 'stg' && process.env.ENV != 'prd') + // SwaggerModule.setup('api', app, document); - const swaggerDoc = process.env.ENV === 'dev' ? document : documentEmpty; - SwaggerModule.setup('api', app, swaggerDoc); + // const swaggerDoc = process.env.ENV === 'dev' ? document : documentEmpty; + // SwaggerModule.setup('api', app, swaggerDoc); await app.listen(3333); } diff --git a/src/modules/network-config/network-config-client.config.ts b/src/modules/network-config/network-config-client.config.ts index 09bed03..e1f78c9 100644 --- a/src/modules/network-config/network-config-client.config.ts +++ b/src/modules/network-config/network-config-client.config.ts @@ -17,8 +17,9 @@ export class NetworkConfigGrpcClient { NetworkConfig.ProtoPackages.ReadPackage, NetworkConfig.ProtoPackages.WritePackage, ], - credentials: - process.env.ENV === 'local' ? undefined : credentials.createSsl(), + credentials: undefined, + // credentials: + // process.env.ENV === 'local' ? undefined : credentials.createSsl(), protoPath: [ NetworkConfig.ProtoPaths.ReadFilePath, NetworkConfig.ProtoPaths.WriteFilePath, diff --git a/swagger.json b/swagger.json new file mode 100644 index 0000000..f21fd3e --- /dev/null +++ b/swagger.json @@ -0,0 +1 @@ +{"openapi":"3.0.0","paths":{"/connectors":{"post":{"operationId":"ConnectorController_uploadConnector","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateConnectorDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["connectors"],"security":[{"bearer":[]}]},"get":{"operationId":"ConnectorController_getAllConnectors","parameters":[{"name":"search","required":true,"in":"query","schema":{"type":"string"}},{"name":"language","required":true,"in":"query","schema":{"type":"string"}},{"name":"size","required":true,"in":"query","schema":{"type":"string"}},{"name":"page","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/uploads":{"post":{"operationId":"ConnectorController_uploadFile","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"array","items":{"type":"object"}}}}}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/multiple-connectors-upload":{"post":{"operationId":"ConnectorController_uploadConnectorsFile","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/tags":{"get":{"operationId":"ConnectorController_getConnectorsTags","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/{plugin}":{"get":{"operationId":"ConnectorController_getConnector","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}},{"name":"version","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]},"put":{"operationId":"ConnectorController_updateConnector","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/UpdateDto"}}}},"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]},"delete":{"operationId":"ConnectorController_deleteConnector","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteConnectorDto"}}}},"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/{plugin}/details":{"get":{"operationId":"ConnectorController_getConnectorDetails","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}},{"name":"version","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/{plugin}/add-tag":{"put":{"operationId":"ConnectorController_addTagOnConnector","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddTagDto"}}}},"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/connectors/{plugin}/remove-tag":{"put":{"operationId":"ConnectorController_removeTagOnConnector","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveTagDto"}}}},"responses":{"200":{"description":""}},"tags":["connectors"],"security":[{"bearer":[]}]}},"/auth/sign-in":{"post":{"operationId":"AuthController_signIn","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/refresh-access-token":{"post":{"operationId":"AuthController_refreshAccessToken","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/change-password":{"post":{"operationId":"AuthController_changePassword","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/reset-password":{"post":{"operationId":"AuthController_resetPassword","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/verify-reset-password-code":{"post":{"operationId":"AuthController_verifyResetPasswordCode","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/confirm-reset-password":{"post":{"operationId":"AuthController_confirmResetPassword","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/enable-totp":{"post":{"operationId":"AuthController_enableTotpMFA","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/disable-totp":{"post":{"operationId":"AuthController_disableTotpMFA","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/dismiss-totp":{"post":{"operationId":"AuthController_dismissTotpMFA","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/auth/verify-totp":{"post":{"operationId":"AuthController_verifyTotp","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Auth"]}},"/permissions":{"get":{"operationId":"PermissionsController_getPublicPermissions","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetPublicPermissionsRes"}}}}},"tags":["Permissions"]}},"/terms-of-use/token":{"get":{"operationId":"TermsOfUseController_getToken","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["TermsOfUse"]}},"/terms-of-use/accept":{"post":{"operationId":"TermsOfUseController_accept","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["TermsOfUse"]}},"/connections":{"post":{"operationId":"ConnectionController_createConnection","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionRes"}}}}},"tags":["connections"],"security":[{"bearer":[]}]},"get":{"operationId":"ConnectionController_getAllConnection","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionsRes"}}}}},"tags":["connections"],"security":[{"bearer":[]}]}},"/connections/{id}":{"put":{"operationId":"ConnectionController_updateConnection","parameters":[{"name":"Dadosfera-Lang","required":true,"in":"header","schema":{"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectionDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionRes"}}}}},"tags":["connections"],"security":[{"bearer":[]}]},"delete":{"operationId":"ConnectionController_deleteConnection","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionRes"}}}}},"tags":["connections"],"security":[{"bearer":[]}]},"get":{"operationId":"ConnectionController_getConnection","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionRes"}}}}},"tags":["connections"],"security":[{"bearer":[]}]}},"/connections/{id}/details":{"get":{"operationId":"ConnectionController_getConnectionDetails","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionDetailsRes"}}}}},"tags":["connections"],"security":[{"bearer":[]}]}},"/network-config":{"get":{"operationId":"NetworkConfigController_findAllNetworkConfigs","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindAllNetworkConfigsRes"}}}}},"tags":["Network Config"]},"post":{"operationId":"NetworkConfigController_createNetworkConfigs","parameters":[],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/CreateNetworkConfigReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNetworkConfigRes"}}}},"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNetworkConfigRes"}}}}},"tags":["Network Config"]}},"/network-config/{id}":{"get":{"operationId":"NetworkConfigController_findNetworkConfigById","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindAllNetworkConfigsRes"}}}}},"tags":["Network Config"]},"patch":{"operationId":"NetworkConfigController_updateNetworkConfig","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNetworkConfigReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNetworkConfigRes"}}}}},"tags":["Network Config"]},"delete":{"operationId":"NetworkConfigController_deleteNetworkConfig","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteNetworkConfigRes"}}}}},"tags":["Network Config"]}},"/network-config/{id}/details":{"get":{"operationId":"NetworkConfigController_findNetworkConfigByIdDetails","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindAllNetworkConfigsRes"}}}}},"tags":["Network Config"]}},"/connection-test/ping":{"post":{"operationId":"ConnectionTestController_connectionTestPing","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestPingReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestPingRes"}}}}},"tags":["Connection Test"]}},"/connection-test/credentials":{"post":{"operationId":"ConnectionTestController_connectionTestCredentials","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestCredentialsReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestCredentialsRes"}}}}},"tags":["Connection Test"]}},"/connection-test/schemas":{"post":{"operationId":"ConnectionTestController_connectionTestListSchemas","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestListSchemasReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestListSchemasRes"}}}}},"tags":["Connection Test"]}},"/connection-test/tables":{"post":{"operationId":"ConnectionTestController_connectionTestListTables","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestListTablesReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTestListTablesRes"}}}}},"tags":["Connection Test"]}},"/connection-test/table-metadata":{"post":{"operationId":"ConnectionTestController_getTableMetadata","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTableMetadataReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetTableMetadataRes"}}}}},"tags":["Connection Test"]}},"/pipelines/start/{id}":{"post":{"operationId":"PipelinesController_activate","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]}},"/pipelines/{id}/status":{"get":{"operationId":"PipelinesController_getPipelineStatus","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]}},"/pipelines/{id}/{details}":{"get":{"operationId":"PipelinesController_getPipelineLogs","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]}},"/pipelines":{"post":{"operationId":"PipelinesController_create","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]},"get":{"operationId":"PipelinesController_findAll","parameters":[],"responses":{"200":{"description":""}},"tags":["Pipelines"]}},"/pipelines/{id}":{"get":{"operationId":"PipelinesController_findOne","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]},"put":{"operationId":"PipelinesController_update","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]},"delete":{"operationId":"PipelinesController_delete","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Pipelines"]}},"/transformations":{"post":{"operationId":"TransformationsController_create","parameters":[],"responses":{"201":{"description":""}},"tags":["Transformations"]},"get":{"operationId":"TransformationsController_findAll","parameters":[],"responses":{"200":{"description":""}},"tags":["Transformations"]}},"/transformations/{id}":{"get":{"operationId":"TransformationsController_findOne","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Transformations"]},"put":{"operationId":"TransformationsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Transformations"]},"delete":{"operationId":"TransformationsController_delete","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Transformations"]}},"/health":{"get":{"operationId":"HealthController_check","parameters":[],"responses":{"200":{"description":""}},"tags":["Health"]}},"/catalog/all":{"get":{"operationId":"CatalogController_catalogAll","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data_apps":{"get":{"operationId":"CatalogController_dataAppsAll","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data_apps/{id}":{"delete":{"operationId":"CatalogController_dataAppsOne","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/dashboard-metabase":{"get":{"operationId":"CatalogController_getAllDashboardMetabase","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/dashboard-metabase/{id}":{"get":{"operationId":"CatalogController_getOneDashboardMetabase","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/table-metadata":{"get":{"operationId":"CatalogController_getAllTableMetadata","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/table-metadata/{id}":{"delete":{"operationId":"CatalogController_deleteOneTableMetadata","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/column-metadata":{"get":{"operationId":"CatalogController_getOneColumnMetadata","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/column-metadata/{id}":{"delete":{"operationId":"CatalogController_deleteOneColumnMetadata","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data-preview":{"get":{"operationId":"CatalogController_getOneDataPreview","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data-status":{"get":{"operationId":"CatalogController_createDataStatus","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data-description":{"get":{"operationId":"CatalogController_getDataDescription","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]},"post":{"operationId":"CatalogController_createDataDescription","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data-docs":{"get":{"operationId":"CatalogController_getDataDocs","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]},"post":{"operationId":"CatalogController_createDataDocs","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data-rating":{"get":{"operationId":"CatalogController_getDataRating","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]},"post":{"operationId":"CatalogController_createDataRating","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/summary-rating/{id}":{"get":{"operationId":"CatalogController_getSummaryRating","parameters":[],"responses":{"200":{"description":""}},"tags":["Catalog"]}},"/catalog/data-comment":{"get":{"operationId":"CatalogController_getDataComment","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]},"post":{"operationId":"CatalogController_createDataComment","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/data-review":{"get":{"operationId":"CatalogController_getDataReview","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/tags":{"post":{"operationId":"CatalogController_createTags","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]},"get":{"operationId":"CatalogController_findAllTags","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/tags/{id}":{"delete":{"operationId":"CatalogController_deleteTags","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/table-tags":{"post":{"operationId":"CatalogController_createTableTags","parameters":[],"responses":{"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]},"get":{"operationId":"CatalogController_getAllTableTags","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/table-tags/{id}":{"delete":{"operationId":"CatalogController_deleteTableTags","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/table-rules":{"get":{"operationId":"CatalogController_getTableRules","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/catalog/table-rules/{id}":{"delete":{"operationId":"CatalogController_deleteTableRules","parameters":[],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Catalog"]}},"/users":{"get":{"operationId":"UsersController_getAllUsersByCustomerId","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"responses":{"200":{"description":"List of users of a customer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllUsersByCustomerIdRes"}}}}},"tags":["Users"]},"post":{"operationId":"UsersController_createUser","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserReq"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserRes"}}}}},"tags":["Users"]}},"/users/hierarchies":{"get":{"operationId":"UsersController_getAllHierarchies","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllHierarchiesRes"}}}}},"tags":["Users"]}},"/users/departments":{"get":{"operationId":"UsersController_getAllDepartments","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllDepartmentsRes"}}}}},"tags":["Users"]}},"/users/jobTitles":{"get":{"operationId":"UsersController_getAllJobTitles","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllDepartmentsRes"}}}}},"tags":["Users"]}},"/users/{id}":{"get":{"operationId":"UsersController_findOneById","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserByCustomer"}}}}},"tags":["Users"]},"delete":{"operationId":"UsersController_deleteUser","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteUserRes"}}}}},"tags":["Users"]},"patch":{"operationId":"UsersController_updateUser","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateUserRes"}}}}},"tags":["Users"]}},"/users/batch":{"post":{"operationId":"UsersController_batchCreateUser","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchCreateUserReq"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchCreateUserRes"}}}}},"tags":["Users"]}},"/users/{id}/resend-invite":{"post":{"operationId":"UsersController_resendInvite","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Users"]}},"/users/roles":{"patch":{"operationId":"UsersController_setUserRoles","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetUserRolesReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetUserRolesRes"}}}}},"tags":["Users"]}},"/users/role":{"put":{"operationId":"UsersController_assignRoleToUser","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignRoleToUserReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Users"]},"delete":{"operationId":"UsersController_unassignRoleToUser","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Users"]}},"/roles":{"get":{"operationId":"RolesController_searchRoles","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"permissionId","required":false,"in":"query","schema":{"type":"array","items":{"type":"string"}}},{"name":"getUsers","required":false,"in":"query","schema":{"enum":["true","false"],"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetRolesByCustomerRes"}}}}},"tags":["Roles"]},"post":{"operationId":"RolesController_createRole","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleReq"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoleRes"}}}}},"tags":["Roles"]}},"/roles/permissions":{"put":{"operationId":"RolesController_grantPermissionsToRole","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantPermissionsToRoleReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrantPermissionsToRoleRes"}}}}},"tags":["Roles"]},"delete":{"operationId":"RolesController_revokePermissionsFromRole","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokePermissionsFromRoleReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokePermissionsFromRoleRes"}}}}},"tags":["Roles"]},"patch":{"operationId":"RolesController_setRolePermissions","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetRolePermissionsReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetRolePermissionsRes"}}}}},"tags":["Roles"]}},"/roles/users":{"patch":{"operationId":"RolesController_setRoleUsers","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetRoleUsersReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetRoleUsersRes"}}}}},"tags":["Roles"]}},"/roles/{id}":{"get":{"operationId":"RolesController_getRoleById","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleDto"}}}}},"tags":["Roles"]},"delete":{"operationId":"RolesController_deleteRole","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["Roles"]},"patch":{"operationId":"RolesController_updateRole","parameters":[{"name":"dadosfera-lang","in":"header","description":"Defaults to pt-br","required":false,"schema":{"enum":["pt-br","en-us"],"type":"string"}},{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleRes"}}}}},"tags":["Roles"]}},"/inputs/available-entities/{plugin}":{"get":{"operationId":"InputsController_getAvailableEntities","parameters":[{"name":"plugin","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAvailableEntitiesRes"}}}}},"tags":["inputs"]}},"/inputs/test-connection":{"post":{"operationId":"InputsController_testConnection","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionRes"}}}},"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["inputs"]}},"/inputs/test-connection/get-columns":{"post":{"operationId":"InputsController_getColumns","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionGetColumnsReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestConnectionGetColumnsRes"}}}},"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["inputs"]}},"/inputs":{"post":{"operationId":"InputsController_create","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInputReq"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Input"}}}},"201":{"description":"","content":{"application/json":{"schema":{"type":"object"}}}}},"tags":["inputs"]},"get":{"operationId":"InputsController_findAll","parameters":[],"responses":{"200":{"description":""}},"tags":["inputs"]}},"/inputs/{id}":{"post":{"operationId":"InputsController_reCreate","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"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_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"]}}},"info":{"title":"Maestro","description":"Documentation for Maestro gateway","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://maestro.dev.dadosfera.ai"}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"CreateConnectorDto":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"connector":{"type":"string"}},"required":["file","connector"]},"UpdateDto":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"version":{"type":"string"},"category":{"type":"string"},"plugin":{"type":"string"},"image":{"type":"string"},"docs":{"type":"string"},"name":{"type":"string"},"options":{"type":"object","description":"skip_select_entities: boolean skip_select_columns: boolean;"},"connection_controls":{"type":"array","items":{"properties":{}}}},"required":["version"]},"AddTagDto":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}}},"required":["tags"]},"RemoveTagDto":{"type":"object","properties":{"tags":{"type":"array","items":{"type":"string"}}},"required":["tags"]},"DeleteConnectorDto":{"type":"object","properties":{"version":{"type":"string"}},"required":["version"]},"PermissionGroupPermission":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"number"}},"required":["name","id"]},"PermissionGroup":{"type":"object","properties":{"title":{"type":"string"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionGroupPermission"}}},"required":["title","permissions"]},"GetPublicPermissionsRes":{"type":"object","properties":{"permissionGroups":{"type":"array","items":{"$ref":"#/components/schemas/PermissionGroup"}}},"required":["permissionGroups"]},"CreateConnectionDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"network_config_id":{"type":"string"},"properties":{"type":"object"},"connector_id":{"type":"string"},"connector_name":{"type":"string"},"plugin":{"type":"string"},"image_url":{"type":"string"}},"required":["name","description","type","properties","connector_id","connector_name","plugin","image_url"]},"ConnectionToCatalogDto":{"type":"object","properties":{"id":{"type":"string"},"customer_id":{"type":"string"},"updated_at":{"type":"string"},"created_at":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"network_config_id":{"type":"string"},"connector_id":{"type":"string"},"connector_name":{"type":"string"},"plugin":{"type":"string"},"image_url":{"type":"string"}},"required":["id","customer_id","updated_at","created_at","name","description","type","connector_id","connector_name","plugin","image_url"]},"ConnectionRes":{"type":"object","properties":{"connection":{"$ref":"#/components/schemas/ConnectionToCatalogDto"},"message":{"type":"string"}},"required":["connection","message"]},"UpdateConnectionDto":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"network_config_id":{"type":"string"},"properties":{"type":"object"}},"required":["name","description","properties"]},"ConnectionsRes":{"type":"object","properties":{"connections":{"type":"array","items":{"$ref":"#/components/schemas/ConnectionToCatalogDto"}},"message":{"type":"string"}},"required":["connections","message"]},"ConnectionDto":{"type":"object","properties":{"id":{"type":"string"},"customer_id":{"type":"string"},"customer_name":{"type":"string"},"user_id":{"type":"string"},"updated_at":{"type":"string"},"created_at":{"type":"string"},"pipelines":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"network_config_id":{"type":"string"},"properties":{"type":"object"},"connector_id":{"type":"string"},"connector_name":{"type":"string"},"plugin":{"type":"string"},"image_url":{"type":"string"}},"required":["id","customer_id","customer_name","user_id","updated_at","created_at","pipelines","name","description","type","properties","connector_id","connector_name","plugin","image_url"]},"ConnectionDetailsRes":{"type":"object","properties":{"connection":{"$ref":"#/components/schemas/ConnectionDto"},"message":{"type":"string"}},"required":["connection","message"]},"NetworkConfigToCatalogDto":{"type":"object","properties":{"id":{"type":"string"},"customer_id":{"type":"string"},"plugin":{"type":"string"},"type":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"network_type_id":{"type":"string"},"network_type_name":{"type":"string"}},"required":["id","customer_id","plugin","type","name","description","created_at","updated_at","network_type_id","network_type_name"]},"FindAllNetworkConfigsRes":{"type":"object","properties":{"network_configs":{"type":"array","items":{"$ref":"#/components/schemas/NetworkConfigToCatalogDto"}},"message":{"type":"string"}},"required":["network_configs","message"]},"CreateNetworkConfigReq":{"type":"object","properties":{"network_type_id":{"type":"string"},"network_type_name":{"type":"string"},"type":{"type":"string","enum":["vpn"]},"plugin":{"type":"string","enum":["openvpn"]},"name":{"type":"string"},"description":{"type":"string"},"ovpn_file":{"type":"string","format":"binary"}},"required":["network_type_id","network_type_name","type","plugin","name","description","ovpn_file"]},"CreateNetworkConfigRes":{"type":"object","properties":{"network_config":{"$ref":"#/components/schemas/NetworkConfigToCatalogDto"}},"required":["network_config"]},"UpdateNetworkConfigReq":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["name","description"]},"UpdateNetworkConfigRes":{"type":"object","properties":{"network_config":{"$ref":"#/components/schemas/NetworkConfigToCatalogDto"}},"required":["network_config"]},"DeleteNetworkConfigRes":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]},"ConnectionTestPingReq":{"type":"object","properties":{"plugin":{"type":"string"},"endpoint":{"type":"string"},"port":{"type":"string"},"network_config_id":{"type":"string"}},"required":["plugin","endpoint","port"]},"ConnectionTestPingRes":{"type":"object","properties":{"operation_result":{"type":"boolean"}},"required":["operation_result"]},"DatabaseConnectionPropertiesDto":{"type":"object","properties":{"credentials_type":{"type":"string"},"plugin":{"type":"string"},"host":{"type":"string"},"port":{"type":"string"},"username":{"type":"string"},"password":{"type":"string"},"database":{"type":"string"}},"required":["credentials_type","plugin","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/DatabaseConnectionPropertiesDto"},"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"}}},"required":["table_name","columns"]},"GetTableMetadataRes":{"type":"object","properties":{"tables_metadata":{"type":"array","items":{"$ref":"#/components/schemas/TableMetadataDto"}}},"required":["tables_metadata"]},"PermissionDto":{"type":"object","properties":{"id":{"type":"number"},"seqid":{"type":"number"},"name":{"type":"string"},"claim":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","seqid","name","claim","createdAt","updatedAt"]},"Customer":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"domain":{"type":"string"},"tier":{"type":"string"},"info":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","domain","tier","info","createdAt","updatedAt"]},"UserRole":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionDto"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"isPublic":{"type":"boolean"},"customer":{"$ref":"#/components/schemas/Customer"}},"required":["id","name","description","createdAt","updatedAt","isPublic","customer"]},"UserByCustomer":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/UserRole"}},"jobTitle":{"type":"string"},"department":{"type":"string"},"hierarchy":{"type":"string"},"mfaStatus":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"status":{"type":"string"},"lastLogin":{"type":"string"}},"required":["id","name","email","roles","jobTitle","department","hierarchy","mfaStatus","createdAt","updatedAt","status"]},"GetAllUsersByCustomerIdRes":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/UserByCustomer"}},"departments":{"type":"array","items":{"type":"string"}},"jobTitles":{"type":"array","items":{"type":"string"}}},"required":["users","departments","jobTitles"]},"Hierarchy":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]},"GetAllHierarchiesRes":{"type":"object","properties":{"hierarchies":{"type":"array","items":{"$ref":"#/components/schemas/Hierarchy"}}},"required":["hierarchies"]},"GetAllDepartmentsRes":{"type":"object","properties":{"departments":{"type":"array","items":{"type":"string"}}},"required":["departments"]},"CreateUserReq":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"roleNames":{"type":"array","items":{"type":"string"}},"jobTitle":{"type":"string"},"department":{"type":"string"},"hierarchy":{"type":"string"}},"required":["email"]},"User":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/UserRole"}},"jobTitle":{"type":"string"},"department":{"type":"string"},"hierarchy":{"type":"string"},"customer":{"$ref":"#/components/schemas/Customer"},"mfaStatus":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"status":{"type":"string"},"lastLogin":{"type":"string"}},"required":["id","name","email","roles","jobTitle","department","hierarchy","mfaStatus","createdAt","updatedAt","status"]},"CreateUserRes":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"}},"required":["user"]},"BatchCreateUserReq":{"type":"object","properties":{"users":{"type":"array","items":{"$ref":"#/components/schemas/CreateUserReq"}}},"required":["users"]},"ErrorUsers":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/CreateUserReq"},"error":{"type":"string"}},"required":["user","error"]},"BatchCreateUserRes":{"type":"object","properties":{"usersCreated":{"type":"array","items":{"$ref":"#/components/schemas/User"}},"errorUsers":{"type":"array","items":{"$ref":"#/components/schemas/ErrorUsers"}}},"required":["usersCreated","errorUsers"]},"DeleteUserRes":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]},"SetUserRolesReq":{"type":"object","properties":{"userId":{"type":"string"},"roleNames":{"type":"array","items":{"type":"string"}}},"required":["userId","roleNames"]},"SetUserRolesRes":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/UserByCustomer"}},"required":["user"]},"AssignRoleToUserReq":{"type":"object","properties":{"userId":{"type":"string"},"roleId":{"type":"string"}},"required":["userId","roleId"]},"UpdateUserReq":{"type":"object","properties":{"name":{"type":"string"},"jobTitle":{"type":"string"},"department":{"type":"string"},"hierarchy":{"type":"string"},"roleNames":{"type":"array","items":{"type":"string"}}}},"UpdateUserRes":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/UserByCustomer"}},"required":["user"]},"UserNoRolesAndCustomer":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"jobTitle":{"type":"string"},"department":{"type":"string"},"hierarchy":{"type":"string"},"mfaStatus":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"status":{"type":"string"},"lastLogin":{"type":"string"}},"required":["id","name","email","jobTitle","department","hierarchy","mfaStatus","createdAt","updatedAt","status"]},"RoleDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionDto"}},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNoRolesAndCustomer"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"isPublic":{"type":"boolean"},"customer":{"$ref":"#/components/schemas/Customer"}},"required":["id","name","description","createdAt","updatedAt","isPublic","customer"]},"GetRolesByCustomerRes":{"type":"object","properties":{"roles":{"type":"array","items":{"$ref":"#/components/schemas/RoleDto"}}},"required":["roles"]},"CreateRoleReq":{"type":"object","properties":{"name":{"type":"string"},"permissionIds":{"type":"array","items":{"type":"string"}},"userIds":{"type":"array","items":{"type":"string"}},"description":{"type":"string"}},"required":["name","permissionIds","description"]},"CustomerRole":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/PermissionDto"}},"users":{"type":"array","items":{"$ref":"#/components/schemas/UserNoRolesAndCustomer"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"isPublic":{"type":"boolean"}},"required":["id","name","description","createdAt","updatedAt","isPublic"]},"CreateRoleRes":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/CustomerRole"}},"required":["role"]},"GrantPermissionsToRoleReq":{"type":"object","properties":{"roleId":{"type":"string"},"permissionIds":{"type":"array","items":{"type":"string"}}},"required":["roleId","permissionIds"]},"GrantPermissionsToRoleRes":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/RoleDto"}},"required":["role"]},"RevokePermissionsFromRoleReq":{"type":"object","properties":{"roleId":{"type":"string"},"permissionIds":{"type":"array","items":{"type":"string"}}},"required":["roleId","permissionIds"]},"RevokePermissionsFromRoleRes":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/RoleDto"}},"required":["role"]},"SetRolePermissionsReq":{"type":"object","properties":{"roleId":{"type":"string"},"permissionIds":{"type":"array","items":{"type":"string"}}},"required":["roleId","permissionIds"]},"SetRolePermissionsRes":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/RoleDto"}},"required":["role"]},"SetRoleUsersReq":{"type":"object","properties":{"roleId":{"type":"string"},"userIds":{"type":"array","items":{"type":"string"}}},"required":["roleId","userIds"]},"SetRoleUsersRes":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/RoleDto"}},"required":["role"]},"UpdateRoleReq":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}}},"UpdateRoleRes":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/RoleDto"}},"required":["role"]},"GetAvailableEntitiesRes":{"type":"object","properties":{"entities":{"type":"array","items":{"type":"string"}}},"required":["entities"]},"CredentialsJdbc":{"type":"object","properties":{"jdbc_user":{"type":"string"},"jdbc_password":{"type":"string"},"database":{"type":"string"},"endpoint":{"type":"string"},"port":{"type":"string"},"engine":{"type":"string"},"schema":{"type":"string"}}},"TestConnectionReq":{"type":"object","properties":{"plugin":{"type":"string"},"credentials":{"$ref":"#/components/schemas/CredentialsJdbc"},"info":{"type":"object"}},"required":["plugin","credentials"]},"TestConnectionRes":{"type":"object","properties":{"connection_state":{"type":"boolean"},"total_entities":{"type":"number"},"database_tables":{"type":"array","items":{"type":"string"}}},"required":["connection_state","total_entities","database_tables"]},"TestConnectionGetColumnsReq":{"type":"object","properties":{"plugin":{"type":"string"},"tables":{"type":"array","items":{"type":"string"}},"credentials":{"$ref":"#/components/schemas/CredentialsJdbc"},"id":{"type":"string"},"info":{"type":"object"}},"required":["plugin","tables"]},"TestConnectionGetColumnsRes":{"type":"object","properties":{"tables":{"type":"array","items":{"type":"string"}}},"required":["tables"]},"FileFormatParams":{"type":"object","properties":{"file_format":{"type":"string"},"encoding":{"type":"string"}}},"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"}}},"CreateInputReq":{"type":"object","properties":{"id":{"type":"string"},"plugin":{"type":"string"},"category":{"type":"string"},"credentials":{"$ref":"#/components/schemas/Credentials"},"name":{"type":"string"},"options":{"$ref":"#/components/schemas/InputOptions"},"info":{"type":"object"}},"required":["plugin","category","credentials","name"]},"Input":{"type":"object","properties":{"id":{"type":"string"},"category":{"type":"string"},"plugin":{"type":"string"},"name":{"type":"string"},"cron":{"type":"string"},"credentials":{"$ref":"#/components/schemas/Credentials"},"client_id":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"info":{"type":"object"}},"required":["id","category","plugin","name","cron","credentials","client_id","created_at","updated_at"]}}}} \ No newline at end of file