@researchdatabox/redbox-core 5.0.4 → 5.1.0-beta.12573
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,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.appConfigValueSchema = exports.namedQueryResponseRecordSchema = exports.recordAuditEntrySchema = exports.datastreamUploadResponseSchema = exports.datastreamUploadResultSchema = exports.datastreamUploadFileSchema = exports.datastreamSummarySchema = exports.deletedRecordListItemSchema = exports.recordListItemSchema = exports.objectMetadataSchema = exports.recordMetadataSchema = exports.searchResultsSchema = exports.searchRecordSchema = exports.searchFacetSchema = exports.searchFacetValueSchema = exports.translationBundleSchema = void 0;
|
|
3
|
+
exports.brandingVersionEntrySchema = exports.brandingTypefaceStateSchema = exports.brandingTypefaceFaceSchema = exports.brandingHistoryRecordSchema = exports.brandingLogoResponseSchema = exports.brandingRollbackResponseSchema = exports.brandingPublishResponseSchema = exports.brandingPreviewResponseSchema = exports.brandingDraftResponseSchema = exports.brandingConfigSchema = exports.roleSummarySchema = exports.supportAgreementYearSchema = exports.statusMessageResponseSchema = exports.userAuditResponseSchema = exports.userAuditSummarySchema = exports.userAuditRecordSchema = exports.userAuditActorSchema = exports.userLinkResponseSchema = exports.linkedUserSummarySchema = exports.recordPermissionSaveResponseSchema = exports.recordSaveFailureResponseSchema = exports.recordSaveSuccessResponseSchema = exports.storageServiceResponseSchema = exports.recordConcurrencyMetadataSchema = exports.recordConcurrentModificationConfigSchema = exports.recordFormFingerprintSchema = exports.recordEntityTagSchema = exports.recordRevisionSchema = exports.recordSaveIssueSchema = exports.recordAuthorizationSchema = exports.genericObjectSchema = exports.userApiTokenApiResponseSchema = exports.createUserApiResponseSchema = exports.listApiSummarySchema = exports.harvestRouteResponseSchema = exports.harvestRunDetailResponseSchema = exports.enhancedHarvestChunkResponseSchema = exports.harvestChunkRecordResponseSchema = exports.harvestRunAggregateCountsSchema = exports.harvestRunEventSchema = exports.harvestRunChunkSummarySchema = exports.harvestRunSummarySchema = exports.apiHarvestResponseSchema = exports.apiObjectActionResponseSchema = exports.apiActionResponseSchema = exports.apiErrorResponseSchema = exports.buildResponseTypeSchema = exports.dataResponseV2Schema = exports.errorResponseV2Schema = exports.errorResponseItemV2Schema = void 0;
|
|
4
|
+
exports.appConfigValueSchema = exports.namedQueryResponseRecordSchema = exports.recordAuditEntrySchema = exports.datastreamUploadResponseSchema = exports.datastreamUploadResultSchema = exports.datastreamUploadFileSchema = exports.datastreamSummarySchema = exports.deletedRecordListItemSchema = exports.recordListItemSchema = exports.recordPermissionsReadResponseSchema = exports.objectMetadataReadResponseSchema = exports.recordMetadataReadResponseSchema = exports.recordReadMetadataSchema = exports.objectMetadataSchema = exports.recordMetadataSchema = exports.searchResultsSchema = exports.searchRecordSchema = exports.searchFacetSchema = exports.searchFacetValueSchema = exports.translationBundleSchema = exports.translationEntrySchema = exports.vocabularySchema = exports.vocabularyTreeNodeSchema = exports.vocabularyEntrySchema = exports.formSchema = exports.validationOperationDiscoverySchema = exports.recordTypeSchema = exports.recordTypeHooksSchema = exports.recordTypeHookOnEventSchema = exports.recordTypeHookDeclarationSchema = exports.relatedToSchema = exports.searchFilterSchema = exports.userRecordSchema = exports.brandingPublishStateResponseSchema = exports.brandingAdminStateSchema = void 0;
|
|
5
5
|
exports.listApiResponseSchema = listApiResponseSchema;
|
|
6
6
|
const zod_openapi_1 = require("../zod-openapi");
|
|
7
|
+
const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
|
|
7
8
|
function withOpenApi(schema, metadata) {
|
|
8
9
|
return schema.openapi(metadata);
|
|
9
10
|
}
|
|
@@ -55,8 +56,10 @@ const messageDetailsSchema = zod_openapi_1.z.object({
|
|
|
55
56
|
message: zod_openapi_1.z.string(),
|
|
56
57
|
details: zod_openapi_1.z.string(),
|
|
57
58
|
});
|
|
58
|
-
exports.apiErrorResponseSchema = withOpenApi(messageDetailsSchema
|
|
59
|
-
|
|
59
|
+
exports.apiErrorResponseSchema = withOpenApi(messageDetailsSchema.extend({
|
|
60
|
+
details: zod_openapi_1.z.string().optional(),
|
|
61
|
+
}), {
|
|
62
|
+
description: 'Legacy API error response with a message and optional details',
|
|
60
63
|
});
|
|
61
64
|
exports.apiActionResponseSchema = withOpenApi(messageDetailsSchema, {
|
|
62
65
|
description: 'Legacy API action response with message and details fields',
|
|
@@ -163,10 +166,7 @@ exports.harvestRunDetailResponseSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
163
166
|
events: zod_openapi_1.z.array(exports.harvestRunEventSchema),
|
|
164
167
|
aggregateCounts: exports.harvestRunAggregateCountsSchema,
|
|
165
168
|
}), { description: 'Harvest run detail response' });
|
|
166
|
-
exports.harvestRouteResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
167
|
-
zod_openapi_1.z.array(exports.apiHarvestResponseSchema),
|
|
168
|
-
exports.enhancedHarvestChunkResponseSchema,
|
|
169
|
-
]), { description: 'Harvest response for legacy and tracked payloads' });
|
|
169
|
+
exports.harvestRouteResponseSchema = withOpenApi(zod_openapi_1.z.union([zod_openapi_1.z.array(exports.apiHarvestResponseSchema), exports.enhancedHarvestChunkResponseSchema]), { description: 'Harvest response for legacy and tracked payloads' });
|
|
170
170
|
exports.listApiSummarySchema = withOpenApi(zod_openapi_1.z.object({
|
|
171
171
|
numFound: zod_openapi_1.z.number().int(),
|
|
172
172
|
page: zod_openapi_1.z.number().int(),
|
|
@@ -202,15 +202,163 @@ exports.recordAuthorizationSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
202
202
|
editRoles: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
|
|
203
203
|
viewRoles: zod_openapi_1.z.array(zod_openapi_1.z.string()).optional(),
|
|
204
204
|
}), { description: 'Record authorization payload' });
|
|
205
|
+
const recordSaveLineageSegmentSchema = zod_openapi_1.z.union([
|
|
206
|
+
zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxSegmentLength),
|
|
207
|
+
zod_openapi_1.z.number().int().nonnegative(),
|
|
208
|
+
]);
|
|
209
|
+
const recordSaveLineagePathSchema = zod_openapi_1.z.array(recordSaveLineageSegmentSchema).max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxSegments);
|
|
210
|
+
const recordSaveTargetFieldSchema = zod_openapi_1.z.object({
|
|
211
|
+
formConfig: recordSaveLineagePathSchema.optional(),
|
|
212
|
+
dataModel: recordSaveLineagePathSchema.optional(),
|
|
213
|
+
angularComponents: recordSaveLineagePathSchema.optional(),
|
|
214
|
+
layout: recordSaveLineagePathSchema.optional(),
|
|
215
|
+
});
|
|
216
|
+
const recordSaveLineagePathsSchema = recordSaveTargetFieldSchema.extend({
|
|
217
|
+
angularComponentsJsonPointer: zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxPointerLength).optional(),
|
|
218
|
+
layoutJsonPointer: zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_LINEAGE_LIMITS.maxPointerLength).optional(),
|
|
219
|
+
});
|
|
220
|
+
const recordSaveValidatorParametersSchema = zod_openapi_1.z
|
|
221
|
+
.object({
|
|
222
|
+
requiredThreshold: zod_openapi_1.z.number().finite().optional(),
|
|
223
|
+
actualLength: zod_openapi_1.z.number().finite().optional(),
|
|
224
|
+
requiredLength: zod_openapi_1.z.number().finite().optional(),
|
|
225
|
+
required: zod_openapi_1.z.boolean().optional(),
|
|
226
|
+
controlCount: zod_openapi_1.z.number().finite().optional(),
|
|
227
|
+
valueCount: zod_openapi_1.z.number().finite().optional(),
|
|
228
|
+
multiSelect: zod_openapi_1.z.boolean().optional(),
|
|
229
|
+
sourceType: zod_openapi_1.z.enum(['static', 'vocabulary', 'query', 'service']).optional(),
|
|
230
|
+
})
|
|
231
|
+
.strict();
|
|
232
|
+
exports.recordSaveIssueSchema = withOpenApi(zod_openapi_1.z
|
|
233
|
+
.object({
|
|
234
|
+
code: zod_openapi_1.z
|
|
235
|
+
.string()
|
|
236
|
+
.max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxCodeLength)
|
|
237
|
+
.regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
|
|
238
|
+
.optional(),
|
|
239
|
+
message: zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_SAVE_MESSAGE_MAX_LENGTH),
|
|
240
|
+
field: zod_openapi_1.z
|
|
241
|
+
.string()
|
|
242
|
+
.max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxFieldLength)
|
|
243
|
+
.regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
|
|
244
|
+
.optional(),
|
|
245
|
+
pointer: zod_openapi_1.z
|
|
246
|
+
.string()
|
|
247
|
+
.max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxPointerLength)
|
|
248
|
+
.refine(sails_ng_common_1.isRecordSaveJsonPointer)
|
|
249
|
+
.optional(),
|
|
250
|
+
expected: zod_openapi_1.z
|
|
251
|
+
.object({
|
|
252
|
+
type: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_SAVE_EXPECTED_JSON_TYPES),
|
|
253
|
+
})
|
|
254
|
+
.strict()
|
|
255
|
+
.optional(),
|
|
256
|
+
attachmentId: zod_openapi_1.z
|
|
257
|
+
.string()
|
|
258
|
+
.max(sails_ng_common_1.RECORD_SAVE_PUBLIC_FIELD_LIMITS.maxAttachmentIdLength)
|
|
259
|
+
.regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
|
|
260
|
+
.optional(),
|
|
261
|
+
class: zod_openapi_1.z
|
|
262
|
+
.string()
|
|
263
|
+
.max(sails_ng_common_1.RECORD_SAVE_VALIDATOR_CLASS_MAX_LENGTH)
|
|
264
|
+
.regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN)
|
|
265
|
+
.optional(),
|
|
266
|
+
params: recordSaveValidatorParametersSchema.optional(),
|
|
267
|
+
targetField: recordSaveTargetFieldSchema.optional(),
|
|
268
|
+
lineagePaths: recordSaveLineagePathsSchema.optional(),
|
|
269
|
+
})
|
|
270
|
+
.strict(), { description: 'Safe, field-addressable save issue with bounded validator metadata' });
|
|
271
|
+
const recordSaveProblemSchema = withOpenApi(zod_openapi_1.z.union([
|
|
272
|
+
zod_openapi_1.z
|
|
273
|
+
.object({
|
|
274
|
+
kind: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_SAVE_PROBLEM_KINDS),
|
|
275
|
+
source: zod_openapi_1.z.literal('schema'),
|
|
276
|
+
phase: zod_openapi_1.z.literal('schema'),
|
|
277
|
+
issues: zod_openapi_1.z.array(exports.recordSaveIssueSchema),
|
|
278
|
+
})
|
|
279
|
+
.strict(),
|
|
280
|
+
zod_openapi_1.z
|
|
281
|
+
.object({
|
|
282
|
+
kind: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_SAVE_PROBLEM_KINDS),
|
|
283
|
+
phase: zod_openapi_1.z.enum(['pre-save', 'persistence', 'attachments', 'post-save', 'response', 'transport']),
|
|
284
|
+
issues: zod_openapi_1.z.array(exports.recordSaveIssueSchema),
|
|
285
|
+
})
|
|
286
|
+
.strict(),
|
|
287
|
+
]), { description: 'A save phase problem and its safe display issues' });
|
|
288
|
+
exports.recordRevisionSchema = withOpenApi(zod_openapi_1.z.number().int().min(0).max(sails_ng_common_1.RECORD_REVISION_MAX), {
|
|
289
|
+
description: 'Server-owned monotonic aggregate record revision',
|
|
290
|
+
example: 7,
|
|
291
|
+
});
|
|
292
|
+
exports.recordEntityTagSchema = withOpenApi(zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_ENTITY_TAG_MAX_LENGTH).regex(sails_ng_common_1.RECORD_ENTITY_TAG_PATTERN), {
|
|
293
|
+
description: 'Opaque strong entity tag for one record lifecycle representation',
|
|
294
|
+
example: '"rb-record-v1.7.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"',
|
|
295
|
+
});
|
|
296
|
+
exports.recordFormFingerprintSchema = withOpenApi(zod_openapi_1.z.string().max(sails_ng_common_1.RECORD_FORM_FINGERPRINT_MAX_LENGTH).regex(sails_ng_common_1.RECORD_SAVE_PUBLIC_IDENTIFIER_PATTERN), { description: 'Opaque fingerprint of the authoritative generated browser-form contract' });
|
|
297
|
+
exports.recordConcurrentModificationConfigSchema = withOpenApi(zod_openapi_1.z
|
|
298
|
+
.object({
|
|
299
|
+
mode: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_CONCURRENT_MODIFICATION_MODES),
|
|
300
|
+
})
|
|
301
|
+
.strict(), { description: 'Record-type optimistic concurrency policy' });
|
|
302
|
+
exports.recordConcurrencyMetadataSchema = withOpenApi(zod_openapi_1.z
|
|
303
|
+
.object({
|
|
304
|
+
mode: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_CONCURRENT_MODIFICATION_MODES).optional(),
|
|
305
|
+
revision: exports.recordRevisionSchema.optional(),
|
|
306
|
+
expectedRevision: exports.recordRevisionSchema.optional(),
|
|
307
|
+
currentRevision: exports.recordRevisionSchema.optional(),
|
|
308
|
+
entityTag: exports.recordEntityTagSchema.optional(),
|
|
309
|
+
formFingerprint: exports.recordFormFingerprintSchema.optional(),
|
|
310
|
+
resolution: zod_openapi_1.z.enum(sails_ng_common_1.RECORD_CONCURRENCY_RESOLUTIONS).optional(),
|
|
311
|
+
resolutionOfRequestId: zod_openapi_1.z.string().regex(sails_ng_common_1.RECORD_SAVE_REQUEST_ID_PATTERN).optional(),
|
|
312
|
+
})
|
|
313
|
+
.strict(), { description: 'Bounded diagnostic concurrency facts; resolution labels are never authority' });
|
|
314
|
+
const recordAttachmentCompletionItemSchema = withOpenApi(zod_openapi_1.z.object({
|
|
315
|
+
field: zod_openapi_1.z.string(),
|
|
316
|
+
attachmentId: zod_openapi_1.z.string(),
|
|
317
|
+
fileId: zod_openapi_1.z.string().optional(),
|
|
318
|
+
operation: zod_openapi_1.z.enum(['add', 'finalize', 'delete']),
|
|
319
|
+
status: zod_openapi_1.z.enum(['completed', 'incomplete', 'unknown']),
|
|
320
|
+
code: zod_openapi_1.z.string().optional(),
|
|
321
|
+
}), { description: 'Per-attachment completion fact' });
|
|
322
|
+
const recordSaveCompletionSchema = withOpenApi(zod_openapi_1.z.object({
|
|
323
|
+
attachments: zod_openapi_1.z.object({
|
|
324
|
+
status: zod_openapi_1.z.enum(['not-required', 'completed', 'incomplete', 'unknown']),
|
|
325
|
+
items: zod_openapi_1.z.array(recordAttachmentCompletionItemSchema),
|
|
326
|
+
}),
|
|
327
|
+
}), { description: 'Item-specific completion details for a record save' });
|
|
205
328
|
exports.storageServiceResponseSchema = withOpenApi(zod_openapi_1.z.object({
|
|
206
329
|
success: zod_openapi_1.z.boolean(),
|
|
207
330
|
oid: zod_openapi_1.z.string(),
|
|
208
331
|
message: zod_openapi_1.z.string(),
|
|
332
|
+
data: zod_openapi_1.z.unknown().optional(),
|
|
209
333
|
metadata: exports.genericObjectSchema.nullable(),
|
|
210
334
|
details: zod_openapi_1.z.union([zod_openapi_1.z.string(), exports.genericObjectSchema]).optional(),
|
|
211
335
|
totalItems: zod_openapi_1.z.number().int(),
|
|
212
336
|
items: zod_openapi_1.z.array(exports.genericObjectSchema),
|
|
337
|
+
outcome: zod_openapi_1.z.enum(['saved', 'saved-with-warnings', 'not-saved', 'unknown']).optional(),
|
|
338
|
+
problems: zod_openapi_1.z.array(recordSaveProblemSchema).optional(),
|
|
339
|
+
completion: recordSaveCompletionSchema.optional(),
|
|
340
|
+
requestId: zod_openapi_1.z.string().uuid().optional(),
|
|
341
|
+
concurrency: exports.recordConcurrencyMetadataSchema.optional(),
|
|
213
342
|
}), { description: 'Storage service response envelope' });
|
|
343
|
+
exports.recordSaveSuccessResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
344
|
+
exports.storageServiceResponseSchema,
|
|
345
|
+
zod_openapi_1.z.object({ data: exports.storageServiceResponseSchema, meta: exports.storageServiceResponseSchema }),
|
|
346
|
+
]), { description: 'Legacy v1 record-save response or the v2 {data, meta} envelope' });
|
|
347
|
+
exports.recordSaveFailureResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
348
|
+
exports.apiErrorResponseSchema,
|
|
349
|
+
zod_openapi_1.z.object({
|
|
350
|
+
errors: zod_openapi_1.z.array(exports.errorResponseItemV2Schema),
|
|
351
|
+
meta: zod_openapi_1.z.union([exports.storageServiceResponseSchema, zod_openapi_1.z.object({}).strict()]),
|
|
352
|
+
}),
|
|
353
|
+
]), {
|
|
354
|
+
description: 'Legacy v1 error or v2 {errors, meta}; early policy failures may use empty meta while save-boundary failures retain typed result metadata',
|
|
355
|
+
});
|
|
356
|
+
exports.recordPermissionSaveResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
357
|
+
exports.recordAuthorizationSchema.nullable(),
|
|
358
|
+
zod_openapi_1.z.object({ data: exports.recordAuthorizationSchema.nullable(), meta: exports.storageServiceResponseSchema }),
|
|
359
|
+
]), {
|
|
360
|
+
description: 'Legacy v1 authorization body or v2 authorization data with the authoritative typed save result in meta; data is null when the successful mutation removes current view access',
|
|
361
|
+
});
|
|
214
362
|
exports.linkedUserSummarySchema = withOpenApi(zod_openapi_1.z.object({
|
|
215
363
|
id: zod_openapi_1.z.string(),
|
|
216
364
|
username: zod_openapi_1.z.string(),
|
|
@@ -277,12 +425,15 @@ exports.supportAgreementYearSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
277
425
|
agreedSupportDays: zod_openapi_1.z.number(),
|
|
278
426
|
usedSupportDays: zod_openapi_1.z.number(),
|
|
279
427
|
}), { description: 'Annual support agreement usage' });
|
|
280
|
-
exports.roleSummarySchema = withOpenApi(zod_openapi_1.z
|
|
428
|
+
exports.roleSummarySchema = withOpenApi(zod_openapi_1.z
|
|
429
|
+
.object({
|
|
281
430
|
id: zod_openapi_1.z.string(),
|
|
282
431
|
name: zod_openapi_1.z.string(),
|
|
283
432
|
branding: brandingReferenceSchema.optional(),
|
|
284
|
-
})
|
|
285
|
-
|
|
433
|
+
})
|
|
434
|
+
.passthrough(), { description: 'Role summary' });
|
|
435
|
+
exports.brandingConfigSchema = withOpenApi(zod_openapi_1.z
|
|
436
|
+
.object({
|
|
286
437
|
id: zod_openapi_1.z.string(),
|
|
287
438
|
name: zod_openapi_1.z.string(),
|
|
288
439
|
css: zod_openapi_1.z.string(),
|
|
@@ -292,7 +443,8 @@ exports.brandingConfigSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
292
443
|
logo: jsonObjectSchema.optional(),
|
|
293
444
|
roles: zod_openapi_1.z.array(exports.roleSummarySchema).optional(),
|
|
294
445
|
supportAgreementInformation: jsonObjectSchema.optional(),
|
|
295
|
-
})
|
|
446
|
+
})
|
|
447
|
+
.passthrough(), { description: 'Branding configuration record' });
|
|
296
448
|
exports.brandingDraftResponseSchema = withOpenApi(zod_openapi_1.z.object({
|
|
297
449
|
branding: exports.brandingConfigSchema,
|
|
298
450
|
}), { description: 'Saved branding draft response' });
|
|
@@ -317,15 +469,93 @@ exports.brandingRollbackResponseSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
317
469
|
exports.brandingLogoResponseSchema = withOpenApi(zod_openapi_1.z.object({
|
|
318
470
|
hash: zod_openapi_1.z.string(),
|
|
319
471
|
}), { description: 'Branding logo upload response' });
|
|
320
|
-
exports.brandingHistoryRecordSchema = withOpenApi(zod_openapi_1.z
|
|
472
|
+
exports.brandingHistoryRecordSchema = withOpenApi(zod_openapi_1.z
|
|
473
|
+
.object({
|
|
321
474
|
branding: brandingReferenceSchema,
|
|
322
475
|
version: zod_openapi_1.z.number().int(),
|
|
323
476
|
hash: zod_openapi_1.z.string(),
|
|
324
477
|
css: zod_openapi_1.z.string().optional(),
|
|
325
478
|
variables: jsonObjectSchema.optional(),
|
|
479
|
+
typeface: jsonObjectSchema.optional(),
|
|
480
|
+
actorId: zod_openapi_1.z.string().optional(),
|
|
481
|
+
actorDisplayName: zod_openapi_1.z.string().optional(),
|
|
482
|
+
restoredFromVersion: zod_openapi_1.z.number().int().optional(),
|
|
326
483
|
dateCreated: dateTimeSchema.optional(),
|
|
327
|
-
})
|
|
328
|
-
|
|
484
|
+
})
|
|
485
|
+
.passthrough(), { description: 'Branding history entry' });
|
|
486
|
+
exports.brandingTypefaceFaceSchema = withOpenApi(zod_openapi_1.z
|
|
487
|
+
.object({
|
|
488
|
+
slot: zod_openapi_1.z.string(),
|
|
489
|
+
sha256: zod_openapi_1.z.string(),
|
|
490
|
+
originalFilename: zod_openapi_1.z.string(),
|
|
491
|
+
sizeBytes: zod_openapi_1.z.number().int(),
|
|
492
|
+
uploadedAt: zod_openapi_1.z.string(),
|
|
493
|
+
inspection: jsonObjectSchema,
|
|
494
|
+
warnings: zod_openapi_1.z.array(zod_openapi_1.z.string()),
|
|
495
|
+
})
|
|
496
|
+
.passthrough(), { description: 'Brand typeface face metadata (no font bytes or storage keys)' });
|
|
497
|
+
exports.brandingTypefaceStateSchema = withOpenApi(zod_openapi_1.z
|
|
498
|
+
.object({
|
|
499
|
+
mode: zod_openapi_1.z.string(),
|
|
500
|
+
faces: zod_openapi_1.z.object({}).passthrough(),
|
|
501
|
+
})
|
|
502
|
+
.passthrough(), { description: 'Brand typeface state (default typography or custom faces)' });
|
|
503
|
+
exports.brandingVersionEntrySchema = withOpenApi(zod_openapi_1.z
|
|
504
|
+
.object({
|
|
505
|
+
id: zod_openapi_1.z.string(),
|
|
506
|
+
version: zod_openapi_1.z.number().int(),
|
|
507
|
+
hash: zod_openapi_1.z.string(),
|
|
508
|
+
dateCreated: zod_openapi_1.z.string().optional(),
|
|
509
|
+
actorId: zod_openapi_1.z.string().optional(),
|
|
510
|
+
actorDisplayName: zod_openapi_1.z.string().optional(),
|
|
511
|
+
restoredFromVersion: zod_openapi_1.z.number().int().optional(),
|
|
512
|
+
variables: jsonObjectSchema.optional(),
|
|
513
|
+
typeface: exports.brandingTypefaceStateSchema.optional(),
|
|
514
|
+
})
|
|
515
|
+
.passthrough(), { description: 'Retained branding version' });
|
|
516
|
+
exports.brandingAdminStateSchema = withOpenApi(zod_openapi_1.z
|
|
517
|
+
.object({
|
|
518
|
+
branding: zod_openapi_1.z.object({ id: zod_openapi_1.z.string(), name: zod_openapi_1.z.string() }).passthrough(),
|
|
519
|
+
active: zod_openapi_1.z
|
|
520
|
+
.object({
|
|
521
|
+
version: zod_openapi_1.z.number().int(),
|
|
522
|
+
hash: zod_openapi_1.z.string(),
|
|
523
|
+
variables: jsonObjectSchema.optional(),
|
|
524
|
+
typeface: exports.brandingTypefaceStateSchema.optional(),
|
|
525
|
+
})
|
|
526
|
+
.passthrough(),
|
|
527
|
+
draft: zod_openapi_1.z
|
|
528
|
+
.object({
|
|
529
|
+
revision: zod_openapi_1.z.number().int(),
|
|
530
|
+
variables: jsonObjectSchema.optional(),
|
|
531
|
+
typeface: exports.brandingTypefaceStateSchema.optional(),
|
|
532
|
+
dirty: zod_openapi_1.z.object({ colours: zod_openapi_1.z.boolean(), typeface: zod_openapi_1.z.boolean() }).passthrough(),
|
|
533
|
+
})
|
|
534
|
+
.passthrough(),
|
|
535
|
+
versions: zod_openapi_1.z.array(exports.brandingVersionEntrySchema),
|
|
536
|
+
limits: zod_openapi_1.z
|
|
537
|
+
.object({
|
|
538
|
+
faceMaxBytes: zod_openapi_1.z.number().int(),
|
|
539
|
+
familyMaxBytes: zod_openapi_1.z.number().int(),
|
|
540
|
+
historyMaxVersions: zod_openapi_1.z.number().int(),
|
|
541
|
+
})
|
|
542
|
+
.passthrough(),
|
|
543
|
+
healthWarnings: zod_openapi_1.z.array(jsonObjectSchema),
|
|
544
|
+
})
|
|
545
|
+
.passthrough(), { description: 'Canonical branding Admin state' });
|
|
546
|
+
exports.brandingPublishStateResponseSchema = withOpenApi(zod_openapi_1.z
|
|
547
|
+
.object({
|
|
548
|
+
branding: zod_openapi_1.z.object({ id: zod_openapi_1.z.string(), name: zod_openapi_1.z.string() }).passthrough(),
|
|
549
|
+
active: jsonObjectSchema,
|
|
550
|
+
draft: jsonObjectSchema,
|
|
551
|
+
versions: zod_openapi_1.z.array(exports.brandingVersionEntrySchema),
|
|
552
|
+
limits: jsonObjectSchema,
|
|
553
|
+
healthWarnings: zod_openapi_1.z.array(jsonObjectSchema),
|
|
554
|
+
idempotent: zod_openapi_1.z.boolean().optional(),
|
|
555
|
+
})
|
|
556
|
+
.passthrough(), { description: 'Branding publish/restore response (complete Admin state)' });
|
|
557
|
+
exports.userRecordSchema = withOpenApi(zod_openapi_1.z
|
|
558
|
+
.object({
|
|
329
559
|
id: zod_openapi_1.z.string(),
|
|
330
560
|
username: zod_openapi_1.z.string(),
|
|
331
561
|
type: zod_openapi_1.z.string(),
|
|
@@ -343,32 +573,44 @@ exports.userRecordSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
343
573
|
disabledByPrimaryUsername: zod_openapi_1.z.string().optional(),
|
|
344
574
|
workspaceApps: zod_openapi_1.z.array(jsonObjectSchema).optional(),
|
|
345
575
|
roles: zod_openapi_1.z.array(exports.roleSummarySchema).optional(),
|
|
346
|
-
})
|
|
347
|
-
|
|
576
|
+
})
|
|
577
|
+
.passthrough(), { description: 'User record response' });
|
|
578
|
+
exports.searchFilterSchema = withOpenApi(zod_openapi_1.z
|
|
579
|
+
.object({
|
|
348
580
|
name: zod_openapi_1.z.string(),
|
|
349
581
|
title: zod_openapi_1.z.string(),
|
|
350
582
|
type: zod_openapi_1.z.string(),
|
|
351
583
|
typeLabel: zod_openapi_1.z.string(),
|
|
352
|
-
})
|
|
353
|
-
|
|
584
|
+
})
|
|
585
|
+
.passthrough(), { description: 'Record type search filter' });
|
|
586
|
+
exports.relatedToSchema = withOpenApi(zod_openapi_1.z
|
|
587
|
+
.object({
|
|
354
588
|
recordType: zod_openapi_1.z.string(),
|
|
355
589
|
foreignField: zod_openapi_1.z.string(),
|
|
356
|
-
})
|
|
357
|
-
|
|
590
|
+
})
|
|
591
|
+
.passthrough(), { description: 'Record type relation mapping' });
|
|
592
|
+
exports.recordTypeHookDeclarationSchema = withOpenApi(zod_openapi_1.z
|
|
593
|
+
.object({
|
|
358
594
|
function: zod_openapi_1.z.string(),
|
|
359
595
|
options: jsonObjectSchema,
|
|
360
|
-
})
|
|
361
|
-
|
|
596
|
+
})
|
|
597
|
+
.passthrough(), { description: 'Record type hook declaration' });
|
|
598
|
+
exports.recordTypeHookOnEventSchema = withOpenApi(zod_openapi_1.z
|
|
599
|
+
.object({
|
|
362
600
|
pre: zod_openapi_1.z.array(exports.recordTypeHookDeclarationSchema),
|
|
363
601
|
post: zod_openapi_1.z.array(exports.recordTypeHookDeclarationSchema),
|
|
364
602
|
postSync: zod_openapi_1.z.array(exports.recordTypeHookDeclarationSchema),
|
|
365
|
-
})
|
|
366
|
-
|
|
603
|
+
})
|
|
604
|
+
.passthrough(), { description: 'Record type hook event handlers' });
|
|
605
|
+
exports.recordTypeHooksSchema = withOpenApi(zod_openapi_1.z
|
|
606
|
+
.object({
|
|
367
607
|
onCreate: exports.recordTypeHookOnEventSchema,
|
|
368
608
|
onUpdate: exports.recordTypeHookOnEventSchema,
|
|
369
609
|
onDelete: exports.recordTypeHookOnEventSchema,
|
|
370
|
-
})
|
|
371
|
-
|
|
610
|
+
})
|
|
611
|
+
.passthrough(), { description: 'Record type hooks configuration' });
|
|
612
|
+
exports.recordTypeSchema = withOpenApi(zod_openapi_1.z
|
|
613
|
+
.object({
|
|
372
614
|
key: zod_openapi_1.z.string().optional(),
|
|
373
615
|
name: zod_openapi_1.z.string(),
|
|
374
616
|
branding: zod_openapi_1.z.union([zod_openapi_1.z.string(), zod_openapi_1.z.number(), exports.brandingConfigSchema]).optional(),
|
|
@@ -381,14 +623,32 @@ exports.recordTypeSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
381
623
|
relatedTo: zod_openapi_1.z.array(exports.relatedToSchema).optional(),
|
|
382
624
|
hooks: exports.recordTypeHooksSchema.optional(),
|
|
383
625
|
dashboard: jsonObjectSchema.optional(),
|
|
384
|
-
|
|
385
|
-
|
|
626
|
+
concurrentModification: exports.recordConcurrentModificationConfigSchema.optional(),
|
|
627
|
+
recordSchemaCreateResolver: zod_openapi_1.z.string().optional(),
|
|
628
|
+
})
|
|
629
|
+
.passthrough(), { description: 'Record type configuration' });
|
|
630
|
+
exports.validationOperationDiscoverySchema = withOpenApi(zod_openapi_1.z
|
|
631
|
+
.object({
|
|
632
|
+
name: zod_openapi_1.z.string().max(sails_ng_common_1.VALIDATION_OPERATION_NAME_MAX_LENGTH).regex(sails_ng_common_1.VALIDATION_OPERATION_NAME_PATTERN),
|
|
633
|
+
label: zod_openapi_1.z.string().max(sails_ng_common_1.VALIDATION_OPERATION_LABEL_MAX_LENGTH).optional(),
|
|
634
|
+
description: zod_openapi_1.z.string().max(sails_ng_common_1.VALIDATION_OPERATION_DESCRIPTION_MAX_LENGTH).optional(),
|
|
635
|
+
allowedTargetSteps: zod_openapi_1.z.array(zod_openapi_1.z.string().max(128).regex(sails_ng_common_1.RECORD_VALIDATION_REFERENCE_PATTERN)).optional(),
|
|
636
|
+
})
|
|
637
|
+
.strict(), {
|
|
638
|
+
description: 'Caller-authorized validation operation metadata. allowedTargetSteps are actor-authorized transition ' +
|
|
639
|
+
'targets applicable to the operation; unrestricted policies include every actor-authorized target.',
|
|
640
|
+
});
|
|
641
|
+
exports.formSchema = withOpenApi(zod_openapi_1.z
|
|
642
|
+
.object({
|
|
386
643
|
id: zod_openapi_1.z.string().optional(),
|
|
387
644
|
name: zod_openapi_1.z.string(),
|
|
388
645
|
branding: zod_openapi_1.z.union([zod_openapi_1.z.string(), zod_openapi_1.z.number(), exports.brandingConfigSchema]).optional(),
|
|
389
646
|
configuration: jsonObjectSchema.optional(),
|
|
390
|
-
|
|
391
|
-
|
|
647
|
+
validationOperations: zod_openapi_1.z.array(exports.validationOperationDiscoverySchema).optional(),
|
|
648
|
+
})
|
|
649
|
+
.passthrough(), { description: 'Form definition' });
|
|
650
|
+
exports.vocabularyEntrySchema = withOpenApi(zod_openapi_1.z
|
|
651
|
+
.object({
|
|
392
652
|
id: zod_openapi_1.z.string().optional(),
|
|
393
653
|
vocabulary: brandingReferenceSchema.optional(),
|
|
394
654
|
label: zod_openapi_1.z.string(),
|
|
@@ -399,11 +659,13 @@ exports.vocabularyEntrySchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
399
659
|
identifier: zod_openapi_1.z.string().optional(),
|
|
400
660
|
order: zod_openapi_1.z.number().int().optional(),
|
|
401
661
|
historical: zod_openapi_1.z.boolean().optional(),
|
|
402
|
-
})
|
|
662
|
+
})
|
|
663
|
+
.passthrough(), { description: 'Vocabulary entry' });
|
|
403
664
|
exports.vocabularyTreeNodeSchema = withOpenApi(exports.vocabularyEntrySchema.extend({
|
|
404
665
|
children: zod_openapi_1.z.array(exports.vocabularyEntrySchema).optional(),
|
|
405
666
|
}), { description: 'Vocabulary tree node' });
|
|
406
|
-
exports.vocabularySchema = withOpenApi(zod_openapi_1.z
|
|
667
|
+
exports.vocabularySchema = withOpenApi(zod_openapi_1.z
|
|
668
|
+
.object({
|
|
407
669
|
id: zod_openapi_1.z.string().optional(),
|
|
408
670
|
branding: zod_openapi_1.z.union([zod_openapi_1.z.string(), zod_openapi_1.z.number(), exports.brandingConfigSchema]).optional(),
|
|
409
671
|
description: zod_openapi_1.z.string().optional(),
|
|
@@ -417,8 +679,10 @@ exports.vocabularySchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
417
679
|
sourceId: zod_openapi_1.z.string().optional(),
|
|
418
680
|
sourceVersionId: zod_openapi_1.z.string().optional(),
|
|
419
681
|
type: zod_openapi_1.z.string().optional(),
|
|
420
|
-
})
|
|
421
|
-
|
|
682
|
+
})
|
|
683
|
+
.passthrough(), { description: 'Vocabulary record' });
|
|
684
|
+
exports.translationEntrySchema = withOpenApi(zod_openapi_1.z
|
|
685
|
+
.object({
|
|
422
686
|
id: zod_openapi_1.z.string().optional(),
|
|
423
687
|
branding: brandingReferenceSchema.optional(),
|
|
424
688
|
bundle: brandingReferenceSchema.optional(),
|
|
@@ -429,8 +693,10 @@ exports.translationEntrySchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
429
693
|
namespace: zod_openapi_1.z.string().optional(),
|
|
430
694
|
uid: zod_openapi_1.z.string().optional(),
|
|
431
695
|
value: jsonValueSchema,
|
|
432
|
-
})
|
|
433
|
-
|
|
696
|
+
})
|
|
697
|
+
.passthrough(), { description: 'Translation entry' });
|
|
698
|
+
exports.translationBundleSchema = withOpenApi(zod_openapi_1.z
|
|
699
|
+
.object({
|
|
434
700
|
id: zod_openapi_1.z.string().optional(),
|
|
435
701
|
branding: brandingReferenceSchema.optional(),
|
|
436
702
|
data: jsonObjectSchema,
|
|
@@ -440,42 +706,89 @@ exports.translationBundleSchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
440
706
|
locale: zod_openapi_1.z.string(),
|
|
441
707
|
namespace: zod_openapi_1.z.string().optional(),
|
|
442
708
|
uid: zod_openapi_1.z.string().optional(),
|
|
443
|
-
})
|
|
444
|
-
|
|
709
|
+
})
|
|
710
|
+
.passthrough(), { description: 'Translation bundle' });
|
|
711
|
+
exports.searchFacetValueSchema = withOpenApi(zod_openapi_1.z
|
|
712
|
+
.object({
|
|
445
713
|
value: zod_openapi_1.z.string(),
|
|
446
714
|
count: zod_openapi_1.z.number().int(),
|
|
447
|
-
})
|
|
448
|
-
|
|
715
|
+
})
|
|
716
|
+
.passthrough(), { description: 'Search facet value' });
|
|
717
|
+
exports.searchFacetSchema = withOpenApi(zod_openapi_1.z
|
|
718
|
+
.object({
|
|
449
719
|
name: zod_openapi_1.z.string(),
|
|
450
720
|
values: zod_openapi_1.z.array(exports.searchFacetValueSchema),
|
|
451
|
-
})
|
|
452
|
-
|
|
721
|
+
})
|
|
722
|
+
.passthrough(), { description: 'Search facet summary' });
|
|
723
|
+
exports.searchRecordSchema = withOpenApi(zod_openapi_1.z
|
|
724
|
+
.object({
|
|
453
725
|
hasEditAccess: zod_openapi_1.z.boolean(),
|
|
454
|
-
})
|
|
455
|
-
|
|
726
|
+
})
|
|
727
|
+
.passthrough(), { description: 'Search result record' });
|
|
728
|
+
exports.searchResultsSchema = withOpenApi(zod_openapi_1.z
|
|
729
|
+
.object({
|
|
456
730
|
records: zod_openapi_1.z.array(exports.searchRecordSchema),
|
|
457
731
|
facets: zod_openapi_1.z.array(exports.searchFacetSchema).optional(),
|
|
458
732
|
totalItems: zod_openapi_1.z.number().int(),
|
|
459
|
-
})
|
|
733
|
+
})
|
|
734
|
+
.passthrough(), { description: 'Search response payload' });
|
|
460
735
|
exports.recordMetadataSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Record metadata payload' });
|
|
461
736
|
exports.objectMetadataSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Object metadata payload' });
|
|
462
|
-
exports.
|
|
737
|
+
exports.recordReadMetadataSchema = withOpenApi(zod_openapi_1.z.object({
|
|
738
|
+
oid: zod_openapi_1.z.string(),
|
|
739
|
+
revision: exports.recordRevisionSchema,
|
|
740
|
+
entityTag: exports.recordEntityTagSchema,
|
|
741
|
+
}), { description: 'Typed identity and revision metadata for an individual record representation' });
|
|
742
|
+
exports.recordMetadataReadResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
743
|
+
exports.recordMetadataSchema,
|
|
744
|
+
zod_openapi_1.z.object({ data: exports.recordMetadataSchema, meta: exports.recordReadMetadataSchema.passthrough() }),
|
|
745
|
+
]), { description: 'Legacy v1 record metadata or v2 data with typed revision metadata' });
|
|
746
|
+
exports.objectMetadataReadResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
747
|
+
exports.objectMetadataSchema,
|
|
748
|
+
zod_openapi_1.z.object({ data: exports.objectMetadataSchema, meta: exports.recordReadMetadataSchema.passthrough() }),
|
|
749
|
+
]), { description: 'Legacy v1 object metadata or v2 data with typed revision metadata' });
|
|
750
|
+
exports.recordPermissionsReadResponseSchema = withOpenApi(zod_openapi_1.z.union([
|
|
751
|
+
exports.recordAuthorizationSchema,
|
|
752
|
+
zod_openapi_1.z.object({ data: exports.recordAuthorizationSchema, meta: exports.recordReadMetadataSchema.passthrough() }),
|
|
753
|
+
]), { description: 'Legacy v1 permissions or v2 permissions with typed revision metadata' });
|
|
754
|
+
exports.recordListItemSchema = withOpenApi(zod_openapi_1.z
|
|
755
|
+
.object({
|
|
463
756
|
oid: zod_openapi_1.z.string(),
|
|
757
|
+
revision: exports.recordRevisionSchema,
|
|
464
758
|
title: zod_openapi_1.z.string().optional(),
|
|
465
759
|
metadata: jsonObjectSchema,
|
|
466
760
|
dateCreated: dateTimeSchema.optional(),
|
|
467
761
|
dateModified: dateTimeSchema.optional(),
|
|
468
762
|
hasEditAccess: zod_openapi_1.z.boolean(),
|
|
469
|
-
})
|
|
470
|
-
|
|
763
|
+
})
|
|
764
|
+
.passthrough(), { description: 'Record list item' });
|
|
765
|
+
exports.deletedRecordListItemSchema = withOpenApi(zod_openapi_1.z
|
|
766
|
+
.object({
|
|
471
767
|
oid: zod_openapi_1.z.string(),
|
|
768
|
+
revision: exports.recordRevisionSchema,
|
|
769
|
+
lifecycleState: zod_openapi_1.z.enum(['delete-pending', 'deleted', 'restore-pending', 'purge-pending', 'recovery-required']),
|
|
770
|
+
lifecycle: zod_openapi_1.z
|
|
771
|
+
.object({
|
|
772
|
+
kind: zod_openapi_1.z.enum(['delete', 'restore', 'purge']),
|
|
773
|
+
attempts: zod_openapi_1.z.number().int().nonnegative(),
|
|
774
|
+
startedAt: dateTimeSchema,
|
|
775
|
+
updatedAt: dateTimeSchema,
|
|
776
|
+
errorCode: zod_openapi_1.z
|
|
777
|
+
.string()
|
|
778
|
+
.max(64)
|
|
779
|
+
.regex(/^[a-z0-9][a-z0-9-]{0,63}$/)
|
|
780
|
+
.optional(),
|
|
781
|
+
})
|
|
782
|
+
.optional(),
|
|
472
783
|
title: zod_openapi_1.z.string().optional(),
|
|
473
784
|
deletedRecord: jsonObjectSchema,
|
|
474
785
|
dateCreated: dateTimeSchema.optional(),
|
|
475
786
|
dateModified: dateTimeSchema.optional(),
|
|
476
787
|
dateDeleted: dateTimeSchema.optional(),
|
|
477
|
-
})
|
|
478
|
-
|
|
788
|
+
})
|
|
789
|
+
.passthrough(), { description: 'Deleted record list item' });
|
|
790
|
+
exports.datastreamSummarySchema = withOpenApi(zod_openapi_1.z
|
|
791
|
+
.object({
|
|
479
792
|
dateUpdated: dateTimeSchema.optional(),
|
|
480
793
|
label: zod_openapi_1.z.string().optional(),
|
|
481
794
|
contentType: zod_openapi_1.z.string().optional(),
|
|
@@ -487,26 +800,35 @@ exports.datastreamSummarySchema = withOpenApi(zod_openapi_1.z.object({
|
|
|
487
800
|
name: zod_openapi_1.z.string().optional(),
|
|
488
801
|
mimeType: zod_openapi_1.z.string().optional(),
|
|
489
802
|
size: zod_openapi_1.z.number().optional(),
|
|
490
|
-
})
|
|
491
|
-
|
|
803
|
+
})
|
|
804
|
+
.passthrough(), { description: 'Record datastream summary' });
|
|
805
|
+
exports.datastreamUploadFileSchema = withOpenApi(zod_openapi_1.z
|
|
806
|
+
.object({
|
|
492
807
|
fileId: zod_openapi_1.z.string(),
|
|
493
808
|
metadata: jsonObjectSchema.optional(),
|
|
494
|
-
})
|
|
495
|
-
|
|
809
|
+
})
|
|
810
|
+
.passthrough(), { description: 'Uploaded datastream file reference' });
|
|
811
|
+
exports.datastreamUploadResultSchema = withOpenApi(zod_openapi_1.z
|
|
812
|
+
.object({
|
|
496
813
|
success: zod_openapi_1.z.boolean(),
|
|
497
814
|
message: zod_openapi_1.z.string(),
|
|
498
815
|
fileIds: zod_openapi_1.z.array(exports.datastreamUploadFileSchema).optional(),
|
|
499
|
-
})
|
|
816
|
+
})
|
|
817
|
+
.passthrough(), { description: 'Datastream upload result' });
|
|
500
818
|
exports.datastreamUploadResponseSchema = withOpenApi(zod_openapi_1.z.object({
|
|
501
819
|
message: exports.datastreamUploadResultSchema,
|
|
502
820
|
}), { description: 'Datastream upload response' });
|
|
503
821
|
exports.recordAuditEntrySchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), { description: 'Record audit entry' });
|
|
504
|
-
exports.namedQueryResponseRecordSchema = withOpenApi(zod_openapi_1.z
|
|
822
|
+
exports.namedQueryResponseRecordSchema = withOpenApi(zod_openapi_1.z
|
|
823
|
+
.object({
|
|
505
824
|
oid: zod_openapi_1.z.string(),
|
|
506
825
|
title: zod_openapi_1.z.string(),
|
|
507
826
|
metadata: jsonObjectSchema,
|
|
508
827
|
lastSaveDate: dateTimeSchema.nullable(),
|
|
509
828
|
dateCreated: dateTimeSchema.nullable(),
|
|
510
|
-
})
|
|
511
|
-
|
|
512
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1yb3V0ZXMvc2NoZW1hcy9yZXNwb25zZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQThPQSxzREFRQztBQXRQRCxnREFBbUM7QUFLbkMsU0FBUyxXQUFXLENBQW9CLE1BQVMsRUFBRSxRQUFpQztJQUNoRixPQUFRLE1BQTJFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzFHLENBQUM7QUFFRCxNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQyxlQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO0lBQ3JFLFdBQVcsRUFBRSxnQ0FBZ0M7Q0FDaEQsQ0FBQyxDQUFDO0FBRVUsUUFBQSx5QkFBeUIsR0FBRyxXQUFXLENBQ2hELGVBQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxFQUFFLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QixNQUFNLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixJQUFJLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsZUFBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsZUFBQztTQUNKLE1BQU0sQ0FBQztRQUNKLE9BQU8sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQzlCLFNBQVMsRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ2hDLE1BQU0sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ2hDLENBQUM7U0FDRCxPQUFPLEVBQUU7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
|
|
829
|
+
})
|
|
830
|
+
.passthrough(), { description: 'Named query result record' });
|
|
831
|
+
exports.appConfigValueSchema = withOpenApi(zod_openapi_1.z.object({}).passthrough(), {
|
|
832
|
+
description: 'Application configuration payload',
|
|
833
|
+
});
|
|
834
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1yb3V0ZXMvc2NoZW1hcy9yZXNwb25zZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQXNRQSxzREFRQztBQTlRRCxnREFBbUM7QUFJbkMsc0VBcUIwQztBQUUxQyxTQUFTLFdBQVcsQ0FBb0IsTUFBUyxFQUFFLFFBQWlDO0lBQ2xGLE9BQVEsTUFBMkUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDeEcsQ0FBQztBQUVELE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDLGVBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7SUFDdkUsV0FBVyxFQUFFLGdDQUFnQztDQUM5QyxDQUFDLENBQUM7QUFFVSxRQUFBLHlCQUF5QixHQUFHLFdBQVcsQ0FDbEQsZUFBQyxDQUFDLE1BQU0sQ0FBQztJQUNQLEVBQUUsRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pCLE1BQU0sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLElBQUksRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLEtBQUssRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxlQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxlQUFDO1NBQ04sTUFBTSxDQUFDO1FBQ04sT0FBTyxFQUFFLGVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDOUIsU0FBUyxFQUFFLGVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDaEMsTUFBTSxFQUFFLGVBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDOUIsQ0FBQztT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
|