@researchdatabox/redbox-core 5.0.4 → 5.1.0-beta.12568
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/AttachmentStagingIdentity.d.ts +3 -0
- package/dist/AttachmentStagingIdentity.d.ts.map +1 -0
- package/dist/AttachmentStagingIdentity.js +10 -0
- package/dist/CoreController.d.ts +7 -3
- package/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +85 -3
- package/dist/DatastreamService.d.ts +5 -1
- package/dist/DatastreamService.d.ts.map +1 -1
- package/dist/HarvestRunService.d.ts +4 -3
- package/dist/HarvestRunService.d.ts.map +1 -1
- package/dist/HarvestRunService.js +1 -1
- package/dist/RecordConcurrencyObservability.d.ts +51 -0
- package/dist/RecordConcurrencyObservability.d.ts.map +1 -0
- package/dist/RecordConcurrencyObservability.js +136 -0
- package/dist/RecordEntityTag.d.ts +31 -0
- package/dist/RecordEntityTag.d.ts.map +1 -0
- package/dist/RecordEntityTag.js +101 -0
- package/dist/RecordFormFingerprint.d.ts +7 -0
- package/dist/RecordFormFingerprint.d.ts.map +1 -0
- package/dist/RecordFormFingerprint.js +106 -0
- package/dist/RecordHttpConcurrency.d.ts +60 -0
- package/dist/RecordHttpConcurrency.d.ts.map +1 -0
- package/dist/RecordHttpConcurrency.js +181 -0
- package/dist/RecordSaveResponse.d.ts +219 -0
- package/dist/RecordSaveResponse.d.ts.map +1 -0
- package/dist/RecordSaveResponse.js +639 -0
- package/dist/RecordStorageConcurrency.d.ts +49 -0
- package/dist/RecordStorageConcurrency.d.ts.map +1 -0
- package/dist/RecordStorageConcurrency.js +103 -0
- package/dist/RecordWriteClassification.d.ts +12 -0
- package/dist/RecordWriteClassification.d.ts.map +1 -0
- package/dist/RecordWriteClassification.js +70 -0
- package/dist/RecordsService.d.ts +109 -13
- package/dist/RecordsService.d.ts.map +1 -1
- package/dist/RecordsService.js +44 -1
- package/dist/SearchService.d.ts +2 -1
- package/dist/SearchService.d.ts.map +1 -1
- package/dist/StorageService.d.ts +49 -9
- package/dist/StorageService.d.ts.map +1 -1
- package/dist/StorageService.js +19 -1
- package/dist/StorageServiceResponse.d.ts +22 -1
- package/dist/StorageServiceResponse.d.ts.map +1 -1
- package/dist/StorageServiceResponse.js +22 -4
- package/dist/action-execution/audit.d.ts +41 -0
- package/dist/action-execution/audit.d.ts.map +1 -0
- package/dist/action-execution/audit.js +122 -0
- package/dist/action-execution/executor.d.ts +24 -0
- package/dist/action-execution/executor.d.ts.map +1 -0
- package/dist/action-execution/executor.js +435 -0
- package/dist/action-execution/failure.d.ts +49 -0
- package/dist/action-execution/failure.d.ts.map +1 -0
- package/dist/action-execution/failure.js +129 -0
- package/dist/action-execution/index.d.ts +7 -0
- package/dist/action-execution/index.d.ts.map +1 -0
- package/dist/action-execution/index.js +23 -0
- package/dist/action-execution/legacy-result.d.ts +21 -0
- package/dist/action-execution/legacy-result.d.ts.map +1 -0
- package/dist/action-execution/legacy-result.js +70 -0
- package/dist/action-execution/policy.d.ts +12 -0
- package/dist/action-execution/policy.d.ts.map +1 -0
- package/dist/action-execution/policy.js +138 -0
- package/dist/action-execution/types.d.ts +121 -0
- package/dist/action-execution/types.d.ts.map +1 -0
- package/dist/action-execution/types.js +22 -0
- package/dist/api-routes/groups/branding.d.ts +8 -0
- package/dist/api-routes/groups/branding.d.ts.map +1 -1
- package/dist/api-routes/groups/branding.js +86 -11
- package/dist/api-routes/groups/dashboard-config.d.ts +12 -9
- package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
- package/dist/api-routes/groups/dashboard-config.js +136 -73
- package/dist/api-routes/groups/forms.d.ts.map +1 -1
- package/dist/api-routes/groups/forms.js +10 -2
- package/dist/api-routes/groups/record-schemas.d.ts +5 -0
- package/dist/api-routes/groups/record-schemas.d.ts.map +1 -0
- package/dist/api-routes/groups/record-schemas.js +181 -0
- package/dist/api-routes/groups/records.d.ts +1 -0
- package/dist/api-routes/groups/records.d.ts.map +1 -1
- package/dist/api-routes/groups/records.js +141 -26
- package/dist/api-routes/index.d.ts +3 -0
- package/dist/api-routes/index.d.ts.map +1 -1
- package/dist/api-routes/index.js +4 -1
- package/dist/api-routes/openapi.d.ts.map +1 -1
- package/dist/api-routes/openapi.js +7 -5
- package/dist/api-routes/record-schema-openapi.d.ts +26 -0
- package/dist/api-routes/record-schema-openapi.d.ts.map +1 -0
- package/dist/api-routes/record-schema-openapi.js +38 -0
- package/dist/api-routes/record-schema-response.d.ts +40 -0
- package/dist/api-routes/record-schema-response.d.ts.map +1 -0
- package/dist/api-routes/record-schema-response.js +89 -0
- package/dist/api-routes/request-extraction.d.ts.map +1 -1
- package/dist/api-routes/request-extraction.js +10 -8
- package/dist/api-routes/route-factory.d.ts.map +1 -1
- package/dist/api-routes/route-factory.js +2 -1
- package/dist/api-routes/route-registry.d.ts.map +1 -1
- package/dist/api-routes/route-registry.js +3 -1
- package/dist/api-routes/schemas/common.d.ts +36 -0
- package/dist/api-routes/schemas/common.d.ts.map +1 -1
- package/dist/api-routes/schemas/common.js +95 -5
- package/dist/api-routes/schemas/responses.d.ts +1424 -1
- package/dist/api-routes/schemas/responses.d.ts.map +1 -1
- package/dist/api-routes/schemas/responses.js +382 -60
- package/dist/api-routes/types.d.ts +1 -0
- package/dist/api-routes/types.d.ts.map +1 -1
- package/dist/api-routes/validation.d.ts +5 -1
- package/dist/api-routes/validation.d.ts.map +1 -1
- package/dist/api-routes/validation.js +14 -15
- package/dist/bootstrap.d.ts +3 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +58 -41
- package/dist/config/agendaQueue.config.d.ts +3 -0
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +29 -2
- package/dist/config/branding.config.d.ts +13 -0
- package/dist/config/branding.config.d.ts.map +1 -1
- package/dist/config/branding.config.js +34 -2
- package/dist/config/brandingConfigurationDefaults.config.d.ts +4 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +42 -3
- package/dist/config/index.d.ts +12 -4
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -4
- package/dist/config/policies.config.d.ts.map +1 -1
- package/dist/config/policies.config.js +37 -23
- package/dist/config/raid.config.d.ts +7 -4
- package/dist/config/raid.config.d.ts.map +1 -1
- package/dist/config/raid.config.js +21 -35
- package/dist/config/record.config.d.ts +3 -0
- package/dist/config/record.config.d.ts.map +1 -1
- package/dist/config/record.config.js +37 -35
- package/dist/config/recordSchema.config.d.ts +68 -0
- package/dist/config/recordSchema.config.d.ts.map +1 -0
- package/dist/config/recordSchema.config.js +173 -0
- package/dist/config/recordValidation.config.d.ts +19 -0
- package/dist/config/recordValidation.config.d.ts.map +1 -0
- package/dist/config/recordValidation.config.js +10 -0
- package/dist/config/recordtype.config.d.ts +32 -9
- package/dist/config/recordtype.config.d.ts.map +1 -1
- package/dist/config/recordtype.config.js +4 -7
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +135 -53
- package/dist/config/workflow.config.d.ts +6 -0
- package/dist/config/workflow.config.d.ts.map +1 -1
- package/dist/config/workflow.config.js +1 -1
- package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
- package/dist/configmodels/AdminSidebarConfig.js +4 -2
- package/dist/configmodels/ConfigModels.d.ts +1 -1
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +26 -9
- package/dist/configmodels/DashboardFieldCatalogue.d.ts +67 -0
- package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +1 -0
- package/dist/configmodels/DashboardFieldCatalogue.js +174 -0
- package/dist/configmodels/DashboardSettings.d.ts +191 -0
- package/dist/configmodels/DashboardSettings.d.ts.map +1 -0
- package/dist/configmodels/DashboardSettings.js +705 -0
- package/dist/configmodels/FigsharePublishing.d.ts +1 -1
- package/dist/configmodels/OniPublishing.d.ts +205 -0
- package/dist/configmodels/OniPublishing.d.ts.map +1 -0
- package/dist/configmodels/OniPublishing.js +335 -0
- package/dist/configmodels/RaidPublishing.d.ts +97 -0
- package/dist/configmodels/RaidPublishing.d.ts.map +1 -0
- package/dist/configmodels/RaidPublishing.js +35 -0
- package/dist/configmodels/WebAnalytics.d.ts +55 -0
- package/dist/configmodels/WebAnalytics.d.ts.map +1 -0
- package/dist/configmodels/WebAnalytics.js +61 -0
- package/dist/controllers/AppConfigController.d.ts.map +1 -1
- package/dist/controllers/AppConfigController.js +4 -1
- package/dist/controllers/BrandingAppController.d.ts +29 -7
- package/dist/controllers/BrandingAppController.d.ts.map +1 -1
- package/dist/controllers/BrandingAppController.js +265 -69
- package/dist/controllers/BrandingController.d.ts +24 -1
- package/dist/controllers/BrandingController.d.ts.map +1 -1
- package/dist/controllers/BrandingController.js +173 -43
- package/dist/controllers/BrandingControllerSupport.d.ts +20 -0
- package/dist/controllers/BrandingControllerSupport.d.ts.map +1 -0
- package/dist/controllers/BrandingControllerSupport.js +80 -0
- package/dist/controllers/DashboardConfigController.d.ts +6 -2
- package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
- package/dist/controllers/DashboardConfigController.js +18 -4
- package/dist/controllers/DynamicAssetController.d.ts +7 -5
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +21 -12
- package/dist/controllers/RecordController.d.ts +45 -4
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +778 -345
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +4 -1
- package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
- package/dist/controllers/webservice/AdminController.js +4 -3
- package/dist/controllers/webservice/BrandingController.d.ts +26 -1
- package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
- package/dist/controllers/webservice/BrandingController.js +292 -116
- package/dist/controllers/webservice/DashboardConfigController.d.ts +25 -17
- package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
- package/dist/controllers/webservice/DashboardConfigController.js +90 -205
- package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/FormManagementController.js +37 -3
- package/dist/controllers/webservice/RecordController.d.ts +15 -1
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +647 -267
- package/dist/controllers/webservice/RecordSchemaController.d.ts +32 -0
- package/dist/controllers/webservice/RecordSchemaController.d.ts.map +1 -0
- package/dist/controllers/webservice/RecordSchemaController.js +356 -0
- package/dist/controllers/webservice/RecordTypeController.d.ts +6 -1
- package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordTypeController.js +21 -3
- package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
- package/dist/controllers/webservice/SearchController.js +7 -3
- package/dist/hooks/defineRedboxHook.d.ts +3 -0
- package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
- package/dist/hooks/defineRedboxHook.js +4 -1
- package/dist/index.d.ts +50 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +90 -2
- package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
- package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
- package/dist/loader/bootstrapShimRuntime.js +20 -12
- package/dist/loader/index.d.ts +9 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +93 -4
- package/dist/model/BrandingTypeface.d.ts +70 -0
- package/dist/model/BrandingTypeface.d.ts.map +1 -0
- package/dist/model/BrandingTypeface.js +116 -0
- package/dist/model/BuildResponse.d.ts +25 -11
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/model/BuildResponse.js +4 -3
- package/dist/model/DashboardTypeResponseModel.d.ts +6 -0
- package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
- package/dist/model/DashboardTypeResponseModel.js +7 -1
- package/dist/model/DashboardViewResponseModel.d.ts +5 -1
- package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
- package/dist/model/DashboardViewResponseModel.js +6 -3
- package/dist/model/RBValidationError.d.ts +17 -0
- package/dist/model/RBValidationError.d.ts.map +1 -1
- package/dist/model/RBValidationError.js +37 -1
- package/dist/model/RecordTypeResponseModel.d.ts +12 -4
- package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
- package/dist/model/RecordTypeResponseModel.js +11 -2
- package/dist/model/index.d.ts +5 -1
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +5 -2
- package/dist/model/record-contract.d.ts +42 -0
- package/dist/model/record-contract.d.ts.map +1 -0
- package/dist/model/record-contract.js +3 -0
- package/dist/model/storage/BrandingModel.d.ts +7 -0
- package/dist/model/storage/BrandingModel.d.ts.map +1 -1
- package/dist/model/storage/BrandingModel.js +7 -1
- package/dist/model/storage/DeletedRecordModel.d.ts +35 -0
- package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
- package/dist/model/storage/DeletedRecordModel.js +62 -1
- package/dist/model/storage/IntegrationAuditModel.d.ts +16 -2
- package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
- package/dist/model/storage/IntegrationAuditModel.js +15 -1
- package/dist/model/storage/RecordAuditModel.d.ts +11 -1
- package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
- package/dist/model/storage/RecordAuditModel.js +8 -2
- package/dist/model/storage/RecordModel.d.ts +8 -2
- package/dist/model/storage/RecordModel.d.ts.map +1 -1
- package/dist/model/storage/RecordTypeModel.d.ts +6 -0
- package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
- package/dist/model/storage/RecordTypeModel.js +4 -1
- package/dist/model/storage/index.d.ts +12 -10
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +24 -2
- package/dist/model/storage/record-schema.d.ts +115 -0
- package/dist/model/storage/record-schema.d.ts.map +1 -0
- package/dist/model/storage/record-schema.js +3 -0
- package/dist/policies/checkAuth.d.ts +2 -6
- package/dist/policies/checkAuth.d.ts.map +1 -1
- package/dist/policies/checkAuth.js +32 -9
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
- package/dist/policies/contentSecurityPolicy.js +85 -2
- package/dist/policies/index.d.ts +3 -2
- package/dist/policies/index.d.ts.map +1 -1
- package/dist/policies/index.js +4 -2
- package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
- package/dist/policies/validateApiContractRequest.js +49 -11
- package/dist/record-contract/ajv-error-mapper.d.ts +34 -0
- package/dist/record-contract/ajv-error-mapper.d.ts.map +1 -0
- package/dist/record-contract/ajv-error-mapper.js +153 -0
- package/dist/record-contract/canonical-json.d.ts +20 -0
- package/dist/record-contract/canonical-json.d.ts.map +1 -0
- package/dist/record-contract/canonical-json.js +126 -0
- package/dist/record-contract/codes.d.ts +36 -0
- package/dist/record-contract/codes.d.ts.map +1 -0
- package/dist/record-contract/codes.js +38 -0
- package/dist/record-contract/contributor-registry.d.ts +76 -0
- package/dist/record-contract/contributor-registry.d.ts.map +1 -0
- package/dist/record-contract/contributor-registry.js +126 -0
- package/dist/record-contract/core-contributors.d.ts +44 -0
- package/dist/record-contract/core-contributors.d.ts.map +1 -0
- package/dist/record-contract/core-contributors.js +395 -0
- package/dist/record-contract/deep-freeze.d.ts +3 -0
- package/dist/record-contract/deep-freeze.d.ts.map +1 -0
- package/dist/record-contract/deep-freeze.js +23 -0
- package/dist/record-contract/index.d.ts +13 -0
- package/dist/record-contract/index.d.ts.map +1 -0
- package/dist/record-contract/index.js +29 -0
- package/dist/record-contract/json-pointer.d.ts +20 -0
- package/dist/record-contract/json-pointer.d.ts.map +1 -0
- package/dist/record-contract/json-pointer.js +70 -0
- package/dist/record-contract/json-schema-renderer.d.ts +51 -0
- package/dist/record-contract/json-schema-renderer.d.ts.map +1 -0
- package/dist/record-contract/json-schema-renderer.js +450 -0
- package/dist/record-contract/record-contract-compiler.d.ts +42 -0
- package/dist/record-contract/record-contract-compiler.d.ts.map +1 -0
- package/dist/record-contract/record-contract-compiler.js +775 -0
- package/dist/record-contract/record-contract-context.d.ts +91 -0
- package/dist/record-contract/record-contract-context.d.ts.map +1 -0
- package/dist/record-contract/record-contract-context.js +39 -0
- package/dist/record-contract/record-json-schema-artifact.d.ts +74 -0
- package/dist/record-contract/record-json-schema-artifact.d.ts.map +1 -0
- package/dist/record-contract/record-json-schema-artifact.js +309 -0
- package/dist/record-contract/record-json-schema-etag.d.ts +15 -0
- package/dist/record-contract/record-json-schema-etag.d.ts.map +1 -0
- package/dist/record-contract/record-json-schema-etag.js +41 -0
- package/dist/record-contract/types.d.ts +151 -0
- package/dist/record-contract/types.d.ts.map +1 -0
- package/dist/record-contract/types.js +6 -0
- package/dist/services/AppConfigService.d.ts +6 -0
- package/dist/services/AppConfigService.d.ts.map +1 -1
- package/dist/services/AppConfigService.js +23 -1
- package/dist/services/AttachmentMetadataService.d.ts +58 -0
- package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
- package/dist/services/AttachmentMetadataService.js +643 -8
- package/dist/services/BrandingLogoService.d.ts +6 -1
- package/dist/services/BrandingLogoService.d.ts.map +1 -1
- package/dist/services/BrandingLogoService.js +77 -9
- package/dist/services/BrandingService.d.ts +171 -9
- package/dist/services/BrandingService.d.ts.map +1 -1
- package/dist/services/BrandingService.js +572 -68
- package/dist/services/BrandingThemeCssService.d.ts +17 -1
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
- package/dist/services/BrandingThemeCssService.js +71 -9
- package/dist/services/BrandingTypefaceService.d.ts +74 -0
- package/dist/services/BrandingTypefaceService.d.ts.map +1 -0
- package/dist/services/BrandingTypefaceService.js +359 -0
- package/dist/services/BrandingWoff2Inspector.d.ts +17 -0
- package/dist/services/BrandingWoff2Inspector.d.ts.map +1 -0
- package/dist/services/BrandingWoff2Inspector.js +402 -0
- package/dist/services/DashboardConfigService.d.ts +214 -54
- package/dist/services/DashboardConfigService.d.ts.map +1 -1
- package/dist/services/DashboardConfigService.js +829 -261
- package/dist/services/DashboardLegacyConversion.d.ts +82 -0
- package/dist/services/DashboardLegacyConversion.d.ts.map +1 -0
- package/dist/services/DashboardLegacyConversion.js +427 -0
- package/dist/services/DashboardTypesService.d.ts +15 -4
- package/dist/services/DashboardTypesService.d.ts.map +1 -1
- package/dist/services/DashboardTypesService.js +72 -139
- package/dist/services/DoiService.d.ts +1 -1
- package/dist/services/DoiService.d.ts.map +1 -1
- package/dist/services/DoiService.js +71 -45
- package/dist/services/FigshareService.d.ts.map +1 -1
- package/dist/services/FigshareService.js +8 -7
- package/dist/services/FormRecordConsistencyService.d.ts +8 -23
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
- package/dist/services/FormRecordConsistencyService.js +54 -70
- package/dist/services/FormsService.d.ts +91 -2
- package/dist/services/FormsService.d.ts.map +1 -1
- package/dist/services/FormsService.js +324 -64
- package/dist/services/HarvestRunService.d.ts +6 -3
- package/dist/services/HarvestRunService.d.ts.map +1 -1
- package/dist/services/HarvestRunService.js +161 -97
- package/dist/services/I18nEntriesService.d.ts +11 -11
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +71 -48
- package/dist/services/OniService.d.ts +19 -62
- package/dist/services/OniService.d.ts.map +1 -1
- package/dist/services/OniService.js +223 -691
- package/dist/services/RDMPService.d.ts +1 -1
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +5 -5
- package/dist/services/RaidService.d.ts +19 -61
- package/dist/services/RaidService.d.ts.map +1 -1
- package/dist/services/RaidService.js +191 -530
- package/dist/services/RecordSchemaService.d.ts +440 -0
- package/dist/services/RecordSchemaService.d.ts.map +1 -0
- package/dist/services/RecordSchemaService.js +3061 -0
- package/dist/services/RecordTypesService.d.ts +29 -0
- package/dist/services/RecordTypesService.d.ts.map +1 -1
- package/dist/services/RecordTypesService.js +106 -11
- package/dist/services/RecordValidationService.d.ts +340 -0
- package/dist/services/RecordValidationService.d.ts.map +1 -0
- package/dist/services/RecordValidationService.js +1898 -0
- package/dist/services/RecordsService.d.ts +317 -26
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +5145 -765
- package/dist/services/SolrSearchService.d.ts +1 -1
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +42 -12
- package/dist/services/StandardDatastreamService.d.ts +4 -0
- package/dist/services/StandardDatastreamService.d.ts.map +1 -1
- package/dist/services/StandardDatastreamService.js +106 -44
- package/dist/services/TriggerService.d.ts.map +1 -1
- package/dist/services/TriggerService.js +54 -30
- package/dist/services/UsersService.d.ts +2 -1
- package/dist/services/UsersService.d.ts.map +1 -1
- package/dist/services/UsersService.js +364 -283
- package/dist/services/VocabularyService.d.ts +2 -0
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +61 -2
- package/dist/services/WorkflowStepsService.d.ts +11 -0
- package/dist/services/WorkflowStepsService.d.ts.map +1 -1
- package/dist/services/WorkflowStepsService.js +32 -3
- package/dist/services/WorkspaceService.d.ts +2 -2
- package/dist/services/WorkspaceService.d.ts.map +1 -1
- package/dist/services/WorkspaceService.js +5 -5
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +3 -20
- package/dist/services/doi-v2/config.d.ts +1 -0
- package/dist/services/doi-v2/config.d.ts.map +1 -1
- package/dist/services/doi-v2/config.js +13 -5
- package/dist/services/doi-v2/runtime.d.ts.map +1 -1
- package/dist/services/doi-v2/runtime.js +14 -54
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +3 -20
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
- package/dist/services/figshare-v2/runtime.js +11 -58
- package/dist/services/figshare-v2/worker.d.ts.map +1 -1
- package/dist/services/figshare-v2/worker.js +254 -74
- package/dist/services/form-record-access-user.d.ts +3 -0
- package/dist/services/form-record-access-user.d.ts.map +1 -0
- package/dist/services/form-record-access-user.js +23 -0
- package/dist/services/index.d.ts +9 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +45 -3
- package/dist/services/integration-v2/bindings.d.ts +3 -0
- package/dist/services/integration-v2/bindings.d.ts.map +1 -0
- package/dist/services/integration-v2/bindings.js +91 -0
- package/dist/services/integration-v2/runtime.d.ts +3 -0
- package/dist/services/integration-v2/runtime.d.ts.map +1 -0
- package/dist/services/integration-v2/runtime.js +50 -0
- package/dist/services/internal-record-schema-authorization.d.ts +8 -0
- package/dist/services/internal-record-schema-authorization.d.ts.map +1 -0
- package/dist/services/internal-record-schema-authorization.js +16 -0
- package/dist/services/oni-v2/audit.d.ts +19 -0
- package/dist/services/oni-v2/audit.d.ts.map +1 -0
- package/dist/services/oni-v2/audit.js +50 -0
- package/dist/services/oni-v2/bindings.d.ts +7 -0
- package/dist/services/oni-v2/bindings.d.ts.map +1 -0
- package/dist/services/oni-v2/bindings.js +31 -0
- package/dist/services/oni-v2/config.d.ts +12 -0
- package/dist/services/oni-v2/config.d.ts.map +1 -0
- package/dist/services/oni-v2/config.js +134 -0
- package/dist/services/oni-v2/context.d.ts +3 -0
- package/dist/services/oni-v2/context.d.ts.map +1 -0
- package/dist/services/oni-v2/context.js +17 -0
- package/dist/services/oni-v2/crate.d.ts +17 -0
- package/dist/services/oni-v2/crate.d.ts.map +1 -0
- package/dist/services/oni-v2/crate.js +504 -0
- package/dist/services/oni-v2/flydriveOcflStore.d.ts +69 -0
- package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +1 -0
- package/dist/services/oni-v2/flydriveOcflStore.js +325 -0
- package/dist/services/oni-v2/ingestion.d.ts +37 -0
- package/dist/services/oni-v2/ingestion.d.ts.map +1 -0
- package/dist/services/oni-v2/ingestion.js +91 -0
- package/dist/services/oni-v2/mapping.d.ts +17 -0
- package/dist/services/oni-v2/mapping.d.ts.map +1 -0
- package/dist/services/oni-v2/mapping.js +137 -0
- package/dist/services/oni-v2/repository.d.ts +9 -0
- package/dist/services/oni-v2/repository.d.ts.map +1 -0
- package/dist/services/oni-v2/repository.js +180 -0
- package/dist/services/oni-v2/runtime.d.ts +23 -0
- package/dist/services/oni-v2/runtime.d.ts.map +1 -0
- package/dist/services/oni-v2/runtime.js +121 -0
- package/dist/services/oni-v2/templating.d.ts +11 -0
- package/dist/services/oni-v2/templating.d.ts.map +1 -0
- package/dist/services/oni-v2/templating.js +27 -0
- package/dist/services/oni-v2/types.d.ts +100 -0
- package/dist/services/oni-v2/types.d.ts.map +1 -0
- package/dist/services/oni-v2/types.js +3 -0
- package/dist/services/raid-v2/audit.d.ts +10 -0
- package/dist/services/raid-v2/audit.d.ts.map +1 -0
- package/dist/services/raid-v2/audit.js +29 -0
- package/dist/services/raid-v2/errors.d.ts +85 -0
- package/dist/services/raid-v2/errors.d.ts.map +1 -0
- package/dist/services/raid-v2/errors.js +36 -0
- package/dist/services/raid-v2/http.d.ts +4 -0
- package/dist/services/raid-v2/http.d.ts.map +1 -0
- package/dist/services/raid-v2/http.js +84 -0
- package/dist/services/raid-v2/logger.d.ts +8 -0
- package/dist/services/raid-v2/logger.d.ts.map +1 -0
- package/dist/services/raid-v2/logger.js +30 -0
- package/dist/services/raid-v2/mapping.d.ts +9 -0
- package/dist/services/raid-v2/mapping.d.ts.map +1 -0
- package/dist/services/raid-v2/mapping.js +168 -0
- package/dist/services/raid-v2/runtime.d.ts +5 -0
- package/dist/services/raid-v2/runtime.d.ts.map +1 -0
- package/dist/services/raid-v2/runtime.js +135 -0
- package/dist/services/raid-v2/tags.d.ts +11 -0
- package/dist/services/raid-v2/tags.d.ts.map +1 -0
- package/dist/services/raid-v2/tags.js +12 -0
- package/dist/services/raid-v2/types.d.ts +66 -0
- package/dist/services/raid-v2/types.d.ts.map +1 -0
- package/dist/services/raid-v2/types.js +3 -0
- package/dist/services/record-hooks/coordinator.d.ts +64 -0
- package/dist/services/record-hooks/coordinator.d.ts.map +1 -0
- package/dist/services/record-hooks/coordinator.js +276 -0
- package/dist/visitor/client.visitor.d.ts +6 -0
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +59 -14
- package/dist/visitor/construct.visitor.d.ts +27 -1
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +265 -177
- package/dist/visitor/context-variables.visitor.d.ts +3 -1
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +15 -1
- package/dist/visitor/data-value.visitor.d.ts +6 -0
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +10 -1
- package/dist/visitor/json-type-def.visitor.d.ts +6 -0
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +10 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +11 -0
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +228 -133
- package/dist/visitor/related-object-data-inline.visitor.d.ts +31 -0
- package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -0
- package/dist/visitor/related-object-data-inline.visitor.js +96 -0
- package/dist/visitor/template.visitor.d.ts +17 -2
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +60 -22
- package/dist/visitor/validator.visitor.d.ts +49 -7
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +275 -178
- package/dist/waterline-models/AttachmentMetadata.d.ts +22 -0
- package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
- package/dist/waterline-models/AttachmentMetadata.js +147 -3
- package/dist/waterline-models/BrandingConfig.d.ts +7 -0
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfig.js +16 -1
- package/dist/waterline-models/BrandingConfigHistory.d.ts +11 -2
- package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfigHistory.js +21 -1
- package/dist/waterline-models/DashboardConfiguration.d.ts +29 -0
- package/dist/waterline-models/DashboardConfiguration.d.ts.map +1 -0
- package/dist/waterline-models/DashboardConfiguration.js +52 -0
- package/dist/waterline-models/RecordType.d.ts +9 -0
- package/dist/waterline-models/RecordType.d.ts.map +1 -1
- package/dist/waterline-models/RecordType.js +16 -1
- package/dist/waterline-models/User.d.ts.map +1 -1
- package/dist/waterline-models/User.js +10 -15
- package/dist/waterline-models/index.d.ts +2 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +4 -1
- package/package.json +59 -45
- package/dist/config/datapubs.config.d.ts +0 -72
- package/dist/config/datapubs.config.d.ts.map +0 -1
- package/dist/config/datapubs.config.js +0 -74
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Services as services } from '../CoreService';
|
|
2
|
-
import { FormValidatorSummaryErrors, FormConfigFrame, TemplateCompileInput, FormModesConfig, ReusableFormDefinitions } from "@researchdatabox/sails-ng-common";
|
|
2
|
+
import { FormValidatorSummaryErrors, FormConfigFrame, TemplateCompileInput, FormModesConfig, ReusableFormDefinitions, RecordValueChange, RecordValuePath } from "@researchdatabox/sails-ng-common";
|
|
3
3
|
export declare namespace Services {
|
|
4
4
|
type BasicRedboxRecord = {
|
|
5
5
|
redboxOid: string;
|
|
@@ -10,31 +10,11 @@ export declare namespace Services {
|
|
|
10
10
|
* The path from the root of the item to the key in the original, which has a change.
|
|
11
11
|
* Object property keys are strings, array indicies are integers.
|
|
12
12
|
*/
|
|
13
|
-
type FormRecordConsistencyChangePath =
|
|
13
|
+
type FormRecordConsistencyChangePath = RecordValuePath;
|
|
14
14
|
/**
|
|
15
15
|
* The properties of one change.
|
|
16
16
|
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* The kind of change:
|
|
20
|
-
* - "add": an object property or array index that was not previously present
|
|
21
|
-
* - "delete": an object property or array index that was previously present has been removed
|
|
22
|
-
* - "change": an object property or array index that already existed has a value that has changed
|
|
23
|
-
*/
|
|
24
|
-
kind: "add" | "delete" | "change";
|
|
25
|
-
/**
|
|
26
|
-
* The path from the root of the item to the key in the original.
|
|
27
|
-
*/
|
|
28
|
-
path: FormRecordConsistencyChangePath;
|
|
29
|
-
/**
|
|
30
|
-
* The original value of the property or array index before the change.
|
|
31
|
-
*/
|
|
32
|
-
original: unknown;
|
|
33
|
-
/**
|
|
34
|
-
* The new value of the property or array index after the change.
|
|
35
|
-
*/
|
|
36
|
-
changed: unknown;
|
|
37
|
-
}
|
|
17
|
+
type FormRecordConsistencyChange = RecordValueChange;
|
|
38
18
|
/**
|
|
39
19
|
* A service for verifying that form config and one or two associated Records are consistent.
|
|
40
20
|
*
|
|
@@ -80,6 +60,11 @@ export declare namespace Services {
|
|
|
80
60
|
* @return The merged record.
|
|
81
61
|
*/
|
|
82
62
|
mergeRecordClientFormConfig(original: BasicRedboxRecord, changed: BasicRedboxRecord, clientFormConfig: FormConfigFrame, formMode: FormModesConfig, reusableFormDefs?: ReusableFormDefinitions): Promise<BasicRedboxRecord>;
|
|
63
|
+
/**
|
|
64
|
+
* Project authoritative metadata to the fields in an already filtered client form.
|
|
65
|
+
* This intentionally uses an empty original so server-only metadata is not retained.
|
|
66
|
+
*/
|
|
67
|
+
projectMetadataClientFormConfig(metadata: Record<string, unknown>, clientFormConfig: FormConfigFrame, formMode: FormModesConfig, reusableFormDefs?: ReusableFormDefinitions): Promise<Record<string, unknown>>;
|
|
83
68
|
/**
|
|
84
69
|
* Merge the original and changed records, using the client form config to know which changes to include.
|
|
85
70
|
* @param original The existing original record.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRecordConsistencyService.d.ts","sourceRoot":"","sources":["../../src/services/FormRecordConsistencyService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EACQ,0BAA0B,EACrC,eAAe,EAAE,oBAAoB,EAAE,eAAe,EACtD,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FormRecordConsistencyService.d.ts","sourceRoot":"","sources":["../../src/services/FormRecordConsistencyService.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,13 @@ const construct_visitor_1 = require("../visitor/construct.visitor");
|
|
|
37
37
|
const client_visitor_1 = require("../visitor/client.visitor");
|
|
38
38
|
const vocab_inline_visitor_1 = require("../visitor/vocab-inline.visitor");
|
|
39
39
|
const context_variables_visitor_1 = require("../visitor/context-variables.visitor");
|
|
40
|
+
const isPermittedChangesSchemaObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
41
|
+
const requirePermittedChangesSchemaObject = (value) => {
|
|
42
|
+
if (!isPermittedChangesSchemaObject(value)) {
|
|
43
|
+
throw new Error(`Invalid permittedChanges object, schema definitions must be objects: ${JSON.stringify(value)}`);
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
};
|
|
40
47
|
var Services;
|
|
41
48
|
(function (Services) {
|
|
42
49
|
/**
|
|
@@ -114,6 +121,20 @@ var Services;
|
|
|
114
121
|
metadata: this.mergeRecordMetadataPermitted(originalMetadata, changedMetadata, permittedChanges, changes),
|
|
115
122
|
};
|
|
116
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Project authoritative metadata to the fields in an already filtered client form.
|
|
126
|
+
* This intentionally uses an empty original so server-only metadata is not retained.
|
|
127
|
+
*/
|
|
128
|
+
async projectMetadataClientFormConfig(metadata, clientFormConfig, formMode, reusableFormDefs) {
|
|
129
|
+
const projected = await this.mergeRecordClientFormConfig({
|
|
130
|
+
redboxOid: '',
|
|
131
|
+
metadata: {},
|
|
132
|
+
}, {
|
|
133
|
+
redboxOid: '',
|
|
134
|
+
metadata,
|
|
135
|
+
}, clientFormConfig, formMode, reusableFormDefs);
|
|
136
|
+
return projected.metadata;
|
|
137
|
+
}
|
|
117
138
|
/**
|
|
118
139
|
* Merge the original and changed records, using the client form config to know which changes to include.
|
|
119
140
|
* @param original The existing original record.
|
|
@@ -139,11 +160,17 @@ var Services;
|
|
|
139
160
|
const originalRecord = original;
|
|
140
161
|
const changedRecord = changed;
|
|
141
162
|
const permittedChangesObj = permittedChanges;
|
|
163
|
+
if (permittedChangesObj?.type === 'object') {
|
|
164
|
+
return changedRecord;
|
|
165
|
+
}
|
|
142
166
|
// if (!('properties' in permittedChangesObj)) {
|
|
143
167
|
// throw new Error(`Permitted changes must have an object, a 'properties' property, at the top level ${JSON.stringify(permittedChanges)}`)
|
|
144
168
|
// }
|
|
145
|
-
const permittedChangesProps = (('properties' in permittedChangesObj)
|
|
146
|
-
?
|
|
169
|
+
const permittedChangesProps = (('properties' in permittedChangesObj || 'optionalProperties' in permittedChangesObj)
|
|
170
|
+
? {
|
|
171
|
+
...(permittedChangesObj['properties'] ?? {}),
|
|
172
|
+
...(permittedChangesObj['optionalProperties'] ?? {}),
|
|
173
|
+
}
|
|
147
174
|
: permittedChangesObj);
|
|
148
175
|
// create a new record instance
|
|
149
176
|
const result = {
|
|
@@ -155,7 +182,6 @@ var Services;
|
|
|
155
182
|
// pre-calculate aspects of the original item
|
|
156
183
|
const isKeyInOriginal = key in originalRecord;
|
|
157
184
|
const originalValue = isKeyInOriginal ? originalRecord[key] : undefined;
|
|
158
|
-
const originalValueType = (0, sails_ng_common_1.guessType)(originalValue);
|
|
159
185
|
// pre-calculate aspects of the changed item
|
|
160
186
|
const isKeyInChanged = key in changedRecord;
|
|
161
187
|
const changedValue = isKeyInChanged ? changedRecord[key] : undefined;
|
|
@@ -163,10 +189,22 @@ var Services;
|
|
|
163
189
|
// pre-calculate aspects of the permitted changes
|
|
164
190
|
const isKeyInPermittedChange = key in permittedChangesProps;
|
|
165
191
|
const permittedChangesValue = permittedChangesProps?.[key];
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
const
|
|
192
|
+
const permittedChangesValueObj = isKeyInPermittedChange
|
|
193
|
+
? requirePermittedChangesSchemaObject(permittedChangesValue)
|
|
194
|
+
: undefined;
|
|
195
|
+
const isPermittedChangeObject = isKeyInPermittedChange && !!permittedChangesValueObj
|
|
196
|
+
&& ('properties' in permittedChangesValueObj || 'optionalProperties' in permittedChangesValueObj);
|
|
197
|
+
const isPermittedChangeArray = isKeyInPermittedChange && !!permittedChangesValueObj && 'elements' in permittedChangesValueObj;
|
|
198
|
+
const isPermittedChangeType = isKeyInPermittedChange && !!permittedChangesValueObj && 'type' in permittedChangesValueObj;
|
|
199
|
+
const isPermittedChangeEmpty = isKeyInPermittedChange && !!permittedChangesValueObj && Object.keys(permittedChangesValueObj).length === 0;
|
|
200
|
+
const originalValueForMerge = isKeyInOriginal
|
|
201
|
+
? originalValue
|
|
202
|
+
: isPermittedChangeArray
|
|
203
|
+
? []
|
|
204
|
+
: isPermittedChangeObject
|
|
205
|
+
? {}
|
|
206
|
+
: undefined;
|
|
207
|
+
const originalValueForMergeType = (0, sails_ng_common_1.guessType)(originalValueForMerge);
|
|
170
208
|
// ensure the permitted changes item is valid
|
|
171
209
|
const isPermittedChangeMatches = {
|
|
172
210
|
isPermittedChangeObject: isPermittedChangeObject,
|
|
@@ -179,17 +217,19 @@ var Services;
|
|
|
179
217
|
}
|
|
180
218
|
// evaluate the combinations of original and changed values
|
|
181
219
|
if (isPermittedChangeArray
|
|
182
|
-
&& isKeyInOriginal
|
|
183
220
|
&& isKeyInChanged
|
|
184
|
-
&&
|
|
221
|
+
&& originalValueForMergeType === "array"
|
|
185
222
|
&& changedValueType === "array") {
|
|
186
223
|
// The change is permitted and an array, original and changed have the key and both are arrays.
|
|
187
224
|
// For an array, the merge logic is to replace the original array with the changed array.
|
|
188
225
|
// The whole array is replaced because there is no current way to distinguish what from the original should be kept.
|
|
189
226
|
// TODO: Consider how to replace each element in the array instead of the whole array.
|
|
190
227
|
// Replacing the whole array prevents use of constraints in components in the array elements.
|
|
191
|
-
const newPermittedChanges =
|
|
228
|
+
const newPermittedChanges = requirePermittedChangesSchemaObject(permittedChangesValueObj?.['elements']);
|
|
192
229
|
result[key] = changedValue.map((changedElement, index) => {
|
|
230
|
+
if (newPermittedChanges.type === 'object' || Object.keys(newPermittedChanges).length === 0) {
|
|
231
|
+
return changedElement;
|
|
232
|
+
}
|
|
193
233
|
// Evaluate the element in the array.
|
|
194
234
|
const guessedType = (0, sails_ng_common_1.guessType)(changedElement);
|
|
195
235
|
if (guessedType === "object") {
|
|
@@ -215,16 +255,15 @@ var Services;
|
|
|
215
255
|
});
|
|
216
256
|
}
|
|
217
257
|
else if (isPermittedChangeObject
|
|
218
|
-
&& isKeyInOriginal
|
|
219
258
|
&& isKeyInChanged
|
|
220
|
-
&&
|
|
259
|
+
&& originalValueForMergeType === "object"
|
|
221
260
|
&& changedValueType === "object") {
|
|
222
261
|
// The change is permitted and an object, original and changed have the key and both are objects.
|
|
223
262
|
// Evaluate the properties of the object.
|
|
224
263
|
const newPermittedChanges = permittedChangesValue;
|
|
225
264
|
const newPath = [...currentPath, key];
|
|
226
265
|
const keyChanges = relevantChanges?.filter(i => (0, sails_ng_common_1.arrayStartsWithArray)(newPath, i?.path));
|
|
227
|
-
result[key] = this.mergeRecordMetadataPermitted(
|
|
266
|
+
result[key] = this.mergeRecordMetadataPermitted(originalValueForMerge, changedValue, newPermittedChanges, keyChanges, newPath);
|
|
228
267
|
}
|
|
229
268
|
else if (isKeyInPermittedChange && isKeyInChanged) {
|
|
230
269
|
// The change is permitted and the key is in the changed.
|
|
@@ -279,62 +318,7 @@ var Services;
|
|
|
279
318
|
* @param path The current path of the original.
|
|
280
319
|
*/
|
|
281
320
|
compareRecords(original, changed, path) {
|
|
282
|
-
|
|
283
|
-
const result = [];
|
|
284
|
-
const isOriginalArray = Array.isArray(original);
|
|
285
|
-
const isChangedArray = Array.isArray(changed);
|
|
286
|
-
const isOriginalObject = _.isPlainObject(original);
|
|
287
|
-
const isChangedObject = _.isPlainObject(changed);
|
|
288
|
-
if ((isOriginalArray && isChangedArray) || (isOriginalObject && isChangedObject)) {
|
|
289
|
-
const { entries: originalEntries, keys: originalKeys } = this.toKeysEntries(original);
|
|
290
|
-
const { entries: changedEntries, keys: changedKeys } = this.toKeysEntries(changed);
|
|
291
|
-
const originalRecord = original;
|
|
292
|
-
const changedRecord = changed;
|
|
293
|
-
// delete
|
|
294
|
-
for (const [key, value] of originalEntries) {
|
|
295
|
-
const newPath = [...path, key];
|
|
296
|
-
const isKeyInChanged = changedKeys.includes(key);
|
|
297
|
-
const changedValue = isKeyInChanged ? changedRecord[key] : undefined;
|
|
298
|
-
if (!isKeyInChanged) {
|
|
299
|
-
// delete key & value
|
|
300
|
-
result.push({
|
|
301
|
-
kind: "delete",
|
|
302
|
-
path: newPath,
|
|
303
|
-
original: value,
|
|
304
|
-
changed: changedValue
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
else if (isKeyInChanged && changedValue !== value) {
|
|
308
|
-
// change value in original
|
|
309
|
-
this.compareRecords(value, changedValue, newPath)
|
|
310
|
-
.forEach(i => result.push(i));
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
// add
|
|
314
|
-
for (const [key, value] of changedEntries) {
|
|
315
|
-
const newPath = [...path, key];
|
|
316
|
-
const isKeyInOriginal = originalKeys.includes(key);
|
|
317
|
-
const originalValue = isKeyInOriginal ? originalRecord[key] : undefined;
|
|
318
|
-
if (!isKeyInOriginal) {
|
|
319
|
-
// add key & value
|
|
320
|
-
result.push({
|
|
321
|
-
kind: "add",
|
|
322
|
-
path: newPath,
|
|
323
|
-
original: originalValue,
|
|
324
|
-
changed: value
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
else if (original !== changed) {
|
|
330
|
-
result.push({
|
|
331
|
-
kind: "change",
|
|
332
|
-
path: path,
|
|
333
|
-
original: original,
|
|
334
|
-
changed: changed
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
return result;
|
|
321
|
+
return (0, sails_ng_common_1.diffRecordValues)(original, changed, path);
|
|
338
322
|
}
|
|
339
323
|
// TODO: implement this
|
|
340
324
|
// /**
|
|
@@ -515,4 +499,4 @@ var Services;
|
|
|
515
499
|
], FormRecordConsistency);
|
|
516
500
|
Services.FormRecordConsistency = FormRecordConsistency;
|
|
517
501
|
})(Services || (exports.Services = Services = {}));
|
|
518
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVJlY29yZENvbnNpc3RlbmN5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9Gb3JtUmVjb3JkQ29uc2lzdGVuY3lTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7Ozs7O0FBRTlELGdEQUFzRDtBQUN0RCxzR0FBeUY7QUFDekYsc0VBSTBDO0FBQzFDLCtCQUFvQztBQUNwQyxvRUFBMEU7QUFDMUUsc0VBQTJFO0FBQzNFLDRFQUFzRjtBQUN0RixrRUFBd0U7QUFDeEUsb0VBQTBFO0FBQzFFLDhEQUFvRTtBQUNwRSwwRUFBK0U7QUFDL0Usb0ZBQXlGO0FBS3pGLElBQWlCLFFBQVEsQ0FxbEJ4QjtBQXJsQkQsV0FBaUIsUUFBUTtJQTBDckI7Ozs7Ozs7Ozs7O09BV0c7SUFFSCxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFzQixTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDNUQ7Ozs7Ozs7Ozs7O1dBV0c7UUFDSSxLQUFLLENBQUMsV0FBVyxDQUNwQixPQUEwQixFQUFFLFFBQXlCLEVBQUUsZ0JBQTBDO1lBRWpHLDBCQUEwQjtZQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWpFLHdDQUF3QztZQUN4QyxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsTUFBTSxD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
|
|
502
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVJlY29yZENvbnNpc3RlbmN5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9Gb3JtUmVjb3JkQ29uc2lzdGVuY3lTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7Ozs7O0FBRTlELGdEQUFzRDtBQUN0RCxzR0FBeUY7QUFDekYsc0VBSzBDO0FBQzFDLCtCQUFvQztBQUNwQyxvRUFBMEU7QUFDMUUsc0VBQTJFO0FBQzNFLDRFQUFzRjtBQUN0RixrRUFBd0U7QUFDeEUsb0VBQTBFO0FBQzFFLDhEQUFvRTtBQUNwRSwwRUFBK0U7QUFDL0Usb0ZBQXlGO0FBRXpGLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxLQUFjLEVBQW9DLEVBQUUsQ0FDeEYsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXpFLE1BQU0sbUNBQW1DLEdBQUcsQ0FBQyxLQUFjLEVBQTJCLEVBQUU7SUFDcEYsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUtG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
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Services as services } from '../CoreService';
|
|
3
3
|
import { BrandingModel } from '../model/storage/BrandingModel';
|
|
4
|
+
import { UserModel } from '../model/storage/UserModel';
|
|
4
5
|
import { FormAttributes } from '../waterline-models/Form';
|
|
5
|
-
import { FormConfigFrame, FormConfigOutline, FormModesConfig, ReusableFormDefinitions } from
|
|
6
|
+
import { FormConfigFrame, FormConfigOutline, FormModesConfig, ReusableFormDefinitions, ValidationOperationDiscovery } from '@researchdatabox/sails-ng-common';
|
|
7
|
+
import type { RecordContractContext, RecordContractFormBuildResult } from '../record-contract/record-contract-context';
|
|
6
8
|
type WorkflowStepLike = {
|
|
7
9
|
id: string;
|
|
8
10
|
config: {
|
|
@@ -11,11 +13,25 @@ type WorkflowStepLike = {
|
|
|
11
13
|
starting?: boolean;
|
|
12
14
|
};
|
|
13
15
|
type RecordLike = {
|
|
16
|
+
redboxOid?: string;
|
|
14
17
|
metaMetadata?: {
|
|
18
|
+
brandId?: string;
|
|
15
19
|
form?: string;
|
|
16
20
|
type?: string;
|
|
17
21
|
};
|
|
18
22
|
metadata?: Record<string, unknown>;
|
|
23
|
+
workflow?: {
|
|
24
|
+
stage?: string;
|
|
25
|
+
stageLabel?: string;
|
|
26
|
+
};
|
|
27
|
+
authorization?: {
|
|
28
|
+
edit?: string[];
|
|
29
|
+
view?: string[];
|
|
30
|
+
editRoles?: string[];
|
|
31
|
+
viewRoles?: string[];
|
|
32
|
+
editPending?: string[];
|
|
33
|
+
viewPending?: string[];
|
|
34
|
+
};
|
|
19
35
|
};
|
|
20
36
|
type FormFieldLike = {
|
|
21
37
|
definition?: {
|
|
@@ -25,6 +41,42 @@ type FormFieldLike = {
|
|
|
25
41
|
needsEditAccess?: boolean;
|
|
26
42
|
[key: string]: unknown;
|
|
27
43
|
};
|
|
44
|
+
export interface FormRecordAccessContext {
|
|
45
|
+
readonly user: FormRecordAccessUser;
|
|
46
|
+
readonly brand: BrandingModel;
|
|
47
|
+
}
|
|
48
|
+
/** Populated role facts available on an authenticated request user. */
|
|
49
|
+
export interface FormRecordAccessRole {
|
|
50
|
+
readonly id: string;
|
|
51
|
+
readonly name: string;
|
|
52
|
+
}
|
|
53
|
+
/** Required Waterline user facts used by record and form access checks. */
|
|
54
|
+
export interface FormRecordAccessUser extends Record<string, unknown> {
|
|
55
|
+
readonly id: string;
|
|
56
|
+
readonly username: string;
|
|
57
|
+
readonly type: string;
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly email: string;
|
|
60
|
+
readonly roles: FormRecordAccessRole[];
|
|
61
|
+
}
|
|
62
|
+
export interface ValidationOperationDiscoveryOptions {
|
|
63
|
+
readonly brand: BrandingModel;
|
|
64
|
+
readonly form: FormAttributes;
|
|
65
|
+
readonly recordType?: string;
|
|
66
|
+
readonly record?: RecordLike | null;
|
|
67
|
+
readonly user?: UserModel | Record<string, unknown> | null;
|
|
68
|
+
readonly editable: boolean;
|
|
69
|
+
readonly targetStep?: string;
|
|
70
|
+
}
|
|
71
|
+
/** Detached configured-form input for candidate-independent record-contract startup compilation. */
|
|
72
|
+
export interface ConfiguredRecordContractFormCandidate {
|
|
73
|
+
readonly name: string;
|
|
74
|
+
readonly form: unknown;
|
|
75
|
+
readonly reusableFormDefinitions: unknown;
|
|
76
|
+
}
|
|
77
|
+
export type PublicFormAttributes = FormAttributes & {
|
|
78
|
+
validationOperations?: ValidationOperationDiscovery[];
|
|
79
|
+
};
|
|
28
80
|
export declare namespace Services {
|
|
29
81
|
/**
|
|
30
82
|
* Forms related functions...
|
|
@@ -37,14 +89,41 @@ export declare namespace Services {
|
|
|
37
89
|
protected _exportedMethods: string[];
|
|
38
90
|
bootstrap(workflowStep: WorkflowStepLike, brandingId: string): Promise<unknown>;
|
|
39
91
|
private getFormConfigRegistry;
|
|
92
|
+
/**
|
|
93
|
+
* Snapshot every registered form without selecting a record, actor, workflow,
|
|
94
|
+
* or operation. RecordSchemaService owns validation and compilation of these
|
|
95
|
+
* detached candidates during its awaited startup phase.
|
|
96
|
+
*/
|
|
97
|
+
listConfiguredRecordContractForms(): readonly ConfiguredRecordContractFormCandidate[];
|
|
40
98
|
listForms: (brandingId?: string) => Observable<FormAttributes[]>;
|
|
41
99
|
getFormByName: (formName: string, editMode: boolean, brandingId?: string) => Observable<FormAttributes | null>;
|
|
42
100
|
getForm(branding: BrandingModel, formParam: string, editMode: boolean, recordType: string, currentRec: RecordLike): Promise<FormAttributes | null>;
|
|
101
|
+
/**
|
|
102
|
+
* Remove the server-owned operation policy and add only caller-filtered
|
|
103
|
+
* discovery metadata. Nested form configuration is otherwise preserved for
|
|
104
|
+
* compatibility with existing form clients.
|
|
105
|
+
*/
|
|
106
|
+
toPublicForm(form: FormAttributes, validationOperations?: readonly ValidationOperationDiscovery[]): PublicFormAttributes;
|
|
107
|
+
/**
|
|
108
|
+
* Discover operations using the same form/type/stage policy resolver as a
|
|
109
|
+
* save, after applying existing record-edit and workflow-transition access.
|
|
110
|
+
* Missing services, actor data, or context fail safely to no operations.
|
|
111
|
+
*/
|
|
112
|
+
discoverValidationOperations(options: ValidationOperationDiscoveryOptions): Promise<ValidationOperationDiscovery[]>;
|
|
43
113
|
getFormByStartingWorkflowStep(branding: BrandingModel, recordType: string, _editMode: boolean): Observable<FormAttributes>;
|
|
44
114
|
inferSchemaFromMetadata(record: RecordLike): Record<string, unknown>;
|
|
45
115
|
generateFormFromSchema(branding: BrandingModel, recordType: string, record: RecordLike): Promise<FormConfigFrame | Record<string, unknown>>;
|
|
46
116
|
filterFieldsHasEditAccess(fields: FormFieldLike[], hasEditAccess: boolean): void;
|
|
47
117
|
flattenFields(fields: FormFieldLike[], fieldArr: FormFieldLike[]): void;
|
|
118
|
+
/**
|
|
119
|
+
* Build the translation lookup used to resolve form config default values.
|
|
120
|
+
*
|
|
121
|
+
* Returns undefined when the translation service is not available, so the form
|
|
122
|
+
* config values are left as they are rather than failing to build the form.
|
|
123
|
+
*
|
|
124
|
+
* @param branding The branding name.
|
|
125
|
+
*/
|
|
126
|
+
private buildFormConfigTranslator;
|
|
48
127
|
/**
|
|
49
128
|
* Convert a server-side form config to a client-side form config.
|
|
50
129
|
*
|
|
@@ -54,7 +133,17 @@ export declare namespace Services {
|
|
|
54
133
|
* @param recordMetadata The record metadata.
|
|
55
134
|
* @param reusableFormDefs The reusable form definitions.
|
|
56
135
|
*/
|
|
57
|
-
buildClientFormConfig(item: FormConfigFrame, formMode?: FormModesConfig, userRoles?: string[], recordMetadata?: Record<string, unknown> | null, reusableFormDefs?: ReusableFormDefinitions, branding?: string, contextVariablesMap?: Record<string, unknown
|
|
136
|
+
buildClientFormConfig(item: FormConfigFrame, formMode?: FormModesConfig, userRoles?: string[], recordMetadata?: Record<string, unknown> | null, reusableFormDefs?: ReusableFormDefinitions, branding?: string, contextVariablesMap?: Record<string, unknown>, recordAccessContext?: FormRecordAccessContext, preserveDefaultValues?: boolean): Promise<FormConfigOutline>;
|
|
137
|
+
/**
|
|
138
|
+
* Build the effective form used to compile a record contract.
|
|
139
|
+
*
|
|
140
|
+
* Create contracts deliberately use the form defaults rather than a synthetic
|
|
141
|
+
* record candidate. This keeps candidate-dependent form branches available to
|
|
142
|
+
* the contract compiler. Update contracts use the authoritative existing record.
|
|
143
|
+
*/
|
|
144
|
+
buildContractFormConfig(context: RecordContractContext, recordAccessContext?: FormRecordAccessContext): Promise<RecordContractFormBuildResult>;
|
|
145
|
+
/** Prune known display-only core leaves and structural shells emptied by that pruning. */
|
|
146
|
+
private retainSubmittableContractComponents;
|
|
58
147
|
private findComponentDefinitionByName;
|
|
59
148
|
}
|
|
60
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormsService.d.ts","sourceRoot":"","sources":["../../src/services/FormsService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAsB,MAAM,MAAM,CAAC;AAEtD,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"FormsService.d.ts","sourceRoot":"","sources":["../../src/services/FormsService.ts"],"names":[],"mappings":"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"}
|