@owox/backend 0.35.0 → 0.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/common/exceptions/concurrency-limit-exceeded.exception.d.ts +1 -1
- package/dist/src/common/exceptions/concurrency-limit-exceeded.exception.js +2 -2
- package/dist/src/common/markdown/markdown-parser.service.d.ts +2 -0
- package/dist/src/common/markdown/markdown-parser.service.js +15 -8
- package/dist/src/common/validators/max-byte-length.validator.d.ts +2 -0
- package/dist/src/common/validators/max-byte-length.validator.js +29 -0
- package/dist/src/config/env-validation.config.d.ts +12 -0
- package/dist/src/config/env-validation.config.js +7 -0
- package/dist/src/data-marts/ai-insights/agent/types.d.ts +6 -6
- package/dist/src/data-marts/calculated-fields/calculated-field-validator.service.js +22 -30
- package/dist/src/data-marts/calculated-fields/calculated-field.utils.d.ts +1 -0
- package/dist/src/data-marts/calculated-fields/calculated-field.utils.js +21 -0
- package/dist/src/data-marts/calculated-fields/formula-analyzer.d.ts +1 -0
- package/dist/src/data-marts/calculated-fields/formula-analyzer.js +2 -0
- package/dist/src/data-marts/calculated-fields/formula-violations.d.ts +7 -0
- package/dist/src/data-marts/calculated-fields/formula-violations.js +82 -1
- package/dist/src/data-marts/calculated-fields/join-grain.d.ts +32 -0
- package/dist/src/data-marts/calculated-fields/join-grain.js +107 -0
- package/dist/src/data-marts/calculated-fields/set-quantifier.d.ts +8 -0
- package/dist/src/data-marts/calculated-fields/set-quantifier.js +12 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/connector-message.schema.d.ts +66 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/connector-message.schema.js +13 -1
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-credentials-update.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-credentials-update.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-error.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-error.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-log.schema.d.ts +12 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-log.schema.js +4 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-requested-date.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-requested-date.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-state-update.schema.d.ts +16 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-state-update.schema.js +16 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-status.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-status.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-warning.schema.d.ts +3 -0
- package/dist/src/data-marts/connector-types/connector-message/schemas/types/message-warning.schema.js +1 -0
- package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.d.ts +10 -0
- package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.js +138 -0
- package/dist/src/data-marts/connector-types/connector-message/services/connector-message-parser.service.d.ts +1 -3
- package/dist/src/data-marts/connector-types/connector-message/services/connector-message-parser.service.js +30 -34
- package/dist/src/data-marts/connector-types/connector-message/services/connector-output-capture.service.js +10 -12
- package/dist/src/data-marts/connector-types/connector-message/services/connector-state.service.js +3 -1
- package/dist/src/data-marts/connector-types/enums/connector-message-type-enum.d.ts +1 -0
- package/dist/src/data-marts/connector-types/enums/connector-message-type-enum.js +1 -0
- package/dist/src/data-marts/controllers/connector-definition.controller.d.ts +30 -0
- package/dist/src/data-marts/controllers/connector-definition.controller.js +252 -0
- package/dist/src/data-marts/controllers/data-mart-preview.controller.d.ts +10 -0
- package/dist/src/data-marts/controllers/data-mart-preview.controller.js +58 -0
- package/dist/src/data-marts/controllers/data-mart.controller.d.ts +5 -1
- package/dist/src/data-marts/controllers/data-mart.controller.js +25 -4
- package/dist/src/data-marts/controllers/insight-template.controller.js +4 -4
- package/dist/src/data-marts/controllers/insight.controller.js +5 -5
- package/dist/src/data-marts/controllers/project-data-mart-runs.controller.js +1 -1
- package/dist/src/data-marts/controllers/spec/connector-definition.api.d.ts +12 -0
- package/dist/src/data-marts/controllers/spec/connector-definition.api.js +179 -0
- package/dist/src/data-marts/controllers/spec/data-mart.api.d.ts +1 -0
- package/dist/src/data-marts/controllers/spec/data-mart.api.js +5 -0
- package/dist/src/data-marts/controllers/spec/report-openapi.d.ts +18 -0
- package/dist/src/data-marts/controllers/spec/report-openapi.js +3 -0
- package/dist/src/data-marts/data-marts.module.js +20 -2
- package/dist/src/data-marts/data-storage-types/blending/metric-sleeve.planner.js +3 -12
- package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.d.ts +1 -0
- package/dist/src/data-marts/data-storage-types/data-mart-schema.utils.js +16 -0
- package/dist/src/data-marts/dto/domain/blendable-schema.dto.d.ts +10 -0
- package/dist/src/data-marts/dto/domain/blendable-schema.dto.js +71 -1
- package/dist/src/data-marts/dto/domain/create-data-mart.command.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/create-data-mart.command.js +3 -1
- package/dist/src/data-marts/dto/domain/create-report.command.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/create-report.command.js +3 -1
- package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/data-mart-list-item.dto.js +3 -1
- package/dist/src/data-marts/dto/domain/data-mart.dto.d.ts +4 -1
- package/dist/src/data-marts/dto/domain/data-mart.dto.js +5 -1
- package/dist/src/data-marts/dto/domain/model-canvas.dto.d.ts +4 -0
- package/dist/src/data-marts/dto/domain/report-like-read-plan.d.ts +2 -0
- package/dist/src/data-marts/dto/domain/report.dto.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/report.dto.js +3 -1
- package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.d.ts +9 -0
- package/dist/src/data-marts/dto/domain/update-data-mart-icon.command.js +19 -0
- package/dist/src/data-marts/dto/domain/update-report.command.d.ts +3 -1
- package/dist/src/data-marts/dto/domain/update-report.command.js +3 -1
- package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/create-data-mart-request-api.dto.js +13 -0
- package/dist/src/data-marts/dto/presentation/create-report-request-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/create-report-request-api.dto.js +10 -0
- package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.d.ts +46 -0
- package/dist/src/data-marts/dto/presentation/custom-connector-response.dto.js +216 -0
- package/dist/src/data-marts/dto/presentation/custom-connector.dto.d.ts +27 -0
- package/dist/src/data-marts/dto/presentation/custom-connector.dto.js +159 -0
- package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/data-mart-list-item-response-api.dto.js +10 -0
- package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/data-mart-response-api.dto.js +10 -0
- package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.d.ts +4 -0
- package/dist/src/data-marts/dto/presentation/model-canvas-response-api.dto.js +20 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-request-api.dto.d.ts +7 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-request-api.dto.js +56 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-response-api.dto.d.ts +12 -0
- package/dist/src/data-marts/dto/presentation/preview-data-mart-response-api.dto.js +64 -0
- package/dist/src/data-marts/dto/presentation/report-response-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/report-response-api.dto.js +6 -0
- package/dist/src/data-marts/dto/presentation/run-data-mart-request-api.dto.js +67 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-description-api.dto.js +3 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.d.ts +4 -0
- package/dist/src/data-marts/dto/presentation/update-data-mart-icon-api.dto.js +30 -0
- package/dist/src/data-marts/dto/presentation/update-report-request-api.dto.d.ts +2 -0
- package/dist/src/data-marts/dto/presentation/update-report-request-api.dto.js +10 -0
- package/dist/src/data-marts/dto/schemas/auto-aggregation-opt-out.schema.d.ts +15 -0
- package/dist/src/data-marts/dto/schemas/auto-aggregation-opt-out.schema.js +29 -0
- package/dist/src/data-marts/dto/schemas/data-mart-run/data-mart-run.schema.d.ts +9 -0
- package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/connector-definition.schema.d.ts +15 -0
- package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/connector-definition.schema.js +1 -0
- package/dist/src/data-marts/dto/schemas/data-mart-table-definitions/data-mart-definition.schema.d.ts +7 -0
- package/dist/src/data-marts/dto/schemas/data-quality/data-quality-run.schema.d.ts +20 -0
- package/dist/src/data-marts/entities/connector-definition-version.entity.d.ts +16 -0
- package/dist/src/data-marts/entities/connector-definition-version.entity.js +78 -0
- package/dist/src/data-marts/entities/connector-definition.entity.d.ts +14 -0
- package/dist/src/data-marts/entities/connector-definition.entity.js +82 -0
- package/dist/src/data-marts/entities/data-mart.entity.d.ts +2 -0
- package/dist/src/data-marts/entities/data-mart.entity.js +5 -0
- package/dist/src/data-marts/entities/report.entity.d.ts +2 -0
- package/dist/src/data-marts/entities/report.entity.js +11 -0
- package/dist/src/data-marts/enums/data-mart-icon.enum.d.ts +75 -0
- package/dist/src/data-marts/enums/data-mart-icon.enum.js +80 -0
- package/dist/src/data-marts/errors/connector-credential-boundary.error.d.ts +3 -0
- package/dist/src/data-marts/errors/connector-credential-boundary.error.js +14 -0
- package/dist/src/data-marts/facades/mcp-data-marts.facade.d.ts +2 -0
- package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.d.ts +7 -1
- package/dist/src/data-marts/facades/mcp-data-marts.facade.impl.js +70 -5
- package/dist/src/data-marts/mappers/connector-definition.mapper.d.ts +14 -0
- package/dist/src/data-marts/mappers/connector-definition.mapper.js +57 -0
- package/dist/src/data-marts/mappers/data-mart.mapper.d.ts +9 -6
- package/dist/src/data-marts/mappers/data-mart.mapper.js +44 -19
- package/dist/src/data-marts/mappers/insight-template.mapper.d.ts +1 -1
- package/dist/src/data-marts/mappers/insight-template.mapper.js +2 -2
- package/dist/src/data-marts/mappers/insight.mapper.d.ts +1 -1
- package/dist/src/data-marts/mappers/insight.mapper.js +2 -2
- package/dist/src/data-marts/mappers/model-canvas.mapper.d.ts +10 -2
- package/dist/src/data-marts/mappers/model-canvas.mapper.js +9 -3
- package/dist/src/data-marts/mappers/report.mapper.js +4 -3
- package/dist/src/data-marts/services/auto-collapse.resolver.d.ts +1 -1
- package/dist/src/data-marts/services/auto-collapse.resolver.js +4 -0
- package/dist/src/data-marts/services/blendable-schema.service.d.ts +2 -0
- package/dist/src/data-marts/services/blendable-schema.service.js +59 -0
- package/dist/src/data-marts/services/connector/connector-credential-injector.service.d.ts +1 -1
- package/dist/src/data-marts/services/connector/connector-credential-injector.service.js +15 -1
- package/dist/src/data-marts/services/connector/connector-definition.service.d.ts +59 -0
- package/dist/src/data-marts/services/connector/connector-definition.service.js +491 -0
- package/dist/src/data-marts/services/connector/connector-executor.service.d.ts +9 -1
- package/dist/src/data-marts/services/connector/connector-executor.service.js +173 -63
- package/dist/src/data-marts/services/connector/connector-fields-preview.service.js +1 -1
- package/dist/src/data-marts/services/connector/connector-message.utils.js +2 -2
- package/dist/src/data-marts/services/connector/connector-preview-credentials.service.js +1 -1
- package/dist/src/data-marts/services/connector/connector-preview-support.d.ts +1 -1
- package/dist/src/data-marts/services/connector/connector-preview-support.js +14 -21
- package/dist/src/data-marts/services/connector/connector-process-spawner.service.d.ts +11 -2
- package/dist/src/data-marts/services/connector/connector-process-spawner.service.js +88 -60
- package/dist/src/data-marts/services/connector/connector-secret.service.d.ts +6 -3
- package/dist/src/data-marts/services/connector/connector-secret.service.js +77 -12
- package/dist/src/data-marts/services/connector/connector-source-config.service.js +1 -1
- package/dist/src/data-marts/services/connector/connector-source-credentials.service.d.ts +6 -2
- package/dist/src/data-marts/services/connector/connector-source-credentials.service.js +18 -16
- package/dist/src/data-marts/services/connector/connector-specification.mapper.d.ts +47 -0
- package/dist/src/data-marts/services/connector/connector-specification.mapper.js +46 -0
- package/dist/src/data-marts/services/connector/connector-test.service.d.ts +43 -0
- package/dist/src/data-marts/services/connector/connector-test.service.js +343 -0
- package/dist/src/data-marts/services/connector/connector.service.d.ts +8 -2
- package/dist/src/data-marts/services/connector/connector.service.js +65 -54
- package/dist/src/data-marts/services/connector/declarative-manifest-schemas.d.ts +4 -0
- package/dist/src/data-marts/services/connector/declarative-manifest-schemas.js +48 -0
- package/dist/src/data-marts/services/connector/run-log-flusher.d.ts +21 -0
- package/dist/src/data-marts/services/connector/run-log-flusher.js +67 -0
- package/dist/src/data-marts/services/data-mart.service.js +2 -0
- package/dist/src/data-marts/services/report-sql-composer.service.js +15 -1
- package/dist/src/data-marts/services/report.service.d.ts +1 -0
- package/dist/src/data-marts/services/report.service.js +13 -0
- package/dist/src/data-marts/services/scheduled-trigger.service.d.ts +1 -0
- package/dist/src/data-marts/services/scheduled-trigger.service.js +13 -0
- package/dist/src/data-marts/use-cases/create-data-mart.service.js +1 -0
- package/dist/src/data-marts/use-cases/create-report.service.js +2 -0
- package/dist/src/data-marts/use-cases/get-model-canvas-data-marts.service.d.ts +5 -1
- package/dist/src/data-marts/use-cases/get-model-canvas-data-marts.service.js +16 -3
- package/dist/src/data-marts/use-cases/list-project-scheduled-triggers.service.js +1 -1
- package/dist/src/data-marts/use-cases/preview-data-mart.service.d.ts +59 -0
- package/dist/src/data-marts/use-cases/preview-data-mart.service.js +293 -0
- package/dist/src/data-marts/use-cases/stream-http-data.service.js +1 -0
- package/dist/src/data-marts/use-cases/update-data-mart-definition.service.d.ts +1 -1
- package/dist/src/data-marts/use-cases/update-data-mart-definition.service.js +8 -6
- package/dist/src/data-marts/use-cases/update-data-mart-icon.service.d.ts +12 -0
- package/dist/src/data-marts/use-cases/update-data-mart-icon.service.js +46 -0
- package/dist/src/data-marts/use-cases/update-data-mart-schema.service.js +14 -1
- package/dist/src/data-marts/use-cases/update-report.service.js +9 -1
- package/dist/src/ee/ee.module.js +5 -8
- package/dist/src/ee/mcp/auth/mcp-auth-context.d.ts +0 -4
- package/dist/src/ee/mcp/auth/mcp-auth.middleware.d.ts +26 -0
- package/dist/src/ee/mcp/auth/mcp-auth.middleware.js +184 -0
- package/dist/src/ee/mcp/http-headers.util.d.ts +2 -0
- package/dist/src/ee/mcp/http-headers.util.js +8 -0
- package/dist/src/ee/mcp/observability/mcp-bus-wiring.js +4 -4
- package/dist/src/ee/mcp/observability/mcp-call-instrumentation.d.ts +2 -4
- package/dist/src/ee/mcp/observability/mcp-call-instrumentation.js +6 -6
- package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.d.ts +1 -1
- package/dist/src/ee/mcp/sdk/mcp-sdk-server.factory.js +5 -5
- package/dist/src/ee/mcp/tools/add-destination.tool.d.ts +20 -14
- package/dist/src/ee/mcp/tools/add-destination.tool.js +10 -10
- package/dist/src/ee/mcp/tools/add-report.tool.d.ts +88 -228
- package/dist/src/ee/mcp/tools/add-report.tool.js +28 -28
- package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.d.ts +2 -12
- package/dist/src/ee/mcp/tools/create-report-run-schedule.tool.js +13 -13
- package/dist/src/ee/mcp/tools/data-mart-catalog.tool.d.ts +15 -81
- package/dist/src/ee/mcp/tools/data-mart-catalog.tool.js +11 -11
- package/dist/src/ee/mcp/tools/data-mart-details.tool.d.ts +19 -111
- package/dist/src/ee/mcp/tools/data-mart-details.tool.js +64 -48
- package/dist/src/ee/mcp/tools/delete-report-run-schedule.tool.d.ts +2 -6
- package/dist/src/ee/mcp/tools/delete-report-run-schedule.tool.js +7 -7
- package/dist/src/ee/mcp/tools/delete-report.tool.d.ts +2 -6
- package/dist/src/ee/mcp/tools/delete-report.tool.js +4 -4
- package/dist/src/ee/mcp/tools/get-data-mart-reports.tool.d.ts +30 -195
- package/dist/src/ee/mcp/tools/get-data-mart-reports.tool.js +22 -22
- package/dist/src/ee/mcp/tools/get-report-output-schema.tool.d.ts +3 -21
- package/dist/src/ee/mcp/tools/get-report-output-schema.tool.js +10 -10
- package/dist/src/ee/mcp/tools/get-report-run-status.tool.d.ts +15 -11
- package/dist/src/ee/mcp/tools/get-report-run-status.tool.js +14 -14
- package/dist/src/ee/mcp/tools/list-destinations.tool.d.ts +12 -20
- package/dist/src/ee/mcp/tools/list-destinations.tool.js +10 -10
- package/dist/src/ee/mcp/tools/list-report-run-schedules.tool.d.ts +5 -61
- package/dist/src/ee/mcp/tools/list-report-run-schedules.tool.js +14 -14
- package/dist/src/ee/mcp/tools/mcp-getting-started.util.d.ts +4 -52
- package/dist/src/ee/mcp/tools/mcp-getting-started.util.js +13 -13
- package/dist/src/ee/mcp/tools/mcp-tool.definition.d.ts +2 -2
- package/dist/src/ee/mcp/tools/project-context.tool.d.ts +3 -17
- package/dist/src/ee/mcp/tools/project-context.tool.js +10 -10
- package/dist/src/ee/mcp/tools/query-data-mart.input.d.ts +111 -152
- package/dist/src/ee/mcp/tools/query-data-mart.input.js +39 -39
- package/dist/src/ee/mcp/tools/query-data-mart.tool.d.ts +60 -130
- package/dist/src/ee/mcp/tools/query-data-mart.tool.js +35 -35
- package/dist/src/ee/mcp/tools/report-output-controls-output.d.ts +17 -60
- package/dist/src/ee/mcp/tools/report-output-controls-output.js +20 -20
- package/dist/src/ee/mcp/tools/report-run-outcome.d.ts +6 -42
- package/dist/src/ee/mcp/tools/report-run-outcome.js +20 -20
- package/dist/src/ee/mcp/tools/run-report.tool.d.ts +2 -6
- package/dist/src/ee/mcp/tools/run-report.tool.js +5 -5
- package/dist/src/ee/mcp/tools/search-data-marts.tool.d.ts +7 -79
- package/dist/src/ee/mcp/tools/search-data-marts.tool.js +11 -11
- package/dist/src/ee/mcp/tools/search-reports.tool.d.ts +15 -61
- package/dist/src/ee/mcp/tools/search-reports.tool.js +15 -15
- package/dist/src/ee/mcp/tools/summarize-data-catalog.tool.d.ts +7 -79
- package/dist/src/ee/mcp/tools/summarize-data-catalog.tool.js +15 -15
- package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.d.ts +2 -12
- package/dist/src/ee/mcp/tools/update-report-run-schedule.tool.js +13 -13
- package/dist/src/ee/mcp/tools/update-report.tool.d.ts +105 -414
- package/dist/src/ee/mcp/tools/update-report.tool.js +20 -20
- package/dist/src/ee/mcp/transport/mcp-http-entry.service.d.ts +30 -0
- package/dist/src/ee/mcp/transport/mcp-http-entry.service.js +193 -0
- package/dist/src/idp/guards/idp.guard.js +2 -8
- package/dist/src/idp/oauth/controllers/oauth-authorization.controller.d.ts +4 -0
- package/dist/src/idp/oauth/controllers/oauth-authorization.controller.js +77 -1
- package/dist/src/idp/oauth/controllers/oauth-metadata.controller.d.ts +2 -1
- package/dist/src/idp/oauth/controllers/oauth-metadata.controller.js +5 -8
- package/dist/src/idp/oauth/controllers/oauth-token.controller.js +14 -1
- package/dist/src/idp/oauth/oauth-request.validator.d.ts +8 -0
- package/dist/src/idp/oauth/oauth-request.validator.js +27 -0
- package/dist/src/idp/utils/is-authentication-error.d.ts +1 -0
- package/dist/src/idp/utils/is-authentication-error.js +9 -0
- package/dist/src/idp/utils/role-hierarchy.d.ts +3 -0
- package/dist/src/idp/utils/role-hierarchy.js +14 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +3 -1
- package/dist/src/migrations/1788048000000-create-connector-definition-tables.d.ts +6 -0
- package/dist/src/migrations/1788048000000-create-connector-definition-tables.js +116 -0
- package/dist/src/migrations/1790156789783-add-auto-aggregation-opt-out-to-report.d.ts +8 -0
- package/dist/src/migrations/1790156789783-add-auto-aggregation-opt-out-to-report.js +30 -0
- package/dist/src/migrations/1790247861000-add-icon-to-data-mart.d.ts +8 -0
- package/dist/src/migrations/1790247861000-add-icon-to-data-mart.js +31 -0
- package/package.json +10 -6
- package/dist/src/ee/mcp/auth/mcp-auth.exception-filter.d.ts +0 -14
- package/dist/src/ee/mcp/auth/mcp-auth.exception-filter.js +0 -84
- package/dist/src/ee/mcp/auth/mcp-auth.guard.d.ts +0 -14
- package/dist/src/ee/mcp/auth/mcp-auth.guard.js +0 -99
- package/dist/src/ee/mcp/controllers/mcp-transport.controller.d.ts +0 -17
- package/dist/src/ee/mcp/controllers/mcp-transport.controller.js +0 -134
- package/dist/src/ee/mcp/sdk/mcp-streamable-http-transport.handler.d.ts +0 -16
- package/dist/src/ee/mcp/sdk/mcp-streamable-http-transport.handler.js +0 -133
package/dist/src/data-marts/connector-types/connector-message/services/connector-event.translator.js
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NEW_EVENT_TYPES = void 0;
|
|
4
|
+
exports.isNewEvent = isNewEvent;
|
|
5
|
+
exports.translateNewEventToLegacy = translateNewEventToLegacy;
|
|
6
|
+
const connectors_1 = require("@owox/connectors");
|
|
7
|
+
const connector_message_type_enum_1 = require("../../enums/connector-message-type-enum");
|
|
8
|
+
const EVENT_TYPE = connectors_1.Core.EVENT_TYPE;
|
|
9
|
+
const LOG_LEVEL = connectors_1.Core.LOG_LEVEL;
|
|
10
|
+
const CONTROL_ACTION = connectors_1.Core
|
|
11
|
+
.CONTROL_ACTION;
|
|
12
|
+
const EXECUTION_STATUS = connectors_1.Core
|
|
13
|
+
.EXECUTION_STATUS;
|
|
14
|
+
exports.NEW_EVENT_TYPES = [
|
|
15
|
+
EVENT_TYPE.LOG,
|
|
16
|
+
EVENT_TYPE.DATA,
|
|
17
|
+
EVENT_TYPE.TRACE,
|
|
18
|
+
EVENT_TYPE.ANALYTICS,
|
|
19
|
+
EVENT_TYPE.STATE,
|
|
20
|
+
EVENT_TYPE.CONTROL,
|
|
21
|
+
EVENT_TYPE.CREDENTIALS,
|
|
22
|
+
EVENT_TYPE.FIELDS,
|
|
23
|
+
];
|
|
24
|
+
const LEGACY_STATUS_IMPORT_DONE = EXECUTION_STATUS.IMPORT_DONE;
|
|
25
|
+
function isNewEvent(value) {
|
|
26
|
+
if (!value || typeof value !== 'object')
|
|
27
|
+
return false;
|
|
28
|
+
const t = value.type;
|
|
29
|
+
if (typeof t !== 'string')
|
|
30
|
+
return false;
|
|
31
|
+
return exports.NEW_EVENT_TYPES.includes(t);
|
|
32
|
+
}
|
|
33
|
+
function translateNewEventToLegacy(event) {
|
|
34
|
+
const at = typeof event.timestamp === 'string' ? event.timestamp : new Date().toISOString();
|
|
35
|
+
const type = event.type;
|
|
36
|
+
const legacy = translateEventBody(event, type, at);
|
|
37
|
+
if (legacy !== null) {
|
|
38
|
+
legacy.eventType = type;
|
|
39
|
+
}
|
|
40
|
+
return legacy;
|
|
41
|
+
}
|
|
42
|
+
function translateEventBody(event, type, at) {
|
|
43
|
+
switch (type) {
|
|
44
|
+
case EVENT_TYPE.LOG: {
|
|
45
|
+
const level = typeof event.level === 'string' ? event.level : LOG_LEVEL.INFO;
|
|
46
|
+
const message = typeof event.message === 'string' ? event.message : JSON.stringify(event);
|
|
47
|
+
if (level === LOG_LEVEL.ERROR) {
|
|
48
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.ERROR, at, error: message };
|
|
49
|
+
}
|
|
50
|
+
if (level === LOG_LEVEL.WARN || level === 'warning') {
|
|
51
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.WARNING, at, warning: message };
|
|
52
|
+
}
|
|
53
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.LOG, at, message };
|
|
54
|
+
}
|
|
55
|
+
case EVENT_TYPE.CONTROL: {
|
|
56
|
+
const action = typeof event.action === 'string' ? event.action : 'unknown';
|
|
57
|
+
if (action === CONTROL_ACTION.COMPLETED) {
|
|
58
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.STATUS, at, status: LEGACY_STATUS_IMPORT_DONE };
|
|
59
|
+
}
|
|
60
|
+
if (action === CONTROL_ACTION.FAILED) {
|
|
61
|
+
const error = typeof event.error === 'string' && event.error.length > 0
|
|
62
|
+
? event.error
|
|
63
|
+
: 'Connector reported failure';
|
|
64
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.ERROR, at, error };
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
type: connector_message_type_enum_1.ConnectorMessageType.LOG,
|
|
68
|
+
at,
|
|
69
|
+
message: `[CONTROL] ${action}`,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
case EVENT_TYPE.STATE: {
|
|
73
|
+
const state = (event.state ?? {});
|
|
74
|
+
const lastRequestedDate = state.lastRequestedDate;
|
|
75
|
+
if (typeof lastRequestedDate === 'string' && lastRequestedDate.length > 0) {
|
|
76
|
+
return {
|
|
77
|
+
type: connector_message_type_enum_1.ConnectorMessageType.REQUESTED_DATE,
|
|
78
|
+
at,
|
|
79
|
+
date: lastRequestedDate,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
if (Object.keys(state).length > 0) {
|
|
83
|
+
return {
|
|
84
|
+
type: connector_message_type_enum_1.ConnectorMessageType.STATE_UPDATE,
|
|
85
|
+
at,
|
|
86
|
+
state,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
type: connector_message_type_enum_1.ConnectorMessageType.LOG,
|
|
91
|
+
at,
|
|
92
|
+
message: `[STATE] ${JSON.stringify(state)}`,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
case EVENT_TYPE.TRACE: {
|
|
96
|
+
const action = typeof event.action === 'string' ? event.action : 'trace';
|
|
97
|
+
const details = event.details !== undefined ? JSON.stringify(event.details) : '';
|
|
98
|
+
return {
|
|
99
|
+
type: connector_message_type_enum_1.ConnectorMessageType.LOG,
|
|
100
|
+
at,
|
|
101
|
+
message: `[TRACE] ${action}${details ? ` ${details}` : ''}`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
case EVENT_TYPE.ANALYTICS: {
|
|
105
|
+
const metric = typeof event.metric === 'string' ? event.metric : 'metric';
|
|
106
|
+
const value = event.value;
|
|
107
|
+
const tags = event.tags && typeof event.tags === 'object'
|
|
108
|
+
? event.tags
|
|
109
|
+
: undefined;
|
|
110
|
+
const tagsText = tags !== undefined ? ` ${JSON.stringify(tags)}` : '';
|
|
111
|
+
return {
|
|
112
|
+
type: connector_message_type_enum_1.ConnectorMessageType.LOG,
|
|
113
|
+
at,
|
|
114
|
+
metric,
|
|
115
|
+
value,
|
|
116
|
+
...(tags !== undefined ? { tags } : {}),
|
|
117
|
+
message: `[ANALYTICS] ${metric}=${JSON.stringify(value)}${tagsText}`,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
case EVENT_TYPE.CREDENTIALS: {
|
|
121
|
+
const credentials = event.credentials && typeof event.credentials === 'object'
|
|
122
|
+
? event.credentials
|
|
123
|
+
: {};
|
|
124
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.CREDENTIALS_UPDATE, at, credentials };
|
|
125
|
+
}
|
|
126
|
+
case EVENT_TYPE.FIELDS: {
|
|
127
|
+
const fields = Array.isArray(event.fields)
|
|
128
|
+
? event.fields.filter((field) => typeof field === 'string')
|
|
129
|
+
: [];
|
|
130
|
+
return { type: connector_message_type_enum_1.ConnectorMessageType.FIELDS_UPDATE, at, fields };
|
|
131
|
+
}
|
|
132
|
+
case EVENT_TYPE.DATA:
|
|
133
|
+
return null;
|
|
134
|
+
default:
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=connector-event.translator.js.map
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { ConnectorMessage } from '../schemas/connector-message.schema';
|
|
2
2
|
export declare class ConnectorMessageParserService {
|
|
3
3
|
private logger;
|
|
4
|
-
parse(message: string): ConnectorMessage;
|
|
4
|
+
parse(message: string): ConnectorMessage | null;
|
|
5
5
|
private parseAsUnknown;
|
|
6
6
|
private redactCredentialUpdateMessage;
|
|
7
|
-
private redactCredentialUpdateJson;
|
|
8
|
-
private hasCredentialUpdateContent;
|
|
9
7
|
}
|
|
@@ -12,26 +12,45 @@ const common_1 = require("@nestjs/common");
|
|
|
12
12
|
const connector_message_schema_1 = require("../schemas/connector-message.schema");
|
|
13
13
|
const connector_message_type_enum_1 = require("../../enums/connector-message-type-enum");
|
|
14
14
|
const connectors_1 = require("@owox/connectors");
|
|
15
|
+
const connector_event_translator_1 = require("./connector-event.translator");
|
|
15
16
|
const { GENERATED_REFRESH_TOKEN_CREDENTIAL_FIELD } = connectors_1.Core;
|
|
17
|
+
const MAX_DESCRIBED_KEYS = 20;
|
|
18
|
+
function describeShape(value) {
|
|
19
|
+
if (value === null)
|
|
20
|
+
return 'null';
|
|
21
|
+
if (Array.isArray(value))
|
|
22
|
+
return `array(${value.length})`;
|
|
23
|
+
if (typeof value !== 'object')
|
|
24
|
+
return typeof value;
|
|
25
|
+
const keys = Object.keys(value);
|
|
26
|
+
const shown = keys.slice(0, MAX_DESCRIBED_KEYS);
|
|
27
|
+
const omitted = keys.length - shown.length;
|
|
28
|
+
return `object{${shown.join(', ')}${omitted > 0 ? `, +${omitted} more` : ''}}`;
|
|
29
|
+
}
|
|
16
30
|
let ConnectorMessageParserService = ConnectorMessageParserService_1 = class ConnectorMessageParserService {
|
|
17
31
|
logger = new common_1.Logger(ConnectorMessageParserService_1.name);
|
|
18
32
|
parse(message) {
|
|
33
|
+
let asJson;
|
|
19
34
|
try {
|
|
20
|
-
|
|
21
|
-
const parsedMessage = connector_message_schema_1.ConnectorMessageSchema.safeParse(asJson);
|
|
22
|
-
if (!parsedMessage.success) {
|
|
23
|
-
this.logger.warn(`Schema validation failed for message:`, {
|
|
24
|
-
message: this.redactCredentialUpdateMessage(message),
|
|
25
|
-
parsedJson: this.redactCredentialUpdateJson(asJson),
|
|
26
|
-
errors: parsedMessage.error.errors,
|
|
27
|
-
});
|
|
28
|
-
return this.parseAsUnknown(message);
|
|
29
|
-
}
|
|
30
|
-
return parsedMessage.data;
|
|
35
|
+
asJson = JSON.parse(message);
|
|
31
36
|
}
|
|
32
37
|
catch {
|
|
33
38
|
return this.parseAsUnknown(message);
|
|
34
39
|
}
|
|
40
|
+
const candidate = (0, connector_event_translator_1.isNewEvent)(asJson) ? (0, connector_event_translator_1.translateNewEventToLegacy)(asJson) : asJson;
|
|
41
|
+
if (candidate === null) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
const parsedMessage = connector_message_schema_1.ConnectorMessageSchema.safeParse(candidate);
|
|
45
|
+
if (!parsedMessage.success) {
|
|
46
|
+
this.logger.warn(`Schema validation failed for message:`, {
|
|
47
|
+
messageLength: message.length,
|
|
48
|
+
shape: describeShape(asJson),
|
|
49
|
+
errors: parsedMessage.error.errors,
|
|
50
|
+
});
|
|
51
|
+
return this.parseAsUnknown(message);
|
|
52
|
+
}
|
|
53
|
+
return parsedMessage.data;
|
|
35
54
|
}
|
|
36
55
|
parseAsUnknown(message) {
|
|
37
56
|
const safeMessage = this.redactCredentialUpdateMessage(message).trim();
|
|
@@ -49,29 +68,6 @@ let ConnectorMessageParserService = ConnectorMessageParserService_1 = class Conn
|
|
|
49
68
|
}
|
|
50
69
|
return '[REDACTED updateCredentials message]';
|
|
51
70
|
}
|
|
52
|
-
redactCredentialUpdateJson(value) {
|
|
53
|
-
if (!value || typeof value !== 'object') {
|
|
54
|
-
return value;
|
|
55
|
-
}
|
|
56
|
-
if (!this.hasCredentialUpdateContent(value)) {
|
|
57
|
-
return value;
|
|
58
|
-
}
|
|
59
|
-
return '[REDACTED updateCredentials message]';
|
|
60
|
-
}
|
|
61
|
-
hasCredentialUpdateContent(value) {
|
|
62
|
-
if (!value || typeof value !== 'object') {
|
|
63
|
-
return false;
|
|
64
|
-
}
|
|
65
|
-
if (Array.isArray(value)) {
|
|
66
|
-
return value.some(item => this.hasCredentialUpdateContent(item));
|
|
67
|
-
}
|
|
68
|
-
const objectValue = value;
|
|
69
|
-
if (objectValue.type === connector_message_type_enum_1.ConnectorMessageType.CREDENTIALS_UPDATE ||
|
|
70
|
-
Object.prototype.hasOwnProperty.call(objectValue, GENERATED_REFRESH_TOKEN_CREDENTIAL_FIELD)) {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
return Object.values(objectValue).some(item => this.hasCredentialUpdateContent(item));
|
|
74
|
-
}
|
|
75
71
|
};
|
|
76
72
|
exports.ConnectorMessageParserService = ConnectorMessageParserService;
|
|
77
73
|
exports.ConnectorMessageParserService = ConnectorMessageParserService = ConnectorMessageParserService_1 = __decorate([
|
|
@@ -29,24 +29,22 @@ let ConnectorOutputCaptureService = class ConnectorOutputCaptureService {
|
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
captureMessage(message) {
|
|
32
|
-
return this.cleanMessage(message)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
});
|
|
32
|
+
return this.cleanMessage(message)
|
|
33
|
+
.map(line => this.connectorMessageParserService.parse(line))
|
|
34
|
+
.filter((parsed) => parsed !== null);
|
|
36
35
|
}
|
|
37
36
|
captureError(message) {
|
|
38
|
-
return this.cleanMessage(message)
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
return this.cleanMessage(message)
|
|
38
|
+
.map(line => this.connectorMessageParserService.parse(line))
|
|
39
|
+
.filter((parsed) => parsed !== null)
|
|
40
|
+
.map(parsedMessage => parsedMessage.type !== connector_message_type_enum_1.ConnectorMessageType.UNKNOWN
|
|
41
|
+
? parsedMessage
|
|
42
|
+
: {
|
|
44
43
|
type: connector_message_type_enum_1.ConnectorMessageType.ERROR,
|
|
45
44
|
at: parsedMessage.at,
|
|
46
45
|
error: parsedMessage.toFormattedString(),
|
|
47
46
|
toFormattedString: () => `[ERROR] ${parsedMessage.toFormattedString()}`,
|
|
48
|
-
};
|
|
49
|
-
});
|
|
47
|
+
});
|
|
50
48
|
}
|
|
51
49
|
cleanMessage(message) {
|
|
52
50
|
const trimmed = message.trim();
|
package/dist/src/data-marts/connector-types/connector-message/services/connector-state.service.js
CHANGED
|
@@ -39,9 +39,11 @@ let ConnectorStateService = class ConnectorStateService {
|
|
|
39
39
|
where: { datamartId: dataMartId },
|
|
40
40
|
});
|
|
41
41
|
const now = new Date().toISOString();
|
|
42
|
+
const previousState = existingState?.state?.states?.find((s) => s._id === configId)?.state ??
|
|
43
|
+
{};
|
|
42
44
|
const newStateItem = {
|
|
43
45
|
_id: configId,
|
|
44
|
-
state: outputState.state || {},
|
|
46
|
+
state: { ...previousState, ...(outputState.state || {}) },
|
|
45
47
|
at: outputState.at || now,
|
|
46
48
|
};
|
|
47
49
|
if (existingState) {
|
|
@@ -6,6 +6,7 @@ export declare enum ConnectorMessageType {
|
|
|
6
6
|
CREDENTIALS_UPDATE = "updateCredentials",
|
|
7
7
|
FIELDS_UPDATE = "updateFields",
|
|
8
8
|
REQUESTED_DATE = "updateLastRequstedDate",
|
|
9
|
+
STATE_UPDATE = "updateState",
|
|
9
10
|
WARNING = "addWarningToCurrentStatus",
|
|
10
11
|
UNKNOWN = "unknown",
|
|
11
12
|
ERROR = "error"
|
|
@@ -10,6 +10,7 @@ var ConnectorMessageType;
|
|
|
10
10
|
ConnectorMessageType["CREDENTIALS_UPDATE"] = "updateCredentials";
|
|
11
11
|
ConnectorMessageType["FIELDS_UPDATE"] = "updateFields";
|
|
12
12
|
ConnectorMessageType["REQUESTED_DATE"] = "updateLastRequstedDate";
|
|
13
|
+
ConnectorMessageType["STATE_UPDATE"] = "updateState";
|
|
13
14
|
ConnectorMessageType["WARNING"] = "addWarningToCurrentStatus";
|
|
14
15
|
ConnectorMessageType["UNKNOWN"] = "unknown";
|
|
15
16
|
ConnectorMessageType["ERROR"] = "error";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AuthorizationContext } from '../../idp';
|
|
2
|
+
import { ConnectorFieldsResponseApiDto } from '../dto/presentation/connector-fields-response-api.dto';
|
|
3
|
+
import { ConnectorSpecificationResponseApiDto } from '../dto/presentation/connector-specification-response-api.dto';
|
|
4
|
+
import { ConnectorDefinitionService } from '../services/connector/connector-definition.service';
|
|
5
|
+
import { ConnectorService } from '../services/connector/connector.service';
|
|
6
|
+
import { ConnectorTestService } from '../services/connector/connector-test.service';
|
|
7
|
+
import { CreateCustomConnectorRequestApiDto, SaveDraftRequestApiDto, TestConnectorRequestApiDto, UpdateCustomConnectorRequestApiDto } from '../dto/presentation/custom-connector.dto';
|
|
8
|
+
import { ActivateCustomConnectorVersionResponseApiDto, ConnectorTestResultResponseApiDto, CreateCustomConnectorResponseApiDto, CustomConnectorDetailResponseApiDto, CustomConnectorListItemResponseApiDto, CustomConnectorVersionResponseApiDto, CustomConnectorVersionStateResponseApiDto, DeleteCustomConnectorResponseApiDto, PublishCustomConnectorResponseApiDto } from '../dto/presentation/custom-connector-response.dto';
|
|
9
|
+
import { ConnectorDefinitionMapper } from '../mappers/connector-definition.mapper';
|
|
10
|
+
import { ConnectorMapper } from '../mappers/connector.mapper';
|
|
11
|
+
export declare class ConnectorDefinitionController {
|
|
12
|
+
private readonly definitionService;
|
|
13
|
+
private readonly connectorService;
|
|
14
|
+
private readonly testService;
|
|
15
|
+
private readonly mapper;
|
|
16
|
+
private readonly connectorMapper;
|
|
17
|
+
constructor(definitionService: ConnectorDefinitionService, connectorService: ConnectorService, testService: ConnectorTestService, mapper: ConnectorDefinitionMapper, connectorMapper: ConnectorMapper);
|
|
18
|
+
list(ctx: AuthorizationContext): Promise<CustomConnectorListItemResponseApiDto[]>;
|
|
19
|
+
create(ctx: AuthorizationContext, body: CreateCustomConnectorRequestApiDto): Promise<CreateCustomConnectorResponseApiDto>;
|
|
20
|
+
test(ctx: AuthorizationContext, body: TestConnectorRequestApiDto): Promise<ConnectorTestResultResponseApiDto>;
|
|
21
|
+
get(ctx: AuthorizationContext, id: string): Promise<CustomConnectorDetailResponseApiDto>;
|
|
22
|
+
update(ctx: AuthorizationContext, id: string, body: UpdateCustomConnectorRequestApiDto): Promise<CustomConnectorDetailResponseApiDto>;
|
|
23
|
+
getVersion(ctx: AuthorizationContext, id: string, version: number): Promise<CustomConnectorVersionResponseApiDto>;
|
|
24
|
+
saveDraft(ctx: AuthorizationContext, id: string, body: SaveDraftRequestApiDto): Promise<CustomConnectorVersionStateResponseApiDto>;
|
|
25
|
+
publish(ctx: AuthorizationContext, id: string): Promise<PublishCustomConnectorResponseApiDto>;
|
|
26
|
+
activate(ctx: AuthorizationContext, id: string, version: number): Promise<ActivateCustomConnectorVersionResponseApiDto>;
|
|
27
|
+
remove(ctx: AuthorizationContext, id: string): Promise<DeleteCustomConnectorResponseApiDto>;
|
|
28
|
+
specification(ctx: AuthorizationContext, id: string, version?: number): Promise<ConnectorSpecificationResponseApiDto[]>;
|
|
29
|
+
fields(ctx: AuthorizationContext, id: string, version?: number): Promise<ConnectorFieldsResponseApiDto[]>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ConnectorDefinitionController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const idp_1 = require("../../idp");
|
|
19
|
+
const decorators_1 = require("../../idp/decorators");
|
|
20
|
+
const role_config_types_1 = require("../../idp/types/role-config.types");
|
|
21
|
+
const connector_definition_service_1 = require("../services/connector/connector-definition.service");
|
|
22
|
+
const connector_service_1 = require("../services/connector/connector.service");
|
|
23
|
+
const connector_test_service_1 = require("../services/connector/connector-test.service");
|
|
24
|
+
const custom_connector_dto_1 = require("../dto/presentation/custom-connector.dto");
|
|
25
|
+
const connector_definition_mapper_1 = require("../mappers/connector-definition.mapper");
|
|
26
|
+
const connector_mapper_1 = require("../mappers/connector.mapper");
|
|
27
|
+
const connector_definition_api_1 = require("./spec/connector-definition.api");
|
|
28
|
+
let ConnectorDefinitionController = class ConnectorDefinitionController {
|
|
29
|
+
definitionService;
|
|
30
|
+
connectorService;
|
|
31
|
+
testService;
|
|
32
|
+
mapper;
|
|
33
|
+
connectorMapper;
|
|
34
|
+
constructor(definitionService, connectorService, testService, mapper, connectorMapper) {
|
|
35
|
+
this.definitionService = definitionService;
|
|
36
|
+
this.connectorService = connectorService;
|
|
37
|
+
this.testService = testService;
|
|
38
|
+
this.mapper = mapper;
|
|
39
|
+
this.connectorMapper = connectorMapper;
|
|
40
|
+
}
|
|
41
|
+
async list(ctx) {
|
|
42
|
+
const defs = await this.definitionService.listByProject(ctx.projectId);
|
|
43
|
+
const activeVersionByDefId = await this.definitionService.getActiveVersionNumbersByDefId(defs);
|
|
44
|
+
return this.mapper.toListResponse(defs, activeVersionByDefId);
|
|
45
|
+
}
|
|
46
|
+
async create(ctx, body) {
|
|
47
|
+
const def = await this.definitionService.create(ctx.projectId, ctx.userId, {
|
|
48
|
+
name: body.name,
|
|
49
|
+
title: body.title,
|
|
50
|
+
description: body.description ?? null,
|
|
51
|
+
logo: body.logo ?? null,
|
|
52
|
+
docUrl: body.docUrl ?? null,
|
|
53
|
+
manifest: body.manifest,
|
|
54
|
+
});
|
|
55
|
+
return this.mapper.toCreateResponse(def);
|
|
56
|
+
}
|
|
57
|
+
async test(ctx, body) {
|
|
58
|
+
return this.testService.runTest({
|
|
59
|
+
projectId: ctx.projectId,
|
|
60
|
+
manifest: body.manifest,
|
|
61
|
+
node: body.node,
|
|
62
|
+
configuration: body.configuration,
|
|
63
|
+
maxRows: body.maxRows,
|
|
64
|
+
maxPages: body.maxPages,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
async get(ctx, id) {
|
|
68
|
+
const def = await this.definitionService.getById(ctx.projectId, id);
|
|
69
|
+
const versions = await this.definitionService.listVersions(ctx.projectId, id);
|
|
70
|
+
const activeVersion = await this.definitionService.getActiveVersionNumberForDef(def);
|
|
71
|
+
return this.mapper.toDetailResponse(def, versions, activeVersion);
|
|
72
|
+
}
|
|
73
|
+
async update(ctx, id, body) {
|
|
74
|
+
const def = await this.definitionService.updateMetadata(ctx.projectId, id, body);
|
|
75
|
+
const versions = await this.definitionService.listVersions(ctx.projectId, id);
|
|
76
|
+
const activeVersion = await this.definitionService.getActiveVersionNumberForDef(def);
|
|
77
|
+
return this.mapper.toDetailResponse(def, versions, activeVersion);
|
|
78
|
+
}
|
|
79
|
+
async getVersion(ctx, id, version) {
|
|
80
|
+
const row = await this.definitionService.getVersion(ctx.projectId, id, version);
|
|
81
|
+
return this.mapper.toVersionResponse(row);
|
|
82
|
+
}
|
|
83
|
+
async saveDraft(ctx, id, body) {
|
|
84
|
+
const row = await this.definitionService.saveDraft(ctx.projectId, id, body.manifest);
|
|
85
|
+
return this.mapper.toVersionStateResponse(row);
|
|
86
|
+
}
|
|
87
|
+
async publish(ctx, id) {
|
|
88
|
+
const { version: row, warnings } = await this.definitionService.publish(ctx.projectId, id, {
|
|
89
|
+
userId: ctx.userId,
|
|
90
|
+
roles: ctx.roles ?? [],
|
|
91
|
+
});
|
|
92
|
+
return this.mapper.toPublishResponse(row, warnings);
|
|
93
|
+
}
|
|
94
|
+
async activate(ctx, id, version) {
|
|
95
|
+
const def = await this.definitionService.setActiveVersion(ctx.projectId, id, version, {
|
|
96
|
+
userId: ctx.userId,
|
|
97
|
+
roles: ctx.roles ?? [],
|
|
98
|
+
});
|
|
99
|
+
return this.mapper.toActivateResponse(def, version);
|
|
100
|
+
}
|
|
101
|
+
async remove(ctx, id) {
|
|
102
|
+
await this.definitionService.softDelete(ctx.projectId, id);
|
|
103
|
+
return { success: true };
|
|
104
|
+
}
|
|
105
|
+
async specification(ctx, id, version) {
|
|
106
|
+
const def = await this.definitionService.getById(ctx.projectId, id);
|
|
107
|
+
const manifest = await this.definitionService.resolveManifest(ctx.projectId, def.name, version);
|
|
108
|
+
return this.connectorMapper.toSpecificationResponse(this.connectorService.getSpecificationFromManifest(manifest));
|
|
109
|
+
}
|
|
110
|
+
async fields(ctx, id, version) {
|
|
111
|
+
const def = await this.definitionService.getById(ctx.projectId, id);
|
|
112
|
+
const manifest = await this.definitionService.resolveManifest(ctx.projectId, def.name, version);
|
|
113
|
+
return this.connectorMapper.toFieldsResponse(this.connectorService.getFieldsSchemaFromManifest(manifest));
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
exports.ConnectorDefinitionController = ConnectorDefinitionController;
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, idp_1.Auth)(role_config_types_1.Role.viewer()),
|
|
119
|
+
(0, common_1.Get)(),
|
|
120
|
+
(0, connector_definition_api_1.ListCustomConnectorsSpec)(),
|
|
121
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
122
|
+
__metadata("design:type", Function),
|
|
123
|
+
__metadata("design:paramtypes", [Object]),
|
|
124
|
+
__metadata("design:returntype", Promise)
|
|
125
|
+
], ConnectorDefinitionController.prototype, "list", null);
|
|
126
|
+
__decorate([
|
|
127
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
128
|
+
(0, common_1.Post)(),
|
|
129
|
+
(0, connector_definition_api_1.CreateCustomConnectorSpec)(),
|
|
130
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
131
|
+
__param(1, (0, common_1.Body)()),
|
|
132
|
+
__metadata("design:type", Function),
|
|
133
|
+
__metadata("design:paramtypes", [Object, custom_connector_dto_1.CreateCustomConnectorRequestApiDto]),
|
|
134
|
+
__metadata("design:returntype", Promise)
|
|
135
|
+
], ConnectorDefinitionController.prototype, "create", null);
|
|
136
|
+
__decorate([
|
|
137
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
138
|
+
(0, common_1.Post)('test'),
|
|
139
|
+
(0, connector_definition_api_1.TestCustomConnectorSpec)(),
|
|
140
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
141
|
+
__param(1, (0, common_1.Body)()),
|
|
142
|
+
__metadata("design:type", Function),
|
|
143
|
+
__metadata("design:paramtypes", [Object, custom_connector_dto_1.TestConnectorRequestApiDto]),
|
|
144
|
+
__metadata("design:returntype", Promise)
|
|
145
|
+
], ConnectorDefinitionController.prototype, "test", null);
|
|
146
|
+
__decorate([
|
|
147
|
+
(0, idp_1.Auth)(role_config_types_1.Role.viewer()),
|
|
148
|
+
(0, common_1.Get)(':id'),
|
|
149
|
+
(0, connector_definition_api_1.GetCustomConnectorSpec)(),
|
|
150
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
151
|
+
__param(1, (0, common_1.Param)('id')),
|
|
152
|
+
__metadata("design:type", Function),
|
|
153
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
154
|
+
__metadata("design:returntype", Promise)
|
|
155
|
+
], ConnectorDefinitionController.prototype, "get", null);
|
|
156
|
+
__decorate([
|
|
157
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
158
|
+
(0, common_1.Patch)(':id'),
|
|
159
|
+
(0, connector_definition_api_1.UpdateCustomConnectorSpec)(),
|
|
160
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
161
|
+
__param(1, (0, common_1.Param)('id')),
|
|
162
|
+
__param(2, (0, common_1.Body)()),
|
|
163
|
+
__metadata("design:type", Function),
|
|
164
|
+
__metadata("design:paramtypes", [Object, String, custom_connector_dto_1.UpdateCustomConnectorRequestApiDto]),
|
|
165
|
+
__metadata("design:returntype", Promise)
|
|
166
|
+
], ConnectorDefinitionController.prototype, "update", null);
|
|
167
|
+
__decorate([
|
|
168
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
169
|
+
(0, common_1.Get)(':id/versions/:version'),
|
|
170
|
+
(0, connector_definition_api_1.GetCustomConnectorVersionSpec)(),
|
|
171
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
172
|
+
__param(1, (0, common_1.Param)('id')),
|
|
173
|
+
__param(2, (0, common_1.Param)('version', common_1.ParseIntPipe)),
|
|
174
|
+
__metadata("design:type", Function),
|
|
175
|
+
__metadata("design:paramtypes", [Object, String, Number]),
|
|
176
|
+
__metadata("design:returntype", Promise)
|
|
177
|
+
], ConnectorDefinitionController.prototype, "getVersion", null);
|
|
178
|
+
__decorate([
|
|
179
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
180
|
+
(0, common_1.Put)(':id/draft'),
|
|
181
|
+
(0, connector_definition_api_1.SaveCustomConnectorDraftSpec)(),
|
|
182
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
183
|
+
__param(1, (0, common_1.Param)('id')),
|
|
184
|
+
__param(2, (0, common_1.Body)()),
|
|
185
|
+
__metadata("design:type", Function),
|
|
186
|
+
__metadata("design:paramtypes", [Object, String, custom_connector_dto_1.SaveDraftRequestApiDto]),
|
|
187
|
+
__metadata("design:returntype", Promise)
|
|
188
|
+
], ConnectorDefinitionController.prototype, "saveDraft", null);
|
|
189
|
+
__decorate([
|
|
190
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
191
|
+
(0, common_1.Post)(':id/publish'),
|
|
192
|
+
(0, connector_definition_api_1.PublishCustomConnectorSpec)(),
|
|
193
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
194
|
+
__param(1, (0, common_1.Param)('id')),
|
|
195
|
+
__metadata("design:type", Function),
|
|
196
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
197
|
+
__metadata("design:returntype", Promise)
|
|
198
|
+
], ConnectorDefinitionController.prototype, "publish", null);
|
|
199
|
+
__decorate([
|
|
200
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
201
|
+
(0, common_1.Post)(':id/versions/:version/activate'),
|
|
202
|
+
(0, connector_definition_api_1.ActivateCustomConnectorVersionSpec)(),
|
|
203
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
204
|
+
__param(1, (0, common_1.Param)('id')),
|
|
205
|
+
__param(2, (0, common_1.Param)('version', common_1.ParseIntPipe)),
|
|
206
|
+
__metadata("design:type", Function),
|
|
207
|
+
__metadata("design:paramtypes", [Object, String, Number]),
|
|
208
|
+
__metadata("design:returntype", Promise)
|
|
209
|
+
], ConnectorDefinitionController.prototype, "activate", null);
|
|
210
|
+
__decorate([
|
|
211
|
+
(0, idp_1.Auth)(role_config_types_1.Role.editor()),
|
|
212
|
+
(0, common_1.Delete)(':id'),
|
|
213
|
+
(0, connector_definition_api_1.DeleteCustomConnectorSpec)(),
|
|
214
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
215
|
+
__param(1, (0, common_1.Param)('id')),
|
|
216
|
+
__metadata("design:type", Function),
|
|
217
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
218
|
+
__metadata("design:returntype", Promise)
|
|
219
|
+
], ConnectorDefinitionController.prototype, "remove", null);
|
|
220
|
+
__decorate([
|
|
221
|
+
(0, idp_1.Auth)(role_config_types_1.Role.viewer()),
|
|
222
|
+
(0, common_1.Get)(':id/specification'),
|
|
223
|
+
(0, connector_definition_api_1.GetCustomConnectorSpecificationSpec)(),
|
|
224
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
225
|
+
__param(1, (0, common_1.Param)('id')),
|
|
226
|
+
__param(2, (0, common_1.Query)('version', new common_1.ParseIntPipe({ optional: true }))),
|
|
227
|
+
__metadata("design:type", Function),
|
|
228
|
+
__metadata("design:paramtypes", [Object, String, Number]),
|
|
229
|
+
__metadata("design:returntype", Promise)
|
|
230
|
+
], ConnectorDefinitionController.prototype, "specification", null);
|
|
231
|
+
__decorate([
|
|
232
|
+
(0, idp_1.Auth)(role_config_types_1.Role.viewer()),
|
|
233
|
+
(0, common_1.Get)(':id/fields'),
|
|
234
|
+
(0, connector_definition_api_1.GetCustomConnectorFieldsSpec)(),
|
|
235
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
236
|
+
__param(1, (0, common_1.Param)('id')),
|
|
237
|
+
__param(2, (0, common_1.Query)('version', new common_1.ParseIntPipe({ optional: true }))),
|
|
238
|
+
__metadata("design:type", Function),
|
|
239
|
+
__metadata("design:paramtypes", [Object, String, Number]),
|
|
240
|
+
__metadata("design:returntype", Promise)
|
|
241
|
+
], ConnectorDefinitionController.prototype, "fields", null);
|
|
242
|
+
exports.ConnectorDefinitionController = ConnectorDefinitionController = __decorate([
|
|
243
|
+
(0, common_1.Controller)('connectors/custom'),
|
|
244
|
+
(0, swagger_1.ApiTags)('Custom Connectors'),
|
|
245
|
+
(0, decorators_1.RejectPluginAuth)(),
|
|
246
|
+
__metadata("design:paramtypes", [connector_definition_service_1.ConnectorDefinitionService,
|
|
247
|
+
connector_service_1.ConnectorService,
|
|
248
|
+
connector_test_service_1.ConnectorTestService,
|
|
249
|
+
connector_definition_mapper_1.ConnectorDefinitionMapper,
|
|
250
|
+
connector_mapper_1.ConnectorMapper])
|
|
251
|
+
], ConnectorDefinitionController);
|
|
252
|
+
//# sourceMappingURL=connector-definition.controller.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Response } from 'express';
|
|
2
|
+
import { AuthorizationContext } from '../../idp';
|
|
3
|
+
import { PreviewDataMartRequestApiDto } from '../dto/presentation/preview-data-mart-request-api.dto';
|
|
4
|
+
import { PreviewDataMartResponseApiDto } from '../dto/presentation/preview-data-mart-response-api.dto';
|
|
5
|
+
import { PreviewDataMartService } from '../use-cases/preview-data-mart.service';
|
|
6
|
+
export declare class DataMartPreviewController {
|
|
7
|
+
private readonly previewDataMartService;
|
|
8
|
+
constructor(previewDataMartService: PreviewDataMartService);
|
|
9
|
+
preview(context: AuthorizationContext, id: string, dto: PreviewDataMartRequestApiDto, response: Response): Promise<PreviewDataMartResponseApiDto>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DataMartPreviewController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
18
|
+
const idp_1 = require("../../idp");
|
|
19
|
+
const preview_data_mart_request_api_dto_1 = require("../dto/presentation/preview-data-mart-request-api.dto");
|
|
20
|
+
const preview_data_mart_response_api_dto_1 = require("../dto/presentation/preview-data-mart-response-api.dto");
|
|
21
|
+
const preview_data_mart_service_1 = require("../use-cases/preview-data-mart.service");
|
|
22
|
+
let DataMartPreviewController = class DataMartPreviewController {
|
|
23
|
+
previewDataMartService;
|
|
24
|
+
constructor(previewDataMartService) {
|
|
25
|
+
this.previewDataMartService = previewDataMartService;
|
|
26
|
+
}
|
|
27
|
+
async preview(context, id, dto, response) {
|
|
28
|
+
const abortController = new AbortController();
|
|
29
|
+
response.on('close', () => {
|
|
30
|
+
if (!response.writableFinished)
|
|
31
|
+
abortController.abort();
|
|
32
|
+
});
|
|
33
|
+
return this.previewDataMartService.run(new preview_data_mart_service_1.PreviewDataMartCommand(id, context.projectId, context.userId, context.roles ?? [], dto.limit, dto.filters, dto.sort), abortController.signal);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.DataMartPreviewController = DataMartPreviewController;
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, idp_1.Auth)(idp_1.Role.viewer(idp_1.Strategy.INTROSPECT)),
|
|
39
|
+
(0, idp_1.RejectApiKeyAuth)(),
|
|
40
|
+
(0, idp_1.RejectPluginAuth)(),
|
|
41
|
+
(0, common_1.Post)(':id/preview'),
|
|
42
|
+
(0, common_1.HttpCode)(200),
|
|
43
|
+
(0, swagger_1.ApiOperation)({ summary: 'Read a sample of Data Mart rows for the Data Setup preview' }),
|
|
44
|
+
(0, swagger_1.ApiOkResponse)({ type: preview_data_mart_response_api_dto_1.PreviewDataMartResponseApiDto }),
|
|
45
|
+
__param(0, (0, idp_1.AuthContext)()),
|
|
46
|
+
__param(1, (0, common_1.Param)('id')),
|
|
47
|
+
__param(2, (0, common_1.Body)()),
|
|
48
|
+
__param(3, (0, common_1.Res)({ passthrough: true })),
|
|
49
|
+
__metadata("design:type", Function),
|
|
50
|
+
__metadata("design:paramtypes", [Object, String, preview_data_mart_request_api_dto_1.PreviewDataMartRequestApiDto, Object]),
|
|
51
|
+
__metadata("design:returntype", Promise)
|
|
52
|
+
], DataMartPreviewController.prototype, "preview", null);
|
|
53
|
+
exports.DataMartPreviewController = DataMartPreviewController = __decorate([
|
|
54
|
+
(0, common_1.Controller)('data-marts'),
|
|
55
|
+
(0, swagger_1.ApiTags)('DataMarts'),
|
|
56
|
+
__metadata("design:paramtypes", [preview_data_mart_service_1.PreviewDataMartService])
|
|
57
|
+
], DataMartPreviewController);
|
|
58
|
+
//# sourceMappingURL=data-mart-preview.controller.js.map
|