@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
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Services = exports.BrandingTypefaceError = void 0;
|
|
13
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
14
|
+
const PopulateExportedMethods_decorator_1 = require("../decorator/PopulateExportedMethods.decorator");
|
|
15
|
+
const CoreService_1 = require("../CoreService");
|
|
16
|
+
const branding_config_1 = require("../config/branding.config");
|
|
17
|
+
const BrandingTypeface_1 = require("../model/BrandingTypeface");
|
|
18
|
+
const BrandingWoff2Inspector_1 = require("./BrandingWoff2Inspector");
|
|
19
|
+
class BrandingTypefaceError extends Error {
|
|
20
|
+
code;
|
|
21
|
+
constructor(code, message) {
|
|
22
|
+
super(message);
|
|
23
|
+
this.name = 'BrandingTypefaceError';
|
|
24
|
+
this.code = code;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.BrandingTypefaceError = BrandingTypefaceError;
|
|
28
|
+
const FONT_PREFIX = 'branding-fonts/';
|
|
29
|
+
const FONT_CONTENT_TYPE = 'font/woff2';
|
|
30
|
+
const SHA256_RE = /^[0-9a-f]{64}$/;
|
|
31
|
+
const STORAGE_KEY_RE = /^branding-fonts\/([^/]+)\/([0-9a-f]{64})\.woff2$/;
|
|
32
|
+
const SLOT_DESCRIPTORS = {
|
|
33
|
+
regular: { weight: 400, style: 'normal' },
|
|
34
|
+
bold: { weight: 700, style: 'normal' },
|
|
35
|
+
italic: { weight: 400, style: 'italic' },
|
|
36
|
+
boldItalic: { weight: 700, style: 'italic' },
|
|
37
|
+
};
|
|
38
|
+
function readPositiveInt(key, fallback) {
|
|
39
|
+
return (0, branding_config_1.getBrandingPositiveInt)(key, fallback);
|
|
40
|
+
}
|
|
41
|
+
function sha256Hex(bytes) {
|
|
42
|
+
return crypto_1.default.createHash('sha256').update(bytes).digest('hex');
|
|
43
|
+
}
|
|
44
|
+
function isStorageNotFoundError(error) {
|
|
45
|
+
if (!error || typeof error !== 'object') {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
const record = error;
|
|
49
|
+
const message = typeof record.message === 'string' ? record.message.toLowerCase() : '';
|
|
50
|
+
return (record.code === 'ENOENT' ||
|
|
51
|
+
record.status === 404 ||
|
|
52
|
+
record.statusCode === 404 ||
|
|
53
|
+
message.includes('not found') ||
|
|
54
|
+
message.includes('enoent') ||
|
|
55
|
+
message.includes('nosuchkey'));
|
|
56
|
+
}
|
|
57
|
+
var Services;
|
|
58
|
+
(function (Services) {
|
|
59
|
+
let BrandingTypeface = class BrandingTypeface extends CoreService_1.Services.Core.Service {
|
|
60
|
+
/** Fixed CSS descriptor for an explicit slot. */
|
|
61
|
+
slotDescriptor(slot) {
|
|
62
|
+
return { ...SLOT_DESCRIPTORS[slot] };
|
|
63
|
+
}
|
|
64
|
+
/** Canonical immutable storage key for one brand's face bytes. */
|
|
65
|
+
storageKey(brandingId, sha256) {
|
|
66
|
+
return `${FONT_PREFIX}${brandingId}/${sha256}.woff2`;
|
|
67
|
+
}
|
|
68
|
+
/** Portal-independent public URL so all portals under a brand share the browser cache. */
|
|
69
|
+
publicUrl(brandName, sha256) {
|
|
70
|
+
const rootContext = sails?.config?.http?.rootContext;
|
|
71
|
+
const root = rootContext ? `/${rootContext}` : '';
|
|
72
|
+
return `${root}/fonts/branding/${encodeURIComponent(brandName)}/${sha256}.woff2`;
|
|
73
|
+
}
|
|
74
|
+
/** Strict parse of a storage key; returns null for unexpected entries (logged + skipped). */
|
|
75
|
+
parseStorageKey(key) {
|
|
76
|
+
const match = STORAGE_KEY_RE.exec(key);
|
|
77
|
+
if (!match) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
return { brandingId: match[1], sha256: match[2] };
|
|
81
|
+
}
|
|
82
|
+
mismatchWarnings(slot, inspection) {
|
|
83
|
+
const warnings = [];
|
|
84
|
+
const descriptor = SLOT_DESCRIPTORS[slot];
|
|
85
|
+
const subfamily = inspection.subfamily?.toLowerCase();
|
|
86
|
+
const weight = inspection.embeddedWeight ?? (subfamily ? (/bold/.test(subfamily) ? 700 : 400) : undefined);
|
|
87
|
+
const style = inspection.embeddedStyle ?? (subfamily ? (/italic|oblique/.test(subfamily) ? 'italic' : 'normal') : undefined);
|
|
88
|
+
if ((weight !== undefined && weight !== descriptor.weight) ||
|
|
89
|
+
(style !== undefined && style !== descriptor.style)) {
|
|
90
|
+
warnings.push(`embedded descriptors differ from slot "${slot}"; slot remains authoritative`);
|
|
91
|
+
}
|
|
92
|
+
return warnings;
|
|
93
|
+
}
|
|
94
|
+
enforceFamilyLimit(slot, bytes, sha256, existingFaces) {
|
|
95
|
+
const familyMax = readPositiveInt('typefaceFamilyMaxBytes', BrandingTypeface_1.BRANDING_TYPEFACE_FAMILY_MAX_BYTES);
|
|
96
|
+
const sizeByHash = new Map();
|
|
97
|
+
for (const face of existingFaces) {
|
|
98
|
+
if (face.slot !== slot && !sizeByHash.has(face.sha256)) {
|
|
99
|
+
sizeByHash.set(face.sha256, face.sizeBytes);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (!sizeByHash.has(sha256)) {
|
|
103
|
+
sizeByHash.set(sha256, bytes.length);
|
|
104
|
+
}
|
|
105
|
+
let total = 0;
|
|
106
|
+
for (const size of sizeByHash.values()) {
|
|
107
|
+
total += size;
|
|
108
|
+
}
|
|
109
|
+
if (total > familyMax) {
|
|
110
|
+
throw new BrandingTypefaceError('typeface-family-too-large', `Typeface family size ${total} exceeds the configured maximum ${familyMax}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Validate, hash, store (or reuse), and describe one uploaded face.
|
|
115
|
+
* Transport size limits are re-enforced here so Skipper is never the only boundary.
|
|
116
|
+
*/
|
|
117
|
+
async inspectAndStoreFace(input) {
|
|
118
|
+
if (!(0, BrandingTypeface_1.isBrandingTypefaceSlot)(input.slot)) {
|
|
119
|
+
throw new BrandingTypefaceError('typeface-invalid-slot', `Invalid typeface slot: ${String(input.slot)}`);
|
|
120
|
+
}
|
|
121
|
+
const slot = input.slot;
|
|
122
|
+
const bytes = input.bytes;
|
|
123
|
+
if (!bytes || !Buffer.isBuffer(bytes) || bytes.length === 0) {
|
|
124
|
+
throw new BrandingTypefaceError('typeface-empty', 'Empty font upload');
|
|
125
|
+
}
|
|
126
|
+
const faceMax = readPositiveInt('typefaceFaceMaxBytes', BrandingTypeface_1.BRANDING_TYPEFACE_FACE_MAX_BYTES);
|
|
127
|
+
if (bytes.length > faceMax) {
|
|
128
|
+
throw new BrandingTypefaceError('typeface-face-too-large', `Typeface face size ${bytes.length} exceeds the configured maximum ${faceMax}`);
|
|
129
|
+
}
|
|
130
|
+
let inspection;
|
|
131
|
+
try {
|
|
132
|
+
const result = await (0, BrandingWoff2Inspector_1.inspectWoff2Buffer)(bytes);
|
|
133
|
+
if (result.isVariable) {
|
|
134
|
+
throw new BrandingTypefaceError('typeface-variable-font', 'Variable fonts are not supported');
|
|
135
|
+
}
|
|
136
|
+
inspection = result.inspection;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
if (error instanceof BrandingTypefaceError) {
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
const reason = error instanceof BrandingWoff2Inspector_1.Woff2InspectError ? error.message : 'unparseable font data';
|
|
143
|
+
throw new BrandingTypefaceError('typeface-invalid-font', `Invalid WOFF2 font: ${reason}`);
|
|
144
|
+
}
|
|
145
|
+
const sha256 = sha256Hex(bytes);
|
|
146
|
+
this.enforceFamilyLimit(slot, bytes, sha256, input.existingFaces ?? []);
|
|
147
|
+
const key = this.storageKey(input.brandingId, sha256);
|
|
148
|
+
const disk = StorageManagerService.primaryDisk();
|
|
149
|
+
try {
|
|
150
|
+
if (await disk.exists(key)) {
|
|
151
|
+
const stored = Buffer.from(await disk.getBytes(key));
|
|
152
|
+
if (sha256Hex(stored) !== sha256) {
|
|
153
|
+
sails.log.error(`BrandingTypefaceService hash mismatch for brand ${input.brandingId} face ${sha256}`);
|
|
154
|
+
throw new BrandingTypefaceError('typeface-corrupt', 'Stored font bytes failed integrity verification');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
await disk.put(key, bytes, { contentType: FONT_CONTENT_TYPE });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
if (error instanceof BrandingTypefaceError) {
|
|
163
|
+
throw error;
|
|
164
|
+
}
|
|
165
|
+
throw new BrandingTypefaceError('typeface-storage-failed', 'Font storage failed; the typeface draft was not changed');
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
slot,
|
|
169
|
+
sha256,
|
|
170
|
+
originalFilename: String(input.originalFilename ?? 'face.woff2').slice(0, 256),
|
|
171
|
+
sizeBytes: bytes.length,
|
|
172
|
+
uploadedAt: new Date().toISOString(),
|
|
173
|
+
inspection,
|
|
174
|
+
warnings: this.mismatchWarnings(slot, inspection),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/** Lightweight existence probe for advisory health checks (no byte reads, no hashing). */
|
|
178
|
+
async faceExists(brandingId, sha256) {
|
|
179
|
+
if (!SHA256_RE.test(sha256)) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
try {
|
|
183
|
+
return await StorageManagerService.primaryDisk().exists(this.storageKey(brandingId, sha256));
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
/** Read and hash-verify one stored face. Never substitutes another font. */
|
|
190
|
+
async readFace(brandingId, sha256) {
|
|
191
|
+
if (!SHA256_RE.test(sha256)) {
|
|
192
|
+
throw new BrandingTypefaceError('typeface-not-found', 'Font not found');
|
|
193
|
+
}
|
|
194
|
+
const key = this.storageKey(brandingId, sha256);
|
|
195
|
+
let stored;
|
|
196
|
+
try {
|
|
197
|
+
stored = Buffer.from(await StorageManagerService.primaryDisk().getBytes(key));
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
if (!isStorageNotFoundError(error)) {
|
|
201
|
+
sails.log.warn(`BrandingTypefaceService storage read failed for brand ${brandingId}:`, error);
|
|
202
|
+
}
|
|
203
|
+
throw new BrandingTypefaceError('typeface-not-found', 'Font not found');
|
|
204
|
+
}
|
|
205
|
+
if (sha256Hex(stored) !== sha256) {
|
|
206
|
+
sails.log.error(`BrandingTypefaceService hash mismatch for brand ${brandingId} face ${sha256}`);
|
|
207
|
+
throw new BrandingTypefaceError('typeface-corrupt', 'Stored font bytes failed integrity verification');
|
|
208
|
+
}
|
|
209
|
+
return stored;
|
|
210
|
+
}
|
|
211
|
+
/** Verify every face referenced by a candidate snapshot before publish/restore. */
|
|
212
|
+
async assertTypefaceAvailable(brandingId, typeface) {
|
|
213
|
+
const state = (0, BrandingTypeface_1.normalizeTypefaceState)(typeface);
|
|
214
|
+
for (const face of (0, BrandingTypeface_1.orderedTypefaceFaces)(state)) {
|
|
215
|
+
await this.readFace(brandingId, face.sha256);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
/** Collect every storage key referenced by any brand's active/draft typeface or retained history. */
|
|
219
|
+
async collectReferencedKeys() {
|
|
220
|
+
const referenced = new Map();
|
|
221
|
+
const addState = (brandingId, typeface) => {
|
|
222
|
+
for (const face of (0, BrandingTypeface_1.orderedTypefaceFaces)((0, BrandingTypeface_1.normalizeTypefaceState)(typeface))) {
|
|
223
|
+
const key = this.storageKey(brandingId, face.sha256);
|
|
224
|
+
referenced.set(key, { brandingId, sha256: face.sha256 });
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
const brands = (await BrandingConfig.find({}));
|
|
228
|
+
for (const brand of brands) {
|
|
229
|
+
const brandingId = String(brand.id);
|
|
230
|
+
addState(brandingId, brand.typeface);
|
|
231
|
+
addState(brandingId, brand.draftTypeface);
|
|
232
|
+
}
|
|
233
|
+
const histories = (await BrandingConfigHistory.find({}));
|
|
234
|
+
for (const history of histories) {
|
|
235
|
+
const branding = history.branding;
|
|
236
|
+
const brandingId = String(typeof branding === 'object' && branding !== null ? (branding.id ?? '') : branding);
|
|
237
|
+
if (brandingId) {
|
|
238
|
+
addState(brandingId, history.typeface);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return referenced;
|
|
242
|
+
}
|
|
243
|
+
/** Fresh per-key reference check used immediately before each deletion (scan/delete race). */
|
|
244
|
+
async isKeyReferenced(brandingId, sha256) {
|
|
245
|
+
const brand = await BrandingConfig.findOne({ id: brandingId });
|
|
246
|
+
if (brand) {
|
|
247
|
+
for (const source of [brand.typeface, brand.draftTypeface]) {
|
|
248
|
+
if ((0, BrandingTypeface_1.orderedTypefaceFaces)((0, BrandingTypeface_1.normalizeTypefaceState)(source)).some(face => face.sha256 === sha256)) {
|
|
249
|
+
return true;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
const histories = (await BrandingConfigHistory.find({
|
|
254
|
+
branding: brandingId,
|
|
255
|
+
}));
|
|
256
|
+
for (const history of histories) {
|
|
257
|
+
if ((0, BrandingTypeface_1.orderedTypefaceFaces)((0, BrandingTypeface_1.normalizeTypefaceState)(history.typeface)).some(face => face.sha256 === sha256)) {
|
|
258
|
+
return true;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Delete only objects that remain unreferenced and outside the grace period.
|
|
265
|
+
* Individual failures are logged and retried on the next run; they never abort the scan.
|
|
266
|
+
*/
|
|
267
|
+
async reconcileAssets(options) {
|
|
268
|
+
const now = options?.now ?? Date.now();
|
|
269
|
+
const graceMs = options?.graceMs ?? readPositiveInt('typefaceOrphanGraceMs', BrandingTypeface_1.BRANDING_TYPEFACE_ORPHAN_GRACE_MS);
|
|
270
|
+
const referenced = await this.collectReferencedKeys();
|
|
271
|
+
const disk = StorageManagerService.primaryDisk();
|
|
272
|
+
const result = {
|
|
273
|
+
scanned: 0,
|
|
274
|
+
referenced: referenced.size,
|
|
275
|
+
deleted: 0,
|
|
276
|
+
skippedGrace: 0,
|
|
277
|
+
skippedUnexpected: 0,
|
|
278
|
+
failures: 0,
|
|
279
|
+
};
|
|
280
|
+
let paginationToken;
|
|
281
|
+
// Collect keys first, then mutate: offset-based listings shift when an
|
|
282
|
+
// earlier page entry is deleted mid-scan, which would skip entries.
|
|
283
|
+
const keys = [];
|
|
284
|
+
for (;;) {
|
|
285
|
+
const listing = await disk.listAll(FONT_PREFIX, {
|
|
286
|
+
recursive: true,
|
|
287
|
+
...(paginationToken ? { paginationToken } : {}),
|
|
288
|
+
});
|
|
289
|
+
for (const entry of listing.objects) {
|
|
290
|
+
const record = entry;
|
|
291
|
+
keys.push(typeof record === 'string' ? record : String(record.key ?? record.name ?? ''));
|
|
292
|
+
}
|
|
293
|
+
paginationToken = listing.paginationToken;
|
|
294
|
+
if (!paginationToken) {
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
for (const key of keys) {
|
|
299
|
+
result.scanned += 1;
|
|
300
|
+
const parsed = this.parseStorageKey(key);
|
|
301
|
+
if (!parsed) {
|
|
302
|
+
result.skippedUnexpected += 1;
|
|
303
|
+
sails.log.warn(`BrandingTypefaceService reconciliation skipping unexpected key under ${FONT_PREFIX}`);
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
if (referenced.has(key)) {
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
let lastModified;
|
|
310
|
+
try {
|
|
311
|
+
const meta = await disk.getMetaData(key);
|
|
312
|
+
lastModified = meta.lastModified;
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
if (isStorageNotFoundError(error)) {
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
result.failures += 1;
|
|
319
|
+
sails.log.warn(`BrandingTypefaceService reconciliation metadata failed for brand ${parsed.brandingId}:`, error);
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
if (now - lastModified.getTime() < graceMs) {
|
|
323
|
+
result.skippedGrace += 1;
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
326
|
+
// Close the scan/delete race with a fresh reference read.
|
|
327
|
+
try {
|
|
328
|
+
if (await this.isKeyReferenced(parsed.brandingId, parsed.sha256)) {
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
result.failures += 1;
|
|
334
|
+
sails.log.warn(`BrandingTypefaceService reconciliation recheck failed for brand ${parsed.brandingId}:`, error);
|
|
335
|
+
continue;
|
|
336
|
+
}
|
|
337
|
+
try {
|
|
338
|
+
await disk.delete(key);
|
|
339
|
+
result.deleted += 1;
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
if (isStorageNotFoundError(error)) {
|
|
343
|
+
continue;
|
|
344
|
+
}
|
|
345
|
+
result.failures += 1;
|
|
346
|
+
sails.log.warn(`BrandingTypefaceService reconciliation delete failed for brand ${parsed.brandingId}:`, error);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
sails.log.info(`BrandingTypefaceService reconciliation: scanned=${result.scanned} referenced=${result.referenced} ` +
|
|
350
|
+
`deleted=${result.deleted} skippedGrace=${result.skippedGrace} skippedUnexpected=${result.skippedUnexpected} failures=${result.failures}.`);
|
|
351
|
+
return result;
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
BrandingTypeface = __decorate([
|
|
355
|
+
PopulateExportedMethods_decorator_1.PopulateExportedMethods
|
|
356
|
+
], BrandingTypeface);
|
|
357
|
+
Services.BrandingTypeface = BrandingTypeface;
|
|
358
|
+
})(Services || (exports.Services = Services = {}));
|
|
359
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhbmRpbmdUeXBlZmFjZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvQnJhbmRpbmdUeXBlZmFjZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLHNHQUF5RjtBQUN6RixnREFBc0Q7QUFDdEQsK0RBQW1FO0FBQ25FLGdFQVdtQztBQUNuQyxxRUFBaUY7QUFlakYsTUFBYSxxQkFBc0IsU0FBUSxLQUFLO0lBQ3JDLElBQUksQ0FBNEI7SUFDekMsWUFBWSxJQUErQixFQUFFLE9BQWU7UUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFQRCxzREFPQztBQXlCRCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQztBQUN0QyxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQztBQUN2QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztBQUNuQyxNQUFNLGNBQWMsR0FBRyxrREFBa0QsQ0FBQztBQUUxRSxNQUFNLGdCQUFnQixHQUFpRTtJQUNyRixPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7SUFDekMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0lBQ3RDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtJQUN4QyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUU7Q0FDN0MsQ0FBQztBQUVGLFNBQVMsZUFBZSxDQUN0QixHQUFnRixFQUNoRixRQUFnQjtJQUVoQixPQUFP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
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { BrandingTypefaceInspection } from '../model/BrandingTypeface';
|
|
2
|
+
export declare const WOFF2_SIGNATURE = 2001684018;
|
|
3
|
+
export type Woff2InspectErrorCode = 'DECODE_FAILED' | 'EMPTY' | 'TRUNCATED' | 'BAD_SIGNATURE' | 'BAD_FLAVOR' | 'BAD_TABLE_COUNT' | 'BAD_DIRECTORY' | 'OVERLAP' | 'COLLECTION_UNSUPPORTED';
|
|
4
|
+
export declare class Woff2InspectError extends Error {
|
|
5
|
+
readonly code: Woff2InspectErrorCode;
|
|
6
|
+
constructor(code: Woff2InspectErrorCode, message: string);
|
|
7
|
+
}
|
|
8
|
+
export interface Woff2InspectResult {
|
|
9
|
+
/** True when an `fvar` table entry is present (variable font). */
|
|
10
|
+
isVariable: boolean;
|
|
11
|
+
/** Resolved table tags in directory order. */
|
|
12
|
+
tableTags: string[];
|
|
13
|
+
/** Best-effort standard sfnt metadata, with optional XML fallback. */
|
|
14
|
+
inspection: BrandingTypefaceInspection;
|
|
15
|
+
}
|
|
16
|
+
export declare function inspectWoff2Buffer(input: Buffer): Promise<Woff2InspectResult>;
|
|
17
|
+
//# sourceMappingURL=BrandingWoff2Inspector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrandingWoff2Inspector.d.ts","sourceRoot":"","sources":["../../src/services/BrandingWoff2Inspector.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,eAAO,MAAM,eAAe,aAAa,CAAC;AAwE1C,MAAM,MAAM,qBAAqB,GAC7B,eAAe,GACf,OAAO,GACP,WAAW,GACX,eAAe,GACf,YAAY,GACZ,iBAAiB,GACjB,eAAe,GACf,SAAS,GACT,wBAAwB,CAAC;AAE7B,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;gBACzB,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM;CAKzD;AAED,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sEAAsE;IACtE,UAAU,EAAE,0BAA0B,CAAC;CACxC;AAqOD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAoGnF"}
|