@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
|
@@ -59,6 +59,8 @@ const move_legacy_data_storage_service_1 = require("./use-cases/legacy-data-mart
|
|
|
59
59
|
const sync_legacy_gcp_storages_for_project_service_1 = require("./use-cases/legacy-data-marts/sync-legacy-gcp-storages-for-project.service");
|
|
60
60
|
const list_data_marts_service_1 = require("./use-cases/list-data-marts.service");
|
|
61
61
|
const query_data_mart_service_1 = require("./use-cases/query-data-mart.service");
|
|
62
|
+
const preview_data_mart_service_1 = require("./use-cases/preview-data-mart.service");
|
|
63
|
+
const data_mart_preview_controller_1 = require("./controllers/data-mart-preview.controller");
|
|
62
64
|
const summarize_mcp_data_catalog_service_1 = require("./use-cases/summarize-mcp-data-catalog.service");
|
|
63
65
|
const mcp_data_marts_facade_1 = require("./facades/mcp-data-marts.facade");
|
|
64
66
|
const mcp_data_marts_facade_impl_1 = require("./facades/mcp-data-marts.facade.impl");
|
|
@@ -129,6 +131,7 @@ const scheduled_trigger_service_1 = require("./services/scheduled-trigger.servic
|
|
|
129
131
|
const publish_data_mart_service_1 = require("./use-cases/publish-data-mart.service");
|
|
130
132
|
const update_blended_fields_config_service_1 = require("./use-cases/update-blended-fields-config.service");
|
|
131
133
|
const update_data_mart_description_service_1 = require("./use-cases/update-data-mart-description.service");
|
|
134
|
+
const update_data_mart_icon_service_1 = require("./use-cases/update-data-mart-icon.service");
|
|
132
135
|
const update_data_mart_owners_service_1 = require("./use-cases/update-data-mart-owners.service");
|
|
133
136
|
const update_data_mart_title_service_1 = require("./use-cases/update-data-mart-title.service");
|
|
134
137
|
const list_data_storages_service_1 = require("./use-cases/list-data-storages.service");
|
|
@@ -147,8 +150,13 @@ const insight_artifact_sql_preview_trigger_entity_1 = require("./entities/insigh
|
|
|
147
150
|
const insight_template_entity_1 = require("./entities/insight-template.entity");
|
|
148
151
|
const insight_template_source_entity_1 = require("./entities/insight-template-source.entity");
|
|
149
152
|
const connector_controller_1 = require("./controllers/connector.controller");
|
|
153
|
+
const connector_definition_controller_1 = require("./controllers/connector-definition.controller");
|
|
150
154
|
const available_connector_service_1 = require("./use-cases/connector/available-connector.service");
|
|
151
155
|
const connector_service_1 = require("./services/connector/connector.service");
|
|
156
|
+
const connector_definition_service_1 = require("./services/connector/connector-definition.service");
|
|
157
|
+
const connector_test_service_1 = require("./services/connector/connector-test.service");
|
|
158
|
+
const connector_definition_entity_1 = require("./entities/connector-definition.entity");
|
|
159
|
+
const connector_definition_version_entity_1 = require("./entities/connector-definition-version.entity");
|
|
152
160
|
const connector_execution_service_1 = require("./services/connector/connector-execution.service");
|
|
153
161
|
const connector_run_service_1 = require("./services/connector/connector-run.service");
|
|
154
162
|
const connector_executor_service_1 = require("./services/connector/connector-executor.service");
|
|
@@ -158,6 +166,7 @@ const connector_source_config_service_1 = require("./services/connector/connecto
|
|
|
158
166
|
const connector_credential_injector_service_1 = require("./services/connector/connector-credential-injector.service");
|
|
159
167
|
const connector_preview_credentials_service_1 = require("./services/connector/connector-preview-credentials.service");
|
|
160
168
|
const connector_mapper_1 = require("./mappers/connector.mapper");
|
|
169
|
+
const connector_definition_mapper_1 = require("./mappers/connector-definition.mapper");
|
|
161
170
|
const specification_connector_service_1 = require("./use-cases/connector/specification-connector.service");
|
|
162
171
|
const fields_connector_service_1 = require("./use-cases/connector/fields-connector.service");
|
|
163
172
|
const connector_fields_preview_service_1 = require("./services/connector/connector-fields-preview.service");
|
|
@@ -474,10 +483,10 @@ let DataMartsModule = class DataMartsModule {
|
|
|
474
483
|
configure(consumer) {
|
|
475
484
|
consumer
|
|
476
485
|
.apply((0, operation_timeout_middleware_1.createOperationTimeoutMiddleware)(180000))
|
|
477
|
-
.forRoutes({ path: 'data-marts/:id/definition', method: common_1.RequestMethod.PUT }, { path: 'data-marts/:id/publish', method: common_1.RequestMethod.PUT });
|
|
486
|
+
.forRoutes({ path: 'data-marts/:id/definition', method: common_1.RequestMethod.PUT }, { path: 'data-marts/:id/publish', method: common_1.RequestMethod.PUT }, { path: 'data-marts/:id/preview', method: common_1.RequestMethod.POST });
|
|
478
487
|
consumer
|
|
479
488
|
.apply((0, operation_timeout_middleware_1.createOperationTimeoutMiddleware)(30000))
|
|
480
|
-
.exclude({ path: 'data-marts/:id/definition', method: common_1.RequestMethod.PUT }, { path: 'data-marts/:id/publish', method: common_1.RequestMethod.PUT }, { path: 'external/{*path}', method: common_1.RequestMethod.ALL }, ...mcp_operation_timeout_exclusions_1.MCP_OPERATION_TIMEOUT_EXCLUSIONS)
|
|
489
|
+
.exclude({ path: 'data-marts/:id/definition', method: common_1.RequestMethod.PUT }, { path: 'data-marts/:id/publish', method: common_1.RequestMethod.PUT }, { path: 'data-marts/:id/preview', method: common_1.RequestMethod.POST }, { path: 'external/{*path}', method: common_1.RequestMethod.ALL }, ...mcp_operation_timeout_exclusions_1.MCP_OPERATION_TIMEOUT_EXCLUSIONS, { path: 'connectors/custom/test', method: common_1.RequestMethod.POST })
|
|
481
490
|
.forRoutes({ path: '{*path}', method: common_1.RequestMethod.ALL });
|
|
482
491
|
}
|
|
483
492
|
};
|
|
@@ -546,6 +555,8 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
546
555
|
credential_external_definition_entity_1.CredentialExternalDefinition,
|
|
547
556
|
credential_definition_version_entity_1.CredentialDefinitionVersion,
|
|
548
557
|
credential_consumer_binding_entity_1.CredentialConsumerBinding,
|
|
558
|
+
connector_definition_entity_1.ConnectorDefinition,
|
|
559
|
+
connector_definition_version_entity_1.ConnectorDefinitionVersion,
|
|
549
560
|
]),
|
|
550
561
|
common_module_1.CommonModule,
|
|
551
562
|
idp_module_1.IdpModule,
|
|
@@ -568,10 +579,12 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
568
579
|
insight_artifact_sql_preview_trigger_controller_1.InsightArtifactSqlPreviewTriggerController,
|
|
569
580
|
insight_template_controller_1.InsightTemplateController,
|
|
570
581
|
connector_controller_1.ConnectorController,
|
|
582
|
+
connector_definition_controller_1.ConnectorDefinitionController,
|
|
571
583
|
scheduled_trigger_controller_1.ScheduledTriggerController,
|
|
572
584
|
looker_studio_connector_controller_1.LookerStudioConnectorController,
|
|
573
585
|
sql_dry_run_trigger_controller_1.SqlDryRunTriggerController,
|
|
574
586
|
schema_actualize_trigger_controller_1.SchemaActualizeTriggerController,
|
|
587
|
+
data_mart_preview_controller_1.DataMartPreviewController,
|
|
575
588
|
publish_drafts_trigger_controller_1.PublishDraftsTriggerController,
|
|
576
589
|
ai_helper_trigger_controller_1.AiHelperTriggerController,
|
|
577
590
|
insight_run_trigger_controller_1.InsightRunTriggerController,
|
|
@@ -634,6 +647,7 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
634
647
|
get_model_canvas_data_marts_service_1.GetModelCanvasDataMartsService,
|
|
635
648
|
get_model_canvas_edges_service_1.GetModelCanvasEdgesService,
|
|
636
649
|
query_data_mart_service_1.QueryDataMartService,
|
|
650
|
+
preview_data_mart_service_1.PreviewDataMartService,
|
|
637
651
|
summarize_mcp_data_catalog_service_1.SummarizeMcpDataCatalogService,
|
|
638
652
|
{
|
|
639
653
|
provide: mcp_data_marts_facade_1.MCP_DATA_MARTS_FACADE,
|
|
@@ -662,6 +676,7 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
662
676
|
publish_data_mart_service_1.PublishDataMartService,
|
|
663
677
|
update_blended_fields_config_service_1.UpdateBlendedFieldsConfigService,
|
|
664
678
|
update_data_mart_description_service_1.UpdateDataMartDescriptionService,
|
|
679
|
+
update_data_mart_icon_service_1.UpdateDataMartIconService,
|
|
665
680
|
update_data_mart_owners_service_1.UpdateDataMartOwnersService,
|
|
666
681
|
update_data_mart_title_service_1.UpdateDataMartTitleService,
|
|
667
682
|
data_mart_mapper_1.DataMartMapper,
|
|
@@ -760,6 +775,8 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
760
775
|
get_data_mart_run_service_1.GetDataMartRunService,
|
|
761
776
|
available_connector_service_1.AvailableConnectorService,
|
|
762
777
|
connector_service_1.ConnectorService,
|
|
778
|
+
connector_definition_service_1.ConnectorDefinitionService,
|
|
779
|
+
connector_test_service_1.ConnectorTestService,
|
|
763
780
|
connector_execution_service_1.ConnectorExecutionService,
|
|
764
781
|
connector_run_service_1.ConnectorRunService,
|
|
765
782
|
connector_executor_service_1.ConnectorExecutorService,
|
|
@@ -769,6 +786,7 @@ exports.DataMartsModule = DataMartsModule = __decorate([
|
|
|
769
786
|
connector_credential_injector_service_1.ConnectorCredentialInjectorService,
|
|
770
787
|
connector_preview_credentials_service_1.ConnectorPreviewCredentialsService,
|
|
771
788
|
connector_mapper_1.ConnectorMapper,
|
|
789
|
+
connector_definition_mapper_1.ConnectorDefinitionMapper,
|
|
772
790
|
specification_connector_service_1.SpecificationConnectorService,
|
|
773
791
|
fields_connector_service_1.FieldsConnectorService,
|
|
774
792
|
connector_fields_preview_service_1.ConnectorFieldsPreviewService,
|
|
@@ -22,6 +22,7 @@ exports.resolveCountDistinctGroupCteName = resolveCountDistinctGroupCteName;
|
|
|
22
22
|
exports.groupValueSleeveMetrics = groupValueSleeveMetrics;
|
|
23
23
|
exports.resolveValueSleeveGroupCteName = resolveValueSleeveGroupCteName;
|
|
24
24
|
const business_violation_exception_1 = require("../../../common/exceptions/business-violation.exception");
|
|
25
|
+
const set_quantifier_1 = require("../../calculated-fields/set-quantifier");
|
|
25
26
|
const sql_token_scanner_1 = require("../../calculated-fields/sql-token-scanner");
|
|
26
27
|
const aggregate_function_schema_1 = require("../../dto/schemas/aggregate-function.schema");
|
|
27
28
|
const aggregation_labels_1 = require("../../dto/schemas/aggregation-labels");
|
|
@@ -88,18 +89,8 @@ function sleeveCteNameForColumn(column) {
|
|
|
88
89
|
function uniqueCountSleeveCteName(source) {
|
|
89
90
|
return `sleeve_uc_${sanitizeSleeveNamePart(source.aliasPath)}`;
|
|
90
91
|
}
|
|
91
|
-
function readArgumentQuantifier(tokens, call) {
|
|
92
|
-
const first = tokens.find(t => t.kind !== 'comment' && t.start >= call.argStart && t.end <= call.argEnd);
|
|
93
|
-
const word = first?.kind === 'word' ? first.value.toUpperCase() : '';
|
|
94
|
-
if (word === 'DISTINCT' || word === 'ALL') {
|
|
95
|
-
return { distinct: word === 'DISTINCT', valueStart: first.end };
|
|
96
|
-
}
|
|
97
|
-
return { distinct: false, valueStart: call.argStart };
|
|
98
|
-
}
|
|
99
92
|
function isJoinedCallLeftInPlace(tokens, call) {
|
|
100
|
-
return (call.owner.kind === 'joined' &&
|
|
101
|
-
call.fn === 'COUNT' &&
|
|
102
|
-
!readArgumentQuantifier(tokens, call).distinct);
|
|
93
|
+
return (call.owner.kind === 'joined' && call.fn === 'COUNT' && !(0, set_quantifier_1.readSetQuantifier)(tokens, call).distinct);
|
|
103
94
|
}
|
|
104
95
|
function withCallIndex(base, callIndex) {
|
|
105
96
|
const suffix = `_${callIndex}`;
|
|
@@ -149,7 +140,7 @@ function planFormulaSleeves(metrics) {
|
|
|
149
140
|
`Data Mart currently takes exactly one argument — remove the extra argument(s), or ` +
|
|
150
141
|
`compute this part on the calculated field's own Data Mart`, { calculatedField: outputName, aliasPath, function: call.fn });
|
|
151
142
|
}
|
|
152
|
-
const quantifier =
|
|
143
|
+
const quantifier = (0, set_quantifier_1.readSetQuantifier)(tokens, call);
|
|
153
144
|
if (quantifier.distinct && call.fn !== 'COUNT') {
|
|
154
145
|
throw new business_violation_exception_1.BusinessViolationException(`Calculated field '${outputName}': ${call.fn}(DISTINCT ...) reads the joined source ` +
|
|
155
146
|
`'${aliasPath}'. Only COUNT(DISTINCT ...) can be de-duplicated over a joined Data ` +
|
|
@@ -30,6 +30,7 @@ export declare function getMainUniqueCountKeyFields(fields: readonly DataMartSch
|
|
|
30
30
|
field: DataMartSchemaField;
|
|
31
31
|
}[];
|
|
32
32
|
export declare function collectPrimaryKeyRowIdentity(fields: readonly DataMartSchemaField[]): string[];
|
|
33
|
+
export declare function declaredPrimaryKeyFields(fields: readonly DataMartSchemaField[]): string[];
|
|
33
34
|
export declare const JOINED_UNIQUE_COUNT_AVAILABILITY_VALUES: readonly ["available", "no-primary-key", "disconnected-primary-key", "nested-primary-key", "nested-and-disconnected-primary-key"];
|
|
34
35
|
export type JoinedUniqueCountAvailability = (typeof JOINED_UNIQUE_COUNT_AVAILABILITY_VALUES)[number];
|
|
35
36
|
export declare function classifyJoinedUniqueCountAvailability(fields: readonly DataMartSchemaField[]): JoinedUniqueCountAvailability;
|
|
@@ -19,6 +19,7 @@ exports.collectHiddenForReportingPaths = collectHiddenForReportingPaths;
|
|
|
19
19
|
exports.collectFormulaReferenceableFields = collectFormulaReferenceableFields;
|
|
20
20
|
exports.getMainUniqueCountKeyFields = getMainUniqueCountKeyFields;
|
|
21
21
|
exports.collectPrimaryKeyRowIdentity = collectPrimaryKeyRowIdentity;
|
|
22
|
+
exports.declaredPrimaryKeyFields = declaredPrimaryKeyFields;
|
|
22
23
|
exports.classifyJoinedUniqueCountAvailability = classifyJoinedUniqueCountAvailability;
|
|
23
24
|
exports.hasUsablePrimaryKey = hasUsablePrimaryKey;
|
|
24
25
|
exports.createBaseFieldSchemaForType = createBaseFieldSchemaForType;
|
|
@@ -138,6 +139,21 @@ function collectPrimaryKeyRowIdentity(fields) {
|
|
|
138
139
|
walk(fields, '', true);
|
|
139
140
|
return complete ? columns : [];
|
|
140
141
|
}
|
|
142
|
+
function declaredPrimaryKeyFields(fields) {
|
|
143
|
+
const columns = [];
|
|
144
|
+
const walk = (nodes, prefix) => {
|
|
145
|
+
for (const field of nodes) {
|
|
146
|
+
const fullName = prefix ? `${prefix}.${field.name}` : field.name;
|
|
147
|
+
if (field.isPrimaryKey)
|
|
148
|
+
columns.push(fullName);
|
|
149
|
+
if ('fields' in field && field.fields?.length) {
|
|
150
|
+
walk(field.fields, fullName);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
walk(fields, '');
|
|
155
|
+
return columns;
|
|
156
|
+
}
|
|
141
157
|
exports.JOINED_UNIQUE_COUNT_AVAILABILITY_VALUES = [
|
|
142
158
|
'available',
|
|
143
159
|
'no-primary-key',
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { DataMartSchema } from '../../data-storage-types/data-mart-schema.type';
|
|
2
2
|
import { JoinedUniqueCountAvailability } from '../../data-storage-types/data-mart-schema.utils';
|
|
3
3
|
import { AggregateFunction, ReportAggregateFunction } from '../schemas/aggregate-function.schema';
|
|
4
|
+
export declare const MAIN_GRAIN_MULTIPLICATION_VALUES: readonly ["none", "multiplies", "unknown"];
|
|
5
|
+
export type MainGrainMultiplication = (typeof MAIN_GRAIN_MULTIPLICATION_VALUES)[number];
|
|
6
|
+
export declare const MAIN_GRAIN_COLLAPSE_VALUES: readonly ["none", "collapses"];
|
|
7
|
+
export type MainGrainCollapse = (typeof MAIN_GRAIN_COLLAPSE_VALUES)[number];
|
|
4
8
|
export declare class BlendedFieldDto {
|
|
5
9
|
name: string;
|
|
6
10
|
sourceRelationshipId: string;
|
|
@@ -34,6 +38,12 @@ export declare class AvailableSourceDto {
|
|
|
34
38
|
isAccessibleForReporting: boolean;
|
|
35
39
|
uniqueCountAvailability: JoinedUniqueCountAvailability;
|
|
36
40
|
uniqueCountKeyFields: string[];
|
|
41
|
+
mainGrainMultiplication: MainGrainMultiplication;
|
|
42
|
+
mainGrainKeyFields: string[];
|
|
43
|
+
mainGrainUnprovenAt?: string;
|
|
44
|
+
mainGrainMultipliedAt?: string;
|
|
45
|
+
mainGrainCollapse: MainGrainCollapse;
|
|
46
|
+
mainGrainCollapsedAt?: string;
|
|
37
47
|
}
|
|
38
48
|
export declare class CalculatedFieldIssueDto {
|
|
39
49
|
field: string;
|
|
@@ -9,10 +9,12 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.BlendableSchemaDto = exports.CalculatedFieldIssueDto = exports.AvailableSourceDto = exports.BlendedFieldDto = void 0;
|
|
12
|
+
exports.BlendableSchemaDto = exports.CalculatedFieldIssueDto = exports.AvailableSourceDto = exports.BlendedFieldDto = exports.MAIN_GRAIN_COLLAPSE_VALUES = exports.MAIN_GRAIN_MULTIPLICATION_VALUES = void 0;
|
|
13
13
|
const swagger_1 = require("@nestjs/swagger");
|
|
14
14
|
const data_mart_schema_utils_1 = require("../../data-storage-types/data-mart-schema.utils");
|
|
15
15
|
const aggregate_function_schema_1 = require("../schemas/aggregate-function.schema");
|
|
16
|
+
exports.MAIN_GRAIN_MULTIPLICATION_VALUES = ['none', 'multiplies', 'unknown'];
|
|
17
|
+
exports.MAIN_GRAIN_COLLAPSE_VALUES = ['none', 'collapses'];
|
|
16
18
|
class BlendedFieldDto {
|
|
17
19
|
name;
|
|
18
20
|
sourceRelationshipId;
|
|
@@ -153,6 +155,12 @@ class AvailableSourceDto {
|
|
|
153
155
|
isAccessibleForReporting;
|
|
154
156
|
uniqueCountAvailability;
|
|
155
157
|
uniqueCountKeyFields;
|
|
158
|
+
mainGrainMultiplication;
|
|
159
|
+
mainGrainKeyFields;
|
|
160
|
+
mainGrainUnprovenAt;
|
|
161
|
+
mainGrainMultipliedAt;
|
|
162
|
+
mainGrainCollapse;
|
|
163
|
+
mainGrainCollapsedAt;
|
|
156
164
|
}
|
|
157
165
|
exports.AvailableSourceDto = AvailableSourceDto;
|
|
158
166
|
__decorate([
|
|
@@ -225,6 +233,68 @@ __decorate([
|
|
|
225
233
|
}),
|
|
226
234
|
__metadata("design:type", Array)
|
|
227
235
|
], AvailableSourceDto.prototype, "uniqueCountKeyFields", void 0);
|
|
236
|
+
__decorate([
|
|
237
|
+
(0, swagger_1.ApiProperty)({
|
|
238
|
+
enum: exports.MAIN_GRAIN_MULTIPLICATION_VALUES,
|
|
239
|
+
description: "Whether this source's rows are multiplied when attached to the main Data Mart — the join " +
|
|
240
|
+
'key is not proven unique on its parent, so one joined value can land on several main rows. ' +
|
|
241
|
+
'A fact about ROWS: what each aggregate makes of it differs per aggregate. `none` — every hop ' +
|
|
242
|
+
"from the main Data Mart down to this source is keyed by its parent's primary key, so nothing " +
|
|
243
|
+
'is multiplied. `multiplies` — at least one hop is keyed by something that does not cover its ' +
|
|
244
|
+
"parent's primary key. `unknown` — some parent on the chain declares no primary key, so " +
|
|
245
|
+
'uniqueness is undecidable in either direction. A client that does not know this property ' +
|
|
246
|
+
'must read its absence as `unknown`, never as `none`: the fallback has to be the one that ' +
|
|
247
|
+
'still warns.',
|
|
248
|
+
}),
|
|
249
|
+
__metadata("design:type", String)
|
|
250
|
+
], AvailableSourceDto.prototype, "mainGrainMultiplication", void 0);
|
|
251
|
+
__decorate([
|
|
252
|
+
(0, swagger_1.ApiProperty)({
|
|
253
|
+
type: [String],
|
|
254
|
+
description: "The join-key columns of the hop that multiplies, named on that hop's parent, so a message " +
|
|
255
|
+
'can tell an analyst which key is at fault. Empty whenever mainGrainMultiplication is not ' +
|
|
256
|
+
'`multiplies`.',
|
|
257
|
+
}),
|
|
258
|
+
__metadata("design:type", Array)
|
|
259
|
+
], AvailableSourceDto.prototype, "mainGrainKeyFields", void 0);
|
|
260
|
+
__decorate([
|
|
261
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
262
|
+
description: 'The aliasPath of the Data Mart that declares no primary key, so a message can name the one ' +
|
|
263
|
+
'that needs it. An empty string means the main Data Mart itself. Present only when ' +
|
|
264
|
+
'mainGrainMultiplication is `unknown`.',
|
|
265
|
+
}),
|
|
266
|
+
__metadata("design:type", String)
|
|
267
|
+
], AvailableSourceDto.prototype, "mainGrainUnprovenAt", void 0);
|
|
268
|
+
__decorate([
|
|
269
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
270
|
+
description: 'The aliasPath of the hop that multiplies, which is NOT always this source: a verdict is ' +
|
|
271
|
+
"inherited down the chain together with the failing hop's key, so mainGrainKeyFields can " +
|
|
272
|
+
'belong to an ancestor. A message that names this source as the one joined on that key ' +
|
|
273
|
+
'sends an analyst to edit the wrong relationship. Present only when ' +
|
|
274
|
+
'mainGrainMultiplication is `multiplies`.',
|
|
275
|
+
}),
|
|
276
|
+
__metadata("design:type", String)
|
|
277
|
+
], AvailableSourceDto.prototype, "mainGrainMultipliedAt", void 0);
|
|
278
|
+
__decorate([
|
|
279
|
+
(0, swagger_1.ApiProperty)({
|
|
280
|
+
enum: exports.MAIN_GRAIN_COLLAPSE_VALUES,
|
|
281
|
+
description: 'The other side of the same joins: whether several rows of a joined Data Mart can share one ' +
|
|
282
|
+
'join-key value and so collapse into a single match. A joined Data Mart is attached to the ' +
|
|
283
|
+
'main one collapsed to one row per key, so an aggregate read off that collapsed row — a ' +
|
|
284
|
+
'non-DISTINCT `COUNT` — counts main rows, and comes out lower than the joined rows. `none` — ' +
|
|
285
|
+
"every hop from the main Data Mart down to this source is keyed by its target's primary key. " +
|
|
286
|
+
'`collapses` — at least one is not, or its target declares no primary key. A client that does ' +
|
|
287
|
+
'not know this property must read its absence as `collapses`.',
|
|
288
|
+
}),
|
|
289
|
+
__metadata("design:type", String)
|
|
290
|
+
], AvailableSourceDto.prototype, "mainGrainCollapse", void 0);
|
|
291
|
+
__decorate([
|
|
292
|
+
(0, swagger_1.ApiPropertyOptional)({
|
|
293
|
+
description: 'The aliasPath of the hop whose target rows collapse — the one closest to the main Data ' +
|
|
294
|
+
'Mart, which is not always this source. Present only when mainGrainCollapse is `collapses`.',
|
|
295
|
+
}),
|
|
296
|
+
__metadata("design:type", String)
|
|
297
|
+
], AvailableSourceDto.prototype, "mainGrainCollapsedAt", void 0);
|
|
228
298
|
class CalculatedFieldIssueDto {
|
|
229
299
|
field;
|
|
230
300
|
missing;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { DataMartIcon } from '../../enums/data-mart-icon.enum';
|
|
1
2
|
export declare class CreateDataMartCommand {
|
|
2
3
|
readonly projectId: string;
|
|
3
4
|
readonly userId: string;
|
|
4
5
|
readonly title: string;
|
|
5
6
|
readonly storageId: string;
|
|
6
7
|
readonly roles: string[];
|
|
7
|
-
|
|
8
|
+
readonly icon: DataMartIcon | null;
|
|
9
|
+
constructor(projectId: string, userId: string, title: string, storageId: string, roles?: string[], icon?: DataMartIcon | null);
|
|
8
10
|
}
|
|
@@ -7,12 +7,14 @@ class CreateDataMartCommand {
|
|
|
7
7
|
title;
|
|
8
8
|
storageId;
|
|
9
9
|
roles;
|
|
10
|
-
|
|
10
|
+
icon;
|
|
11
|
+
constructor(projectId, userId, title, storageId, roles = [], icon = null) {
|
|
11
12
|
this.projectId = projectId;
|
|
12
13
|
this.userId = userId;
|
|
13
14
|
this.title = title;
|
|
14
15
|
this.storageId = storageId;
|
|
15
16
|
this.roles = roles;
|
|
17
|
+
this.icon = icon;
|
|
16
18
|
}
|
|
17
19
|
}
|
|
18
20
|
exports.CreateDataMartCommand = CreateDataMartCommand;
|
|
@@ -5,6 +5,7 @@ import { SortConfig } from '../schemas/sort-config.schema';
|
|
|
5
5
|
import { AggregationConfig } from '../schemas/aggregation-config.schema';
|
|
6
6
|
import { DateTruncConfig } from '../schemas/date-trunc-config.schema';
|
|
7
7
|
import { UniqueCountConfig } from '../schemas/unique-count-config.schema';
|
|
8
|
+
import { AutoAggregationOptOut } from '../schemas/auto-aggregation-opt-out.schema';
|
|
8
9
|
export declare class CreateReportCommand {
|
|
9
10
|
readonly projectId: string;
|
|
10
11
|
readonly userId: string;
|
|
@@ -21,5 +22,6 @@ export declare class CreateReportCommand {
|
|
|
21
22
|
readonly aggregationConfig?: (AggregationConfig | null) | undefined;
|
|
22
23
|
readonly dateTruncConfig?: (DateTruncConfig | null) | undefined;
|
|
23
24
|
readonly uniqueCountConfig?: UniqueCountConfig | undefined;
|
|
24
|
-
|
|
25
|
+
readonly autoAggregationOptOut?: AutoAggregationOptOut | undefined;
|
|
26
|
+
constructor(projectId: string, userId: string, title: string, dataMartId: string, dataDestinationId: string, destinationConfig: DataDestinationConfig, ownerIds?: string[] | undefined, roles?: string[], columnConfig?: ReportColumnConfig | undefined, filterConfig?: (FilterConfig | null) | undefined, sortConfig?: (SortConfig | null) | undefined, limitConfig?: number | null | undefined, aggregationConfig?: (AggregationConfig | null) | undefined, dateTruncConfig?: (DateTruncConfig | null) | undefined, uniqueCountConfig?: UniqueCountConfig | undefined, autoAggregationOptOut?: AutoAggregationOptOut | undefined);
|
|
25
27
|
}
|
|
@@ -17,7 +17,8 @@ class CreateReportCommand {
|
|
|
17
17
|
aggregationConfig;
|
|
18
18
|
dateTruncConfig;
|
|
19
19
|
uniqueCountConfig;
|
|
20
|
-
|
|
20
|
+
autoAggregationOptOut;
|
|
21
|
+
constructor(projectId, userId, title, dataMartId, dataDestinationId, destinationConfig, ownerIds, roles = [], columnConfig, filterConfig, sortConfig, limitConfig, aggregationConfig, dateTruncConfig, uniqueCountConfig, autoAggregationOptOut) {
|
|
21
22
|
this.projectId = projectId;
|
|
22
23
|
this.userId = userId;
|
|
23
24
|
this.title = title;
|
|
@@ -33,6 +34,7 @@ class CreateReportCommand {
|
|
|
33
34
|
this.aggregationConfig = aggregationConfig;
|
|
34
35
|
this.dateTruncConfig = dateTruncConfig;
|
|
35
36
|
this.uniqueCountConfig = uniqueCountConfig;
|
|
37
|
+
this.autoAggregationOptOut = autoAggregationOptOut;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
exports.CreateReportCommand = CreateReportCommand;
|
|
@@ -5,6 +5,7 @@ import { DataMartStatus } from '../../enums/data-mart-status.enum';
|
|
|
5
5
|
import { DataStorageType } from '../../data-storage-types/enums/data-storage-type.enum';
|
|
6
6
|
import { ContextSummary } from '../../utils/extract-context-summaries';
|
|
7
7
|
import { SourceDataLastUpdatedSummary } from '../schemas/source-data-last-updated.schema';
|
|
8
|
+
import { DataMartIcon } from '../../enums/data-mart-icon.enum';
|
|
8
9
|
export declare class DataMartListItemDto {
|
|
9
10
|
readonly id: string;
|
|
10
11
|
readonly title: string;
|
|
@@ -25,5 +26,6 @@ export declare class DataMartListItemDto {
|
|
|
25
26
|
readonly availableForReporting: boolean;
|
|
26
27
|
readonly availableForMaintenance: boolean;
|
|
27
28
|
readonly dataLastUpdated: SourceDataLastUpdatedSummary | null;
|
|
28
|
-
|
|
29
|
+
readonly icon: DataMartIcon | null;
|
|
30
|
+
constructor(id: string, title: string, status: DataMartStatus, storageType: DataStorageType, storageTitle: string, createdAt: Date, modifiedAt: Date, description?: string | null, definitionType?: (DataMartDefinitionType | null) | undefined, definition?: DataMartDefinition | undefined, triggersCount?: number, reportsCount?: number, createdByUser?: UserProjectionDto | null, businessOwnerUsers?: UserProjectionDto[], technicalOwnerUsers?: UserProjectionDto[], contexts?: ContextSummary[], availableForReporting?: boolean, availableForMaintenance?: boolean, dataLastUpdated?: SourceDataLastUpdatedSummary | null, icon?: DataMartIcon | null);
|
|
29
31
|
}
|
|
@@ -21,7 +21,8 @@ class DataMartListItemDto {
|
|
|
21
21
|
availableForReporting;
|
|
22
22
|
availableForMaintenance;
|
|
23
23
|
dataLastUpdated;
|
|
24
|
-
|
|
24
|
+
icon;
|
|
25
|
+
constructor(id, title, status, storageType, storageTitle, createdAt, modifiedAt, description = null, definitionType, definition, triggersCount = 0, reportsCount = 0, createdByUser = null, businessOwnerUsers = [], technicalOwnerUsers = [], contexts = [], availableForReporting = true, availableForMaintenance = false, dataLastUpdated = null, icon = null) {
|
|
25
26
|
this.id = id;
|
|
26
27
|
this.title = title;
|
|
27
28
|
this.status = status;
|
|
@@ -41,6 +42,7 @@ class DataMartListItemDto {
|
|
|
41
42
|
this.availableForReporting = availableForReporting;
|
|
42
43
|
this.availableForMaintenance = availableForMaintenance;
|
|
43
44
|
this.dataLastUpdated = dataLastUpdated;
|
|
45
|
+
this.icon = icon;
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
exports.DataMartListItemDto = DataMartListItemDto;
|
|
@@ -8,8 +8,10 @@ import { ConnectorState as ConnectorStateData } from '../../connector-types/inte
|
|
|
8
8
|
import { BlendedFieldsConfig } from '../schemas/blended-fields-config.schema';
|
|
9
9
|
import { ContextSummary } from '../../utils/extract-context-summaries';
|
|
10
10
|
import { SourceDataLastUpdated } from '../schemas/source-data-last-updated.schema';
|
|
11
|
+
import { DataMartIcon } from '../../enums/data-mart-icon.enum';
|
|
11
12
|
export declare class DataMartDto {
|
|
12
13
|
readonly id: string;
|
|
14
|
+
readonly projectId: string;
|
|
13
15
|
readonly title: string;
|
|
14
16
|
readonly status: DataMartStatus;
|
|
15
17
|
readonly storage: DataStorageDto;
|
|
@@ -30,5 +32,6 @@ export declare class DataMartDto {
|
|
|
30
32
|
readonly blendedFieldsConfig?: BlendedFieldsConfig | undefined;
|
|
31
33
|
readonly contexts: ContextSummary[];
|
|
32
34
|
readonly dataLastUpdated: SourceDataLastUpdated | null;
|
|
33
|
-
|
|
35
|
+
readonly icon: DataMartIcon | null;
|
|
36
|
+
constructor(id: string, projectId: string, title: string, status: DataMartStatus, storage: DataStorageDto, createdAt: Date, modifiedAt: Date, definitionType?: DataMartDefinitionType | undefined, definition?: DataMartDefinition | undefined, description?: string | undefined, schema?: DataMartSchema | undefined, connectorState?: ConnectorStateData | undefined, triggersCount?: number, reportsCount?: number, createdByUser?: UserProjectionDto | null, businessOwnerUsers?: UserProjectionDto[], technicalOwnerUsers?: UserProjectionDto[], availableForReporting?: boolean, availableForMaintenance?: boolean, blendedFieldsConfig?: BlendedFieldsConfig | undefined, contexts?: ContextSummary[], dataLastUpdated?: SourceDataLastUpdated | null, icon?: DataMartIcon | null);
|
|
34
37
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DataMartDto = void 0;
|
|
4
4
|
class DataMartDto {
|
|
5
5
|
id;
|
|
6
|
+
projectId;
|
|
6
7
|
title;
|
|
7
8
|
status;
|
|
8
9
|
storage;
|
|
@@ -23,8 +24,10 @@ class DataMartDto {
|
|
|
23
24
|
blendedFieldsConfig;
|
|
24
25
|
contexts;
|
|
25
26
|
dataLastUpdated;
|
|
26
|
-
|
|
27
|
+
icon;
|
|
28
|
+
constructor(id, projectId, title, status, storage, createdAt, modifiedAt, definitionType, definition, description, schema, connectorState, triggersCount = 0, reportsCount = 0, createdByUser = null, businessOwnerUsers = [], technicalOwnerUsers = [], availableForReporting = true, availableForMaintenance = true, blendedFieldsConfig, contexts = [], dataLastUpdated = null, icon = null) {
|
|
27
29
|
this.id = id;
|
|
30
|
+
this.projectId = projectId;
|
|
28
31
|
this.title = title;
|
|
29
32
|
this.status = status;
|
|
30
33
|
this.storage = storage;
|
|
@@ -45,6 +48,7 @@ class DataMartDto {
|
|
|
45
48
|
this.blendedFieldsConfig = blendedFieldsConfig;
|
|
46
49
|
this.contexts = contexts;
|
|
47
50
|
this.dataLastUpdated = dataLastUpdated;
|
|
51
|
+
this.icon = icon;
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
exports.DataMartDto = DataMartDto;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DataMartStatus } from '../../enums/data-mart-status.enum';
|
|
2
|
+
import { DataMartIcon } from '../../enums/data-mart-icon.enum';
|
|
2
3
|
import { DataMartRelationshipGraphEdgeDto } from './data-mart-relationship-graph-edge.dto';
|
|
3
4
|
import { SourceDataLastUpdatedSummary } from '../schemas/source-data-last-updated.schema';
|
|
4
5
|
export interface ModelCanvasNodeDto {
|
|
@@ -6,7 +7,10 @@ export interface ModelCanvasNodeDto {
|
|
|
6
7
|
title: string;
|
|
7
8
|
status: DataMartStatus;
|
|
8
9
|
description: string | null;
|
|
10
|
+
icon: DataMartIcon | null;
|
|
9
11
|
fieldCount: number;
|
|
12
|
+
triggersCount: number;
|
|
13
|
+
reportsCount: number;
|
|
10
14
|
dataLastUpdated: SourceDataLastUpdatedSummary | null;
|
|
11
15
|
}
|
|
12
16
|
export interface ModelCanvasDataMartsDto {
|
|
@@ -7,6 +7,7 @@ import { SortConfig } from '../schemas/sort-config.schema';
|
|
|
7
7
|
import { AggregationConfig } from '../schemas/aggregation-config.schema';
|
|
8
8
|
import { DateTruncConfig } from '../schemas/date-trunc-config.schema';
|
|
9
9
|
import { UniqueCountConfig } from '../schemas/unique-count-config.schema';
|
|
10
|
+
import { AutoAggregationOptOut } from '../schemas/auto-aggregation-opt-out.schema';
|
|
10
11
|
export interface ReportLikeReadPlan {
|
|
11
12
|
dataMart: DataMart;
|
|
12
13
|
columnConfig?: ReportColumnConfig;
|
|
@@ -17,6 +18,7 @@ export interface ReportLikeReadPlan {
|
|
|
17
18
|
groupRestriction?: RoutedGroupRestriction;
|
|
18
19
|
dateTruncConfig?: DateTruncConfig;
|
|
19
20
|
uniqueCountConfig?: UniqueCountConfig;
|
|
21
|
+
autoAggregationOptOut?: AutoAggregationOptOut;
|
|
20
22
|
distinct?: boolean;
|
|
21
23
|
}
|
|
22
24
|
export type ReportLike = Report | ReportLikeReadPlan;
|
|
@@ -8,6 +8,7 @@ import { SortConfig } from '../schemas/sort-config.schema';
|
|
|
8
8
|
import { AggregationConfig } from '../schemas/aggregation-config.schema';
|
|
9
9
|
import { DateTruncConfig } from '../schemas/date-trunc-config.schema';
|
|
10
10
|
import { UniqueCountConfig } from '../schemas/unique-count-config.schema';
|
|
11
|
+
import { AutoAggregationOptOut } from '../schemas/auto-aggregation-opt-out.schema';
|
|
11
12
|
import { UserProjectionDto } from '../../../idp/dto/domain/user-projection.dto';
|
|
12
13
|
export declare class ReportDto {
|
|
13
14
|
readonly id: string;
|
|
@@ -33,5 +34,6 @@ export declare class ReportDto {
|
|
|
33
34
|
readonly aggregationConfig?: (AggregationConfig | null) | undefined;
|
|
34
35
|
readonly dateTruncConfig?: (DateTruncConfig | null) | undefined;
|
|
35
36
|
readonly uniqueCountConfig?: UniqueCountConfig | undefined;
|
|
36
|
-
|
|
37
|
+
readonly autoAggregationOptOut?: AutoAggregationOptOut | undefined;
|
|
38
|
+
constructor(id: string, title: string, dataMart: DataMartDto, dataDestinationAccess: DataDestinationDto, destinationConfig: DataDestinationConfig, createdAt: Date, modifiedAt: Date, lastRunAt?: Date | undefined, lastRunError?: string | undefined, lastRunStatus?: ReportRunStatus | undefined, runsCount?: number, createdByUser?: UserProjectionDto | null, ownerUsers?: UserProjectionDto[], columnConfig?: ReportColumnConfig | undefined, filterConfig?: (FilterConfig | null) | undefined, sortConfig?: (SortConfig | null) | undefined, limitConfig?: number | null | undefined, canRun?: boolean, canManageTriggers?: boolean, canEditConfig?: boolean, aggregationConfig?: (AggregationConfig | null) | undefined, dateTruncConfig?: (DateTruncConfig | null) | undefined, uniqueCountConfig?: UniqueCountConfig | undefined, autoAggregationOptOut?: AutoAggregationOptOut | undefined);
|
|
37
39
|
}
|
|
@@ -25,7 +25,8 @@ class ReportDto {
|
|
|
25
25
|
aggregationConfig;
|
|
26
26
|
dateTruncConfig;
|
|
27
27
|
uniqueCountConfig;
|
|
28
|
-
|
|
28
|
+
autoAggregationOptOut;
|
|
29
|
+
constructor(id, title, dataMart, dataDestinationAccess, destinationConfig, createdAt, modifiedAt, lastRunAt, lastRunError, lastRunStatus, runsCount = 0, createdByUser = null, ownerUsers = [], columnConfig, filterConfig, sortConfig, limitConfig, canRun = false, canManageTriggers = false, canEditConfig = false, aggregationConfig, dateTruncConfig, uniqueCountConfig, autoAggregationOptOut) {
|
|
29
30
|
this.id = id;
|
|
30
31
|
this.title = title;
|
|
31
32
|
this.dataMart = dataMart;
|
|
@@ -49,6 +50,7 @@ class ReportDto {
|
|
|
49
50
|
this.aggregationConfig = aggregationConfig;
|
|
50
51
|
this.dateTruncConfig = dateTruncConfig;
|
|
51
52
|
this.uniqueCountConfig = uniqueCountConfig;
|
|
53
|
+
this.autoAggregationOptOut = autoAggregationOptOut;
|
|
52
54
|
}
|
|
53
55
|
}
|
|
54
56
|
exports.ReportDto = ReportDto;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataMartIcon } from '../../enums/data-mart-icon.enum';
|
|
2
|
+
export declare class UpdateDataMartIconCommand {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly projectId: string;
|
|
5
|
+
readonly icon: DataMartIcon | null;
|
|
6
|
+
readonly userId: string;
|
|
7
|
+
readonly roles: string[];
|
|
8
|
+
constructor(id: string, projectId: string, icon: DataMartIcon | null, userId?: string, roles?: string[]);
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpdateDataMartIconCommand = void 0;
|
|
4
|
+
class UpdateDataMartIconCommand {
|
|
5
|
+
id;
|
|
6
|
+
projectId;
|
|
7
|
+
icon;
|
|
8
|
+
userId;
|
|
9
|
+
roles;
|
|
10
|
+
constructor(id, projectId, icon, userId = '', roles = []) {
|
|
11
|
+
this.id = id;
|
|
12
|
+
this.projectId = projectId;
|
|
13
|
+
this.icon = icon;
|
|
14
|
+
this.userId = userId;
|
|
15
|
+
this.roles = roles;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.UpdateDataMartIconCommand = UpdateDataMartIconCommand;
|
|
19
|
+
//# sourceMappingURL=update-data-mart-icon.command.js.map
|
|
@@ -5,6 +5,7 @@ import { SortConfig } from '../schemas/sort-config.schema';
|
|
|
5
5
|
import { AggregationConfig } from '../schemas/aggregation-config.schema';
|
|
6
6
|
import { DateTruncConfig } from '../schemas/date-trunc-config.schema';
|
|
7
7
|
import { UniqueCountConfig } from '../schemas/unique-count-config.schema';
|
|
8
|
+
import { AutoAggregationOptOut } from '../schemas/auto-aggregation-opt-out.schema';
|
|
8
9
|
export declare class UpdateReportCommand {
|
|
9
10
|
readonly id: string;
|
|
10
11
|
readonly projectId: string;
|
|
@@ -21,5 +22,6 @@ export declare class UpdateReportCommand {
|
|
|
21
22
|
readonly aggregationConfig?: (AggregationConfig | null) | undefined;
|
|
22
23
|
readonly dateTruncConfig?: (DateTruncConfig | null) | undefined;
|
|
23
24
|
readonly uniqueCountConfig?: UniqueCountConfig | undefined;
|
|
24
|
-
|
|
25
|
+
readonly autoAggregationOptOut?: AutoAggregationOptOut | undefined;
|
|
26
|
+
constructor(id: string, projectId: string, userId: string, roles: string[], title: string, dataDestinationId: string, destinationConfig: DataDestinationConfig, ownerIds?: string[] | undefined, columnConfig?: ReportColumnConfig | undefined, filterConfig?: (FilterConfig | null) | undefined, sortConfig?: (SortConfig | null) | undefined, limitConfig?: number | null | undefined, aggregationConfig?: (AggregationConfig | null) | undefined, dateTruncConfig?: (DateTruncConfig | null) | undefined, uniqueCountConfig?: UniqueCountConfig | undefined, autoAggregationOptOut?: AutoAggregationOptOut | undefined);
|
|
25
27
|
}
|
|
@@ -17,7 +17,8 @@ class UpdateReportCommand {
|
|
|
17
17
|
aggregationConfig;
|
|
18
18
|
dateTruncConfig;
|
|
19
19
|
uniqueCountConfig;
|
|
20
|
-
|
|
20
|
+
autoAggregationOptOut;
|
|
21
|
+
constructor(id, projectId, userId, roles, title, dataDestinationId, destinationConfig, ownerIds, columnConfig, filterConfig, sortConfig, limitConfig, aggregationConfig, dateTruncConfig, uniqueCountConfig, autoAggregationOptOut) {
|
|
21
22
|
this.id = id;
|
|
22
23
|
this.projectId = projectId;
|
|
23
24
|
this.userId = userId;
|
|
@@ -33,6 +34,7 @@ class UpdateReportCommand {
|
|
|
33
34
|
this.aggregationConfig = aggregationConfig;
|
|
34
35
|
this.dateTruncConfig = dateTruncConfig;
|
|
35
36
|
this.uniqueCountConfig = uniqueCountConfig;
|
|
37
|
+
this.autoAggregationOptOut = autoAggregationOptOut;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
40
|
exports.UpdateReportCommand = UpdateReportCommand;
|