@researchdatabox/redbox-core 0.0.1-beta.9228 → 0.0.1-beta.9604
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/CoreController.d.ts +4 -0
- package/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +40 -4
- package/dist/DatastreamService.d.ts +5 -2
- package/dist/DatastreamService.d.ts.map +1 -1
- package/dist/QueueService.d.ts +1 -1
- package/dist/QueueService.d.ts.map +1 -1
- package/dist/RecordsService.d.ts +38 -2
- package/dist/RecordsService.d.ts.map +1 -1
- package/dist/StorageService.d.ts +2 -1
- package/dist/StorageService.d.ts.map +1 -1
- package/dist/api-routes/apib.d.ts +7 -0
- package/dist/api-routes/apib.d.ts.map +1 -0
- package/dist/api-routes/apib.js +43 -0
- package/dist/api-routes/define.d.ts +4 -0
- package/dist/api-routes/define.d.ts.map +1 -0
- package/dist/api-routes/define.js +29 -0
- package/dist/api-routes/groups/admin.d.ts +6 -0
- package/dist/api-routes/groups/admin.d.ts.map +1 -0
- package/dist/api-routes/groups/admin.js +53 -0
- package/dist/api-routes/groups/appconfig.d.ts +4 -0
- package/dist/api-routes/groups/appconfig.d.ts.map +1 -0
- package/dist/api-routes/groups/appconfig.js +33 -0
- package/dist/api-routes/groups/branding.d.ts +8 -0
- package/dist/api-routes/groups/branding.d.ts.map +1 -0
- package/dist/api-routes/groups/branding.js +61 -0
- package/dist/api-routes/groups/dashboard-config.d.ts +11 -0
- package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -0
- package/dist/api-routes/groups/dashboard-config.js +90 -0
- package/dist/api-routes/groups/export.d.ts +3 -0
- package/dist/api-routes/groups/export.d.ts.map +1 -0
- package/dist/api-routes/groups/export.js +30 -0
- package/dist/api-routes/groups/forms.d.ts +4 -0
- package/dist/api-routes/groups/forms.d.ts.map +1 -0
- package/dist/api-routes/groups/forms.js +29 -0
- package/dist/api-routes/groups/integration-audit.d.ts +3 -0
- package/dist/api-routes/groups/integration-audit.d.ts.map +1 -0
- package/dist/api-routes/groups/integration-audit.js +35 -0
- package/dist/api-routes/groups/notifications.d.ts +3 -0
- package/dist/api-routes/groups/notifications.d.ts.map +1 -0
- package/dist/api-routes/groups/notifications.js +20 -0
- package/dist/api-routes/groups/records.d.ts +28 -0
- package/dist/api-routes/groups/records.d.ts.map +1 -0
- package/dist/api-routes/groups/records.js +349 -0
- package/dist/api-routes/groups/recordtypes.d.ts +4 -0
- package/dist/api-routes/groups/recordtypes.d.ts.map +1 -0
- package/dist/api-routes/groups/recordtypes.js +27 -0
- package/dist/api-routes/groups/reports.d.ts +3 -0
- package/dist/api-routes/groups/reports.d.ts.map +1 -0
- package/dist/api-routes/groups/reports.js +20 -0
- package/dist/api-routes/groups/search-query.d.ts +4 -0
- package/dist/api-routes/groups/search-query.d.ts.map +1 -0
- package/dist/api-routes/groups/search-query.js +51 -0
- package/dist/api-routes/groups/search.d.ts +6 -0
- package/dist/api-routes/groups/search.d.ts.map +1 -0
- package/dist/api-routes/groups/search.js +31 -0
- package/dist/api-routes/groups/translation.d.ts +8 -0
- package/dist/api-routes/groups/translation.d.ts.map +1 -0
- package/dist/api-routes/groups/translation.js +82 -0
- package/dist/api-routes/groups/users.d.ts +17 -0
- package/dist/api-routes/groups/users.d.ts.map +1 -0
- package/dist/api-routes/groups/users.js +149 -0
- package/dist/api-routes/groups/vocabulary.d.ts +10 -0
- package/dist/api-routes/groups/vocabulary.d.ts.map +1 -0
- package/dist/api-routes/groups/vocabulary.js +97 -0
- package/dist/api-routes/helpers.d.ts +29 -0
- package/dist/api-routes/helpers.d.ts.map +1 -0
- package/dist/api-routes/helpers.js +486 -0
- package/dist/api-routes/index.d.ts +25 -0
- package/dist/api-routes/index.d.ts.map +1 -0
- package/dist/api-routes/index.js +41 -0
- package/dist/api-routes/openapi.d.ts +27 -0
- package/dist/api-routes/openapi.d.ts.map +1 -0
- package/dist/api-routes/openapi.js +273 -0
- package/dist/api-routes/request-extraction.d.ts +14 -0
- package/dist/api-routes/request-extraction.d.ts.map +1 -0
- package/dist/api-routes/request-extraction.js +100 -0
- package/dist/api-routes/route-factory.d.ts +3 -0
- package/dist/api-routes/route-factory.d.ts.map +1 -0
- package/dist/api-routes/route-factory.js +30 -0
- package/dist/api-routes/route-registry.d.ts +24 -0
- package/dist/api-routes/route-registry.d.ts.map +1 -0
- package/dist/api-routes/route-registry.js +113 -0
- package/dist/api-routes/route-resolution.d.ts +4 -0
- package/dist/api-routes/route-resolution.d.ts.map +1 -0
- package/dist/api-routes/route-resolution.js +57 -0
- package/dist/api-routes/schemas/common.d.ts +37 -0
- package/dist/api-routes/schemas/common.d.ts.map +1 -0
- package/dist/api-routes/schemas/common.js +147 -0
- package/dist/api-routes/schemas/responses.d.ts +2904 -0
- package/dist/api-routes/schemas/responses.d.ts.map +1 -0
- package/dist/api-routes/schemas/responses.js +417 -0
- package/dist/api-routes/types.d.ts +70 -0
- package/dist/api-routes/types.d.ts.map +1 -0
- package/dist/api-routes/types.js +3 -0
- package/dist/api-routes/validation.d.ts +32 -0
- package/dist/api-routes/validation.d.ts.map +1 -0
- package/dist/api-routes/validation.js +142 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +10 -10
- package/dist/config/agendaQueue.config.d.ts +25 -1
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +19 -2
- package/dist/config/auth.config.d.ts.map +1 -1
- package/dist/config/auth.config.js +21 -2
- package/dist/config/branding.config.d.ts +2 -1
- package/dist/config/branding.config.d.ts.map +1 -1
- package/dist/config/branding.config.js +5 -95
- package/dist/config/brandingConfigurationDefaults.config.js +3 -3
- package/dist/config/dashboardtype.config.d.ts +5 -0
- package/dist/config/dashboardtype.config.d.ts.map +1 -1
- package/dist/config/dashboardtype.config.js +1 -1
- package/dist/config/dashboardview.config.d.ts +24 -0
- package/dist/config/dashboardview.config.d.ts.map +1 -0
- package/dist/config/dashboardview.config.js +137 -0
- package/dist/config/dompurify.config.d.ts.map +1 -1
- package/dist/config/dompurify.config.js +2 -2
- package/dist/config/form.config.d.ts +4 -0
- package/dist/config/form.config.d.ts.map +1 -1
- package/dist/config/form.config.js +1 -1
- package/dist/config/http.config.d.ts +1 -1
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +36 -6
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -1
- package/dist/config/namedQuery.config.d.ts +10 -2
- package/dist/config/namedQuery.config.d.ts.map +1 -1
- package/dist/config/namedQuery.config.js +17 -17
- package/dist/config/policies.config.d.ts +3 -0
- package/dist/config/policies.config.d.ts.map +1 -1
- package/dist/config/policies.config.js +35 -1
- package/dist/config/record.config.d.ts.map +1 -1
- package/dist/config/record.config.js +2 -1
- package/dist/config/recordtype.config.d.ts +28 -0
- package/dist/config/recordtype.config.d.ts.map +1 -1
- package/dist/config/recordtype.config.js +85 -9
- package/dist/config/routes.config.d.ts +5 -2
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +28 -113
- package/dist/config/storage.config.d.ts +20 -2
- package/dist/config/storage.config.d.ts.map +1 -1
- package/dist/config/storage.config.js +2 -1
- package/dist/config/validators.config.d.ts +6 -4
- package/dist/config/validators.config.d.ts.map +1 -1
- package/dist/config/validators.config.js +5 -3
- package/dist/config/vocab.config.d.ts +30 -0
- package/dist/config/vocab.config.d.ts.map +1 -1
- package/dist/config/vocab.config.js +21 -1
- package/dist/config/webpack.config.d.ts.map +1 -1
- package/dist/config/webpack.config.js +18 -12
- package/dist/config/workflow.config.d.ts +0 -1
- package/dist/config/workflow.config.d.ts.map +1 -1
- package/dist/config/workflow.config.js +1 -137
- package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
- package/dist/configmodels/AdminSidebarConfig.js +1 -2
- package/dist/configmodels/ConfigModels.d.ts +1 -1
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +9 -1
- package/dist/configmodels/DashboardTableOverrideConfig.d.ts +1011 -0
- package/dist/configmodels/DashboardTableOverrideConfig.d.ts.map +1 -0
- package/dist/configmodels/DashboardTableOverrideConfig.js +138 -0
- package/dist/controllers/AdminController.d.ts +0 -1
- package/dist/controllers/AdminController.d.ts.map +1 -1
- package/dist/controllers/AdminController.js +2 -32
- package/dist/controllers/BrandingAppController.js +2 -2
- package/dist/controllers/BrandingController.d.ts +11 -5
- package/dist/controllers/BrandingController.d.ts.map +1 -1
- package/dist/controllers/BrandingController.js +116 -48
- package/dist/controllers/DashboardConfigController.d.ts +8 -0
- package/dist/controllers/DashboardConfigController.d.ts.map +1 -0
- package/dist/controllers/DashboardConfigController.js +17 -0
- package/dist/controllers/DynamicAssetController.d.ts +1 -21
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +19 -41
- package/dist/controllers/EmailController.d.ts.map +1 -1
- package/dist/controllers/EmailController.js +16 -12
- package/dist/controllers/FormVocabularyController.d.ts +3 -0
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +151 -4
- package/dist/controllers/RecordController.d.ts +18 -1
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +295 -129
- package/dist/controllers/RenderViewController.d.ts.map +1 -1
- package/dist/controllers/RenderViewController.js +4 -2
- package/dist/controllers/TranslationController.d.ts.map +1 -1
- package/dist/controllers/TranslationController.js +5 -4
- package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
- package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
- package/dist/controllers/WorkspaceTypesController.js +120 -31
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +7 -4
- package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
- package/dist/controllers/webservice/AdminController.js +16 -17
- package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
- package/dist/controllers/webservice/AppConfigController.js +19 -20
- package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
- package/dist/controllers/webservice/BrandingController.js +102 -49
- package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
- package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
- package/dist/controllers/webservice/DashboardConfigController.js +241 -0
- package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ExportController.js +11 -11
- package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/FormManagementController.js +11 -13
- package/dist/controllers/webservice/RecordController.d.ts +4 -0
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +428 -257
- package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordTypeController.js +9 -10
- package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ReportController.js +18 -20
- package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
- package/dist/controllers/webservice/SearchController.js +28 -35
- package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
- package/dist/controllers/webservice/TranslationController.js +65 -43
- package/dist/controllers/webservice/UserManagementController.d.ts +1 -1
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/UserManagementController.js +114 -101
- package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
- package/dist/controllers/webservice/VocabularyController.js +76 -28
- 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/hooks/webpack.d.ts.map +1 -1
- package/dist/hooks/webpack.js +17 -7
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/loader/index.d.ts +6 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +57 -10
- package/dist/middleware/redboxSession.d.ts.map +1 -1
- package/dist/middleware/redboxSession.js +6 -2
- package/dist/model/BuildResponse.d.ts +4 -0
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
- package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
- package/dist/model/DashboardTypeResponseModel.js +12 -4
- package/dist/model/DashboardViewResponseModel.d.ts +20 -0
- package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
- package/dist/model/DashboardViewResponseModel.js +38 -0
- package/dist/model/RecordTypeResponseModel.d.ts +3 -1
- package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
- package/dist/model/RecordTypeResponseModel.js +4 -2
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +5 -2
- package/dist/model/storage/BrandingModel.d.ts +0 -16
- package/dist/model/storage/BrandingModel.d.ts.map +1 -1
- package/dist/model/storage/BrandingModel.js +2 -51
- package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
- package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
- package/dist/model/storage/RecordTypeModel.d.ts +16 -0
- package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
- package/dist/model/storage/RecordTypeModel.js +9 -1
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
- package/dist/policies/contentSecurityPolicy.js +23 -2
- package/dist/policies/index.d.ts +3 -0
- package/dist/policies/index.d.ts.map +1 -1
- package/dist/policies/index.js +6 -2
- package/dist/policies/validateApiContractRequest.d.ts +3 -0
- package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
- package/dist/policies/validateApiContractRequest.js +74 -0
- package/dist/responses/badRequest.d.ts.map +1 -1
- package/dist/responses/badRequest.js +5 -3
- package/dist/responses/created.d.ts.map +1 -1
- package/dist/responses/created.js +5 -3
- package/dist/responses/forbidden.d.ts.map +1 -1
- package/dist/responses/forbidden.js +5 -3
- package/dist/responses/ok.d.ts.map +1 -1
- package/dist/responses/ok.js +5 -3
- package/dist/responses/serverError.d.ts.map +1 -1
- package/dist/responses/serverError.js +5 -3
- package/dist/responses/siteTitle.d.ts +6 -0
- package/dist/responses/siteTitle.d.ts.map +1 -0
- package/dist/responses/siteTitle.js +28 -0
- package/dist/sails.d.ts +9 -0
- package/dist/sails.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.d.ts +38 -17
- package/dist/services/AgendaQueueService.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.js +311 -81
- package/dist/services/AttachmentMetadataService.d.ts +34 -0
- package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
- package/dist/services/AttachmentMetadataService.js +133 -0
- package/dist/services/BrandingLogoService.d.ts +6 -8
- package/dist/services/BrandingLogoService.d.ts.map +1 -1
- package/dist/services/BrandingLogoService.js +66 -72
- package/dist/services/BrandingService.d.ts.map +1 -1
- package/dist/services/BrandingService.js +4 -32
- package/dist/services/BrandingThemeCssService.d.ts +21 -0
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -0
- package/dist/services/BrandingThemeCssService.js +113 -0
- package/dist/services/BrandingThemeTokens.d.ts +16 -0
- package/dist/services/BrandingThemeTokens.d.ts.map +1 -0
- package/dist/services/BrandingThemeTokens.js +82 -0
- package/dist/services/CacheService.d.ts.map +1 -1
- package/dist/services/CacheService.js +37 -29
- package/dist/services/DashboardConfigService.d.ts +71 -0
- package/dist/services/DashboardConfigService.d.ts.map +1 -0
- package/dist/services/DashboardConfigService.js +309 -0
- package/dist/services/DashboardTypesService.d.ts +61 -63
- package/dist/services/DashboardTypesService.d.ts.map +1 -1
- package/dist/services/DashboardTypesService.js +361 -198
- package/dist/services/DoiService.d.ts +11 -0
- package/dist/services/DoiService.d.ts.map +1 -1
- package/dist/services/DoiService.js +206 -1
- package/dist/services/FigshareService.d.ts.map +1 -1
- package/dist/services/FigshareService.js +5 -1
- package/dist/services/FormPayloadPrehydrateService.d.ts +35 -0
- package/dist/services/FormPayloadPrehydrateService.d.ts.map +1 -0
- package/dist/services/FormPayloadPrehydrateService.js +200 -0
- package/dist/services/FormRecordConsistencyService.d.ts +3 -3
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
- package/dist/services/FormRecordConsistencyService.js +18 -18
- package/dist/services/FormVocabularyService.d.ts +45 -0
- package/dist/services/FormVocabularyService.d.ts.map +1 -0
- package/dist/services/FormVocabularyService.js +326 -0
- package/dist/services/FormsService.js +5 -5
- package/dist/services/I18nEntriesService.d.ts +9 -4
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +96 -18
- package/dist/services/NamedQueryService.d.ts +27 -9
- package/dist/services/NamedQueryService.d.ts.map +1 -1
- package/dist/services/NamedQueryService.js +223 -55
- package/dist/services/OniService.js +2 -2
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +3 -2
- package/dist/services/RecordsService.d.ts +8 -2
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +66 -18
- package/dist/services/ReportsService.d.ts.map +1 -1
- package/dist/services/ReportsService.js +7 -1
- package/dist/services/SassCompilerService.d.ts +4 -10
- package/dist/services/SassCompilerService.d.ts.map +1 -1
- package/dist/services/SassCompilerService.js +9 -173
- package/dist/services/StandardDatastreamService.d.ts +37 -5
- package/dist/services/StandardDatastreamService.d.ts.map +1 -1
- package/dist/services/StandardDatastreamService.js +535 -38
- package/dist/services/StorageManagerService.d.ts +13 -1
- package/dist/services/StorageManagerService.d.ts.map +1 -1
- package/dist/services/StorageManagerService.js +94 -11
- package/dist/services/TemplateService.d.ts +1 -17
- package/dist/services/TemplateService.d.ts.map +1 -1
- package/dist/services/TemplateService.js +5 -50
- package/dist/services/VocabularyService.d.ts +12 -0
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +201 -14
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +2 -8
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +2 -5
- package/dist/services/index.d.ts +15 -3
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +27 -7
- package/dist/storage/GridFSDriver.d.ts +101 -0
- package/dist/storage/GridFSDriver.d.ts.map +1 -0
- package/dist/storage/GridFSDriver.js +291 -0
- package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
- package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
- package/dist/storage/TusStorageManagerDataStore.js +300 -0
- package/dist/visitor/attachment-fields.visitor.d.ts +17 -17
- package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -1
- package/dist/visitor/attachment-fields.visitor.js +44 -34
- package/dist/visitor/client.visitor.d.ts +93 -92
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +159 -159
- package/dist/visitor/construct.visitor.d.ts +95 -95
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +159 -156
- package/dist/visitor/context-variables.visitor.d.ts +35 -35
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +85 -75
- package/dist/visitor/data-value.visitor.d.ts +95 -95
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +151 -151
- package/dist/visitor/json-type-def.visitor.d.ts +92 -92
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +152 -152
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +96 -96
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +205 -184
- package/dist/visitor/template.visitor.d.ts +96 -94
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +214 -159
- package/dist/visitor/validator.visitor.d.ts +92 -92
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +175 -154
- package/dist/visitor/visitor-helpers.js +9 -9
- package/dist/visitor/vocab-inline.visitor.d.ts +18 -18
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +67 -53
- package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
- package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
- package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
- package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
- package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
- package/dist/waterline-models/AttachmentMetadata.js +147 -0
- package/dist/waterline-models/BrandingConfig.d.ts +0 -2
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfig.js +5 -9
- package/dist/waterline-models/DashboardType.d.ts +7 -0
- package/dist/waterline-models/DashboardType.d.ts.map +1 -1
- package/dist/waterline-models/DashboardType.js +16 -1
- package/dist/waterline-models/I18nTranslation.d.ts +2 -0
- package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
- package/dist/waterline-models/I18nTranslation.js +6 -1
- package/dist/waterline-models/NamedQuery.d.ts +6 -0
- package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
- package/dist/waterline-models/NamedQuery.js +16 -1
- package/dist/waterline-models/index.d.ts +4 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +7 -1
- package/package.json +36 -23
- package/dist/controllers/VocabController.d.ts +0 -43
- package/dist/controllers/VocabController.d.ts.map +0 -1
- package/dist/controllers/VocabController.js +0 -190
- package/dist/services/VocabService.d.ts +0 -81
- package/dist/services/VocabService.d.ts.map +0 -1
- package/dist/services/VocabService.js +0 -424
|
@@ -160,6 +160,9 @@ var Services;
|
|
|
160
160
|
throw new Error(`Report '${name}' is missing databaseQuery config`);
|
|
161
161
|
}
|
|
162
162
|
const namedQueryConfig = await NamedQueryService.getNamedQueryConfig(brand, report.databaseQuery.queryName);
|
|
163
|
+
if (!namedQueryConfig) {
|
|
164
|
+
throw new Error(`Named query '${report.databaseQuery.queryName}' not found`);
|
|
165
|
+
}
|
|
163
166
|
const paramMap = this.buildNamedQueryParamMap(req, report);
|
|
164
167
|
const dbResult = await NamedQueryService.performNamedQueryFromConfig(namedQueryConfig, paramMap, brand, start, rows);
|
|
165
168
|
return this.getTranslateDatabaseResultToReportResult(dbResult, report);
|
|
@@ -265,6 +268,9 @@ var Services;
|
|
|
265
268
|
throw new Error(`Report '${name}' is missing databaseQuery config`);
|
|
266
269
|
}
|
|
267
270
|
const namedQueryConfig = await NamedQueryService.getNamedQueryConfig(brand, report.databaseQuery.queryName);
|
|
271
|
+
if (!namedQueryConfig) {
|
|
272
|
+
throw new Error(`Named query '${report.databaseQuery.queryName}' not found`);
|
|
273
|
+
}
|
|
268
274
|
const paramMap = this.buildNamedQueryParamMap(req, report);
|
|
269
275
|
const dbResult = await NamedQueryService.performNamedQueryFromConfig(namedQueryConfig, paramMap, brand, start, rows);
|
|
270
276
|
result = this.getTranslateDatabaseResultToReportResult(dbResult, report);
|
|
@@ -472,4 +478,4 @@ var Services;
|
|
|
472
478
|
}
|
|
473
479
|
Services.Reports = Reports;
|
|
474
480
|
})(Services || (exports.Services = Services = {}));
|
|
475
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0c1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVwb3J0c1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7QUFFOUQsK0JBQTREO0FBQzVELDhDQUEyRDtBQUUzRCwrREFBMEc7QUFLMUcsZ0RBQXNEO0FBRXRELHNFQUFvSDtBQUNwSCw2Q0FBK0M7QUFDL0MsNERBQW9DO0FBNkJwQyxJQUFpQixRQUFRLENBK2V4QjtBQS9lRCxXQUFpQixRQUFRO0lBQ3ZCOzs7OztPQUtHO0lBQ0gsTUFBYSxPQUFRLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUVoRCxhQUFhLENBQWlCO1FBQzlCLHFFQUFxRTtRQUM3RCxpQkFBaUIsR0FBNEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMvRSwwQ0FBMEM7UUFDbEMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO1FBRXhCLGdCQUFnQixHQUFhO1lBQzlDLFdBQVc7WUFDWCxRQUFRO1lBQ1Isd0JBQXdCO1lBQ3hCLEtBQUs7WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsZ0NBQWdDO1lBQ2hDLGFBQWE7WUFDYixpQkFBaUI7U0FDbEIsQ0FBQztRQUVNLGNBQWM7WUFDcEIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVNLFNBQVMsR0FBRyxDQUFDLFFBQXVCLEVBQUUsRUFBRTtZQUM3QyxJQUFJ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
|
|
481
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0c1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVwb3J0c1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7QUFFOUQsK0JBQTREO0FBQzVELDhDQUEyRDtBQUUzRCwrREFBMEc7QUFLMUcsZ0RBQXNEO0FBRXRELHNFQUFvSDtBQUNwSCw2Q0FBK0M7QUFDL0MsNERBQW9DO0FBNkJwQyxJQUFpQixRQUFRLENBcWZ4QjtBQXJmRCxXQUFpQixRQUFRO0lBQ3ZCOzs7OztPQUtHO0lBQ0gsTUFBYSxPQUFRLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUVoRCxhQUFhLENBQWlCO1FBQzlCLHFFQUFxRTtRQUM3RCxpQkFBaUIsR0FBNEMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUMvRSwwQ0FBMEM7UUFDbEMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO1FBRXhCLGdCQUFnQixHQUFhO1lBQzlDLFdBQVc7WUFDWCxRQUFRO1lBQ1Isd0JBQXdCO1lBQ3hCLEtBQUs7WUFDTCxZQUFZO1lBQ1osY0FBYztZQUNkLGNBQWM7WUFDZCx3QkFBd0I7WUFDeEIsZ0NBQWdDO1lBQ2hDLGFBQWE7WUFDYixpQkFBaUI7U0FDbEIsQ0FBQztRQUVNLGNBQWM7WUFDcEIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVNLFNBQVMsR0FBRyxDQUFDLFFBQXVCLEVBQUUsRUFBRTtZQUM3QyxJQUFJLFdBQWlDLENBQUM7WUFDdEMsSUFBSSxDQUFDO2dCQUNILFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEMsQ0FBQztZQUFDLE9BQU8sTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsc0VBQXNFLENBQUMsQ0FBQztnQkFDeEcsT0FBTyxJQUFBLFNBQUUsRUFBQyxFQUFpQixDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBZ0IsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDekQsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFO2FBQ3RCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFBLG9CQUFPLEVBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUN2QixNQUFNLE1BQU0sR0FBOEIsRUFBRSxDQUFDO29CQUM3QyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO29CQUMxRCxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBd0IsRUFBRSxNQUFjLEVBQUUsRUFBRTt3QkFDMUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQWlDLENBQUMsQ0FBQzt3QkFDN0UsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQzt3QkFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkIsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsT0FBTyxJQUFBLFdBQUksRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFFdEIsQ0FBQztxQkFBTSxDQUFDO29CQUVOLE1BQU0sTUFBTSxHQUE4QixFQUFFLENBQUM7b0JBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsTUFBbUI7d0JBQzNDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBQSxTQUFFLEVBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLENBQUMsQ0FBQztvQkFDMUQsT0FBTyxJQUFBLFdBQUksRUFBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUMsQ0FBQyxFQUFFLElBQUEsZ0JBQUksR0FBRSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUE7UUFFTSxzQkFBc0IsQ0FBQyxLQUFvQjtZQUNoRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUMsT0FBTyxLQUFLLENBQUMsYUFBYSxDQUFnQixXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUN6RCxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUU7YUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBRU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFvQixFQUFFLElBQVk7WUFDakQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzFDLE9BQU8sTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUMvQixHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSTthQUMzQixDQUFDLENBQUE7UUFDSixDQUFDO1FBRU0sTUFBTSxDQUFDLEtBQW9CLEVBQUUsSUFBWSxFQUFFLE1BQW9CO1lBQ3BFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQWMsV0FBVyxDQUFDLE1BQU0sQ0FBQztnQkFDekQsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNsQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7Z0JBQzNCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtnQkFDbkMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2dCQUNqQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ25CLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtnQkFDckIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxPQUFPO2FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQztRQUVPLGVBQWUsQ0FBQyxLQUFvQixFQUFFLEdBQTJCLEVBQUUsTUFBb0IsRUFBRSxLQUFhLEVBQUUsSUFBWSxFQUFFLE1BQU0sR0FBRyxNQUFNO1lBQzNJLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDeEMsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZELE1BQU0sR0FBRyxNQUFNLEdBQUcsNEJBQTRCLEtBQUssQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUM7WUFFdEUsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMxQixJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUE7Z0JBQ3BCLEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNuQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksK0JBQWdCLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQzlDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7d0JBQ25DLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxDQUFDO3dCQUNwRCxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQzt3QkFDaEQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQzt3QkFDdkMsV0FBVyxHQUFHLFdBQVcsR0FBRyxNQUFNLEdBQUcsY0FBYyxHQUFHLElBQUksQ0FBQzt3QkFDM0QsV0FBVyxHQUFHLFdBQVcsR0FBRyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7d0JBQ2hFLFdBQVcsR0FBRyxXQUFXLEdBQUcsTUFBTSxDQUFDO3dCQUNuQyxXQUFXLEdBQUcsV0FBVyxHQUFHLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7b0JBQ3RFLENBQUM7b0JBQ0QsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLCtCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO3dCQUN6QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO3dCQUNuQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFBO3dCQUNsQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDOzRCQUN0QixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDOzRCQUN2QyxXQUFXLEdBQUcsV0FBVyxHQUFHLE1BQU0sR0FBRyxjQUFjLEdBQUcsR0FBRyxDQUFBOzRCQUN6RCxXQUFXLEdBQUcsV0FBVyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUE7d0JBQ3pDLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUNELE1BQU0sR0FBRyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFvQixFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBMkIsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFO1lBQ3hHLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFxQixXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUM1RSxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSTthQUMzQixDQUFDLENBQUMsQ0FBQztZQUVKLElBQUksWUFBWSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLFNBQVMsQ0FBQyxDQUFBO1lBR2xELFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBMkIsQ0FBQyxDQUFDO1lBQ3JFLE1BQU0sTUFBTSxHQUFpQixZQUE0QixDQUFDO1lBQzFELElBQUksTUFBTSxDQUFDLFlBQVksSUFBSSwyQkFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxtQ0FBbUMsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUNELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQTtnQkFDM0csSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7b0JBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxhQUFhLENBQUMsQ0FBQztnQkFDL0UsQ0FBQztnQkFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUMxRCxNQUFNLFFBQVEsR0FBRyxNQUFNLGlCQUFpQixDQUFDLDJCQUEyQixDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNySCxPQUFPLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxRQUErRCxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2hJLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSwrQkFBK0IsQ0FBQyxDQUFDO2dCQUNsRSxDQUFDO2dCQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RyxPQUFPLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxXQUFpQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVGLENBQUM7UUFDSCxDQUFDO1FBRUQsd0NBQXdDLENBQUMsUUFBa0QsRUFBRSxPQUFxQjtZQUNoSCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUM3QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUMxQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUV6QyxNQUFNLFFBQVEsR0FBaUIsSUFBSSwyQkFBWSxFQUFFLENBQUM7WUFDbEQsUUFBUSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7WUFDNUIsUUFBUSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUM7WUFDOUIsUUFBUSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUM7WUFFcEMsTUFBTSxLQUFLLEdBQW1DLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBRTlCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsNEZBQTRGO2dCQUM1Rix1RUFBdUU7Z0JBQ3ZFLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDakIsQ0FBQztZQUVELFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFRCx1QkFBdUIsQ0FBQyxHQUEyQixFQUFFLE1BQW9CO1lBQ3ZFLE1BQU0sUUFBUSxHQUE0QixFQUFFLENBQUE7WUFDNUMsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUMxQixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxNQUFNLENBQUMsSUFBSSxJQUFJLCtCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO3dCQUM5QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO3dCQUNuQyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQzt3QkFDcEQsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUM7d0JBQ2hELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDOzRCQUNwQixRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxRQUFRLENBQUE7NEJBQ2pELFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQTt3QkFDL0MsQ0FBQztvQkFDSCxDQUFDO29CQUNELElBQUksTUFBTSxDQUFDLElBQUksSUFBSSwrQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDekMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQzt3QkFDbkMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQTt3QkFDbEMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDOUIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFBO1FBQ2pCLENBQUM7UUFHRCxvQ0FBb0MsQ0FBQyxPQUEyQixFQUFFLE9BQWU7WUFDL0UsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDN0MsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDMUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTlDLE1BQU0sUUFBUSxHQUFpQixJQUFJLDJCQUFZLEVBQUUsQ0FBQztZQUNsRCxRQUFRLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQztZQUM1QixRQUFRLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQztZQUM5QixRQUFRLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFN0MsTUFBTSxLQUFLLEdBQW1DLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUVuQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLE1BQU0sSUFBSSxHQUE0QixFQUFFLENBQUM7Z0JBQ3pDLEtBQUssTUFBTSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZCLENBQUM7Z0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQixDQUFDO1lBRUQsUUFBUSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDekIsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVPLGdCQUFnQjtZQUN0QixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUE2QixDQUFDO1FBQ3JGLENBQUM7UUFFTyxtQkFBbUIsQ0FBQyxNQUFtQjtZQUM3QyxNQUFNLFlBQVksR0FBRyxNQUE0QyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLFdBQVcsR0FBMkIsRUFBRSxDQUFBO2dCQUM5QyxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sWUFBWSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDM0UsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQTBCLENBQUM7b0JBQ3ZELE1BQU0sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDO29CQUMvQixXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQixDQUFDO2dCQUNELFlBQVksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxPQUFPLFlBQVksQ0FBQztRQUN0QixDQUFDO1FBRU0sS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFvQixFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBMkIsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLElBQUksR0FBRyxVQUFVO1lBQ2xILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxJQUFJLE1BQU0sR0FBZ0IsTUFBTSxJQUFBLHFCQUFjLEVBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBYyxXQUFXLENBQUMsT0FBTyxDQUFDO2dCQUNsRyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSTthQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRUwsTUFBTSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUxQyxrREFBa0Q7WUFDbEQsMkRBQTJEO1lBQzNELElBQUksTUFBTSxHQUFpQixJQUFJLDJCQUFZLEVBQUUsQ0FBQztZQUM5QyxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksMkJBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksbUNBQW1DLENBQUMsQ0FBQztnQkFDdEUsQ0FBQztnQkFDRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0saUJBQWlCLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQzVHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO29CQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsYUFBYSxDQUFDLENBQUM7Z0JBQy9FLENBQUM7Z0JBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDM0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQywyQkFBMkIsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDckgsTUFBTSxHQUFHLElBQUksQ0FBQyx3Q0FBd0MsQ0FBQyxRQUErRCxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ2xJLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSwrQkFBK0IsQ0FBQyxDQUFDO2dCQUNsRSxDQUFDO2dCQUNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDMUUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN2RyxNQUFNLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLFdBQWlDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUYsQ0FBQztZQUVELE1BQU0sU0FBUyxHQUFhLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDeEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBQ3RELE1BQU0sUUFBUSxHQUFlLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFDdkYsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM1QixNQUFNLFNBQVMsR0FBRyxJQUFBLGdCQUFTLEVBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEMsT0FBTyxTQUFTLENBQUM7UUFFbkIsQ0FBQztRQUVELG9CQUFvQixDQUFDLEdBQTJCO1lBQzlDLE1BQU0sWUFBWSxHQUE0QjtnQkFDNUMsc0JBQXNCLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUM7YUFDekQsQ0FBQTtZQUNELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUM7UUFFRCx5RUFBeUU7UUFDbEUsV0FBVyxDQUFDLE1BQW9CLEVBQUUsSUFBb0MsRUFBRSxlQUF3QztZQUNySCxNQUFNLFFBQVEsR0FBZSxFQUFFLENBQUM7WUFFaEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDdkUsQ0FBQztZQUVELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxVQUFVLENBQUMsR0FBNEIsRUFBRSxPQUEyQixFQUFFLGVBQXdDO1lBQzVHLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztZQUM3QixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFBO1lBQzlELENBQUM7WUFDRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRUQsV0FBVyxDQUFDLEdBQTRCLEVBQUUsR0FBcUIsRUFBRSxlQUF3QztZQUN2RyxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbkIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO2dCQUM1QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO3dCQUN6QixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsZUFBZSxDQUFXLENBQUMsQ0FBQztvQkFDNUUsQ0FBQztnQkFDSCxDQUFDO2dCQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN6QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLGVBQWUsQ0FBVyxDQUFDO1lBQzNGLENBQUM7UUFDSCxDQUFDO1FBRUQsYUFBYSxDQUFDLEdBQTRCLEVBQUUsR0FBcUIsRUFBRSxNQUFlLFNBQVMsRUFBRSxrQkFBMkMsRUFBRTtZQUN4SSxJQUFJLE1BQU0sR0FBWSxFQUFFLENBQUM7WUFDekIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyQixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUU7b0JBQzVCLGVBQWUsRUFBRTt3QkFDZixHQUFHLEVBQUUsR0FBRzt3QkFDUixHQUFHLEVBQUUsR0FBRztxQkFDVDtvQkFDRCxlQUFlLEVBQUUsZUFBZTtpQkFDakMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzFELENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN6QyxDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELGlCQUFpQixDQUFDLEdBQXFCO1lBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxPQUFPLEdBQUcsQ0FBQyxjQUFjLENBQUM7WUFDNUIsQ0FBQztZQUNELElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUM3QixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDdEIsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVEOztXQUVHO1FBQ0ssdUJBQXVCO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDNUIsSUFBQSxpREFBK0IsRUFBQyxvQkFBVSxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7WUFDNUUsQ0FBQztRQUNILENBQUM7UUFFRDs7O1dBR0c7UUFDSyxtQkFBbUIsQ0FBQyxjQUFzQjtZQUNoRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUUvQixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxNQUFNLFFBQVEsR0FBRyxvQkFBVSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDcEQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUUsQ0FBQztRQUNyRCxDQUFDO1FBRUQ7Ozs7Ozs7O1dBUUc7UUFDSCxXQUFXLENBQUMsSUFBNkIsRUFBRSxNQUFzQixFQUFFLG9CQUE2QyxFQUFFLEVBQUUsU0FBa0IsU0FBUztZQUM3SSxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDM0QsNkRBQTZEO2dCQUM3RCwyQ0FBMkM7Z0JBQzNDLE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO2dCQUNyRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBRXRDLDhEQUE4RDtnQkFDOUQsK0RBQStEO2dCQUMvRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUNuRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7Z0JBQ0QsT0FBTyxXQUFXLENBQUM7WUFDckIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkNBQTJDLEtBQUssRUFBRSxDQUFDLENBQUM7Z0JBQ3BFLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztRQUNILENBQUM7UUFFRDs7Ozs7Ozs7OztXQVVHO1FBQ0ksS0FBSyxDQUFDLHNCQUFzQixDQUFDLEtBQW9CLEVBQUUsVUFBa0I7WUFDMUUsTUFBTSxPQUFPLEdBQTJCLEVBQUUsQ0FBQztZQUUzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDWixLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQywyQkFBMkIsVUFBVSxxQ0FBcUMsQ0FBQyxDQUFDO2dCQUMzRixPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDO1lBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDckMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsNkNBQTZDLE9BQU8sQ0FBQyxNQUFNLHdCQUF3QixVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBRXBILEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ3hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFdkIsMkNBQTJDO2dCQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQzt3QkFDWCxHQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUM7d0JBQ3BELElBQUksRUFBRSxZQUFZO3dCQUNsQixLQUFLLEVBQUUsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFO3FCQUMxQixDQUFDLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCwyRUFBMkU7Z0JBQzNFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO29CQUNuQyxPQUFPLENBQUMsSUFBSSxDQUFDO3dCQUNYLEdBQUcsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQzt3QkFDcEQsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLEtBQUssRUFBRSxHQUFHLENBQUMsY0FBYyxJQUFJLEVBQUU7cUJBQ2hDLENBQUMsQ0FBQztnQkFDTCxDQUFDO1lBQ0gsQ0FBQztZQUVELEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDZCQUE2QixPQUFPLENBQUMsTUFBTSwwQkFBMEIsVUFBVSxHQUFHLENBQUMsQ0FBQztZQUN0RyxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO1FBRU0sZUFBZSxDQUFDLE1BQW9CO1lBQ3pDLE1BQU0sU0FBUyxHQUFhLEVBQUUsQ0FBQztZQUMvQixLQUFLLE1BQU0sTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDcEMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUIsQ0FBQztZQUNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFUyxhQUFhLENBQUMsTUFBb0I7WUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFDRCxJQUFJLEtBQUssR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxpREFBaUQsQ0FBQTtZQUMxRixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDL0MsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakMsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDbkMsS0FBSyxHQUFHLEtBQUssR0FBRyxHQUFHLENBQUE7Z0JBQ3JCLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRVMsbUJBQW1CLENBQUMsTUFBYyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBWTtZQUNuRSxNQUFNLEdBQUcsTUFBTSxHQUFHLFNBQVMsR0FBRyxLQUFLLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN0RCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRU0sWUFBWSxDQUFDLFdBQXdCO1lBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBWSxXQUFpRCxFQUFFLElBQUksMkJBQVMsRUFBd0MsRUFBRTtnQkFDN0ksWUFBWSxFQUFFLFdBQVc7YUFDMUIsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNYLENBQUM7S0FFRjtJQTdlWSxnQkFBTyxVQTZlbkIsQ0FBQTtBQUNILENBQUMsRUFyZmdCLFFBQVEsd0JBQVIsUUFBUSxRQXFmeEIifQ==
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import { Services as services } from '../CoreService';
|
|
2
2
|
/**
|
|
3
3
|
* SassCompilerService
|
|
4
|
-
*
|
|
5
|
-
* injecting tenant overrides after the variable import section.
|
|
6
|
-
*
|
|
7
|
-
* Usage: await SassCompilerService.compile({ 'site-branding-area-background': '#ffffff' })
|
|
8
|
-
* Returns: { css, hash }
|
|
4
|
+
* Deprecated compatibility wrapper for variable CSS generation.
|
|
9
5
|
*/
|
|
10
6
|
export declare namespace Services {
|
|
11
7
|
class SassCompiler extends services.Core.Service {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
buildRootScss(overrideLines: string[]): string;
|
|
16
|
-
/** Compile full theme returning css + sha256 hash using webpack loader chain */
|
|
8
|
+
getAllowedVariableKeys(): string[];
|
|
9
|
+
normalizeHex(value: string): string;
|
|
10
|
+
validateVariables(variables: Record<string, string>): Record<string, string>;
|
|
17
11
|
compile(variables: Record<string, string>): Promise<{
|
|
18
12
|
css: string;
|
|
19
13
|
hash: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SassCompilerService.d.ts","sourceRoot":"","sources":["../../src/services/SassCompilerService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"SassCompilerService.d.ts","sourceRoot":"","sources":["../../src/services/SassCompilerService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAKtD;;;GAGG;AACH,yBAAiB,QAAQ,CAAC;IACxB,MACa,YAAa,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QACrD,sBAAsB,IAAI,MAAM,EAAE;QAIlC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;QAInC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QAItE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAGzF;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,mBAAmB,EAAE,QAAQ,CAAC,YAAY,CAAC;CAChD"}
|
|
@@ -5,192 +5,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
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
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
9
|
exports.Services = void 0;
|
|
13
10
|
const PopulateExportedMethods_decorator_1 = require("../decorator/PopulateExportedMethods.decorator");
|
|
14
11
|
const CoreService_1 = require("../CoreService");
|
|
15
|
-
const crypto_1 = __importDefault(require("crypto"));
|
|
16
|
-
const fs_1 = __importDefault(require("fs"));
|
|
17
|
-
const path_1 = __importDefault(require("path"));
|
|
18
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
19
|
-
// Use require to avoid type dependencies for webpack internals
|
|
20
|
-
const webpack = require('webpack');
|
|
21
|
-
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
|
|
22
|
-
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
|
|
23
12
|
/**
|
|
24
13
|
* SassCompilerService
|
|
25
|
-
*
|
|
26
|
-
* injecting tenant overrides after the variable import section.
|
|
27
|
-
*
|
|
28
|
-
* Usage: await SassCompilerService.compile({ 'site-branding-area-background': '#ffffff' })
|
|
29
|
-
* Returns: { css, hash }
|
|
14
|
+
* Deprecated compatibility wrapper for variable CSS generation.
|
|
30
15
|
*/
|
|
31
16
|
var Services;
|
|
32
17
|
(function (Services) {
|
|
33
18
|
let SassCompiler = class SassCompiler extends CoreService_1.Services.Core.Service {
|
|
34
|
-
|
|
35
|
-
return
|
|
19
|
+
getAllowedVariableKeys() {
|
|
20
|
+
return BrandingThemeCssService.getAllowedVariableKeys();
|
|
36
21
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (v.startsWith('#')) {
|
|
40
|
-
v = v.replace(/#/g, '');
|
|
41
|
-
if (v.length === 3) {
|
|
42
|
-
v = v.split('').map(c => c + c).join('');
|
|
43
|
-
}
|
|
44
|
-
if (v.length === 6 || v.length === 8)
|
|
45
|
-
return '#' + v.toLowerCase();
|
|
46
|
-
}
|
|
47
|
-
return value;
|
|
22
|
+
normalizeHex(value) {
|
|
23
|
+
return BrandingThemeCssService.normalizeHex(value);
|
|
48
24
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const stylesDir = path_1.default.resolve(process.cwd(), 'assets/styles');
|
|
52
|
-
const stylePath = path_1.default.join(stylesDir, 'style.scss');
|
|
53
|
-
let content = fs_1.default.readFileSync(stylePath, 'utf8');
|
|
54
|
-
// Resolve ~ imports to node_modules paths for Sass
|
|
55
|
-
content = content.replace(/@import\s+"~([^"]+)"/g, (match, importPath) => {
|
|
56
|
-
return `@import "${importPath}"`;
|
|
57
|
-
});
|
|
58
|
-
const lines = content.split(/\r?\n/);
|
|
59
|
-
let insertIdx = -1;
|
|
60
|
-
for (let i = 0; i < lines.length; i++) {
|
|
61
|
-
if (/default-variables|custom-variables/.test(lines[i]))
|
|
62
|
-
insertIdx = i;
|
|
63
|
-
}
|
|
64
|
-
if (insertIdx === -1) {
|
|
65
|
-
for (let i = 0; i < lines.length; i++) {
|
|
66
|
-
if (!/^@import/.test(lines[i])) {
|
|
67
|
-
insertIdx = i - 1;
|
|
68
|
-
break;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (insertIdx < 0)
|
|
72
|
-
insertIdx = 0;
|
|
73
|
-
}
|
|
74
|
-
lines.splice(insertIdx + 1, 0, ...overrideLines);
|
|
75
|
-
return lines.join('\n');
|
|
25
|
+
validateVariables(variables) {
|
|
26
|
+
return BrandingThemeCssService.validateVariables(variables);
|
|
76
27
|
}
|
|
77
|
-
/** Compile full theme returning css + sha256 hash using webpack loader chain */
|
|
78
28
|
async compile(variables) {
|
|
79
|
-
|
|
80
|
-
const invalid = Object.keys(variables || {}).filter(k => !whitelist.includes(k.replace(/^\$/, '')));
|
|
81
|
-
if (invalid.length)
|
|
82
|
-
throw new Error('Invalid variable(s): ' + invalid.join(', '));
|
|
83
|
-
const overrideLines = [];
|
|
84
|
-
for (const [key, rawVal] of Object.entries(variables || {})) {
|
|
85
|
-
const normKey = key.startsWith('$') ? key.substring(1) : key;
|
|
86
|
-
const value = this.normaliseHex(rawVal);
|
|
87
|
-
// Sanitize value to prevent SCSS injection
|
|
88
|
-
if (/[{}();@"'\\/\n\r!]/.test(value)) {
|
|
89
|
-
throw new Error(`Invalid characters in variable value: ${normKey}`);
|
|
90
|
-
}
|
|
91
|
-
const variableName = normKey.startsWith('$') ? normKey : `$${normKey}`;
|
|
92
|
-
overrideLines.push(`${variableName}: ${value}; // tenant override`);
|
|
93
|
-
}
|
|
94
|
-
const scss = this.buildRootScss(overrideLines);
|
|
95
|
-
// Build a temporary workspace for webpack to compile our injected SCSS using the project loader chain
|
|
96
|
-
const tmpBase = path_1.default.join(process.cwd(), '.tmp', 'branding-webpack', crypto_1.default.randomBytes(8).toString('hex'));
|
|
97
|
-
const tmpOut = path_1.default.join(tmpBase, 'dist');
|
|
98
|
-
fs_extra_1.default.mkdirpSync(tmpBase);
|
|
99
|
-
// Write a temporary root.scss and entry.js that imports it
|
|
100
|
-
const rootScssPath = path_1.default.join(tmpBase, 'root.scss');
|
|
101
|
-
const entryJsPath = path_1.default.join(tmpBase, 'entry.js');
|
|
102
|
-
fs_1.default.writeFileSync(rootScssPath, scss, 'utf8');
|
|
103
|
-
fs_1.default.writeFileSync(entryJsPath, `require('./root.scss');\n`, 'utf8');
|
|
104
|
-
// Minimal webpack config aligned with project's sass/css pipeline
|
|
105
|
-
const wpConfig = {
|
|
106
|
-
mode: 'production',
|
|
107
|
-
devtool: false,
|
|
108
|
-
entry: entryJsPath,
|
|
109
|
-
output: {
|
|
110
|
-
path: tmpOut,
|
|
111
|
-
filename: 'bundle.js',
|
|
112
|
-
publicPath: '/',
|
|
113
|
-
clean: true
|
|
114
|
-
},
|
|
115
|
-
module: {
|
|
116
|
-
rules: [
|
|
117
|
-
{
|
|
118
|
-
test: /\.(sa|sc|c)ss$/,
|
|
119
|
-
exclude: /\.\.\/angular/,
|
|
120
|
-
use: [
|
|
121
|
-
MiniCssExtractPlugin.loader,
|
|
122
|
-
'css-loader',
|
|
123
|
-
'resolve-url-loader',
|
|
124
|
-
{
|
|
125
|
-
loader: 'sass-loader',
|
|
126
|
-
options: {
|
|
127
|
-
sourceMap: true, // Required for resolve-url-loader
|
|
128
|
-
sassOptions: {
|
|
129
|
-
loadPaths: [
|
|
130
|
-
path_1.default.resolve(process.cwd(), 'assets/styles'),
|
|
131
|
-
path_1.default.resolve(process.cwd(), 'node_modules')
|
|
132
|
-
]
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
]
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
test: /\.(woff2?|ttf|otf|eot|svg)$/,
|
|
140
|
-
type: 'asset/resource',
|
|
141
|
-
exclude: /\.\.\/angular/
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
mimetype: 'image/svg+xml',
|
|
145
|
-
scheme: 'data',
|
|
146
|
-
type: 'asset/resource',
|
|
147
|
-
generator: { filename: 'icons/[hash].svg' }
|
|
148
|
-
}
|
|
149
|
-
]
|
|
150
|
-
},
|
|
151
|
-
plugins: [
|
|
152
|
-
new MiniCssExtractPlugin({ filename: 'style.css' })
|
|
153
|
-
],
|
|
154
|
-
optimization: {
|
|
155
|
-
minimize: true,
|
|
156
|
-
minimizer: [new CssMinimizerPlugin()]
|
|
157
|
-
},
|
|
158
|
-
resolve: {
|
|
159
|
-
extensions: ['.js', '.ts', '.scss', '.css'],
|
|
160
|
-
modules: [path_1.default.resolve(process.cwd(), 'node_modules'), 'node_modules']
|
|
161
|
-
},
|
|
162
|
-
resolveLoader: {
|
|
163
|
-
modules: [path_1.default.resolve(process.cwd(), 'node_modules'), 'node_modules']
|
|
164
|
-
},
|
|
165
|
-
stats: 'errors-warnings'
|
|
166
|
-
};
|
|
167
|
-
const compiler = webpack(wpConfig);
|
|
168
|
-
await new Promise((resolve, reject) => {
|
|
169
|
-
compiler.run((err, stats) => {
|
|
170
|
-
if (err)
|
|
171
|
-
return reject(err);
|
|
172
|
-
if (!stats)
|
|
173
|
-
return reject(new Error('Webpack did not return stats'));
|
|
174
|
-
const info = stats.toJson({ all: false, errors: true, warnings: true });
|
|
175
|
-
if (stats.hasErrors()) {
|
|
176
|
-
const errorMsg = info.errors
|
|
177
|
-
?.map((e) => (typeof e === 'string' ? e : e.message || JSON.stringify(e)))
|
|
178
|
-
.join('; ') || 'unknown error';
|
|
179
|
-
return reject(new Error('Webpack SCSS compile failed: ' + errorMsg));
|
|
180
|
-
}
|
|
181
|
-
resolve(stats);
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
// Read the emitted CSS
|
|
185
|
-
const cssPath = path_1.default.join(tmpOut, 'style.css');
|
|
186
|
-
const css = fs_1.default.readFileSync(cssPath, 'utf8');
|
|
187
|
-
// Clean up temp directory (best-effort)
|
|
188
|
-
try {
|
|
189
|
-
fs_extra_1.default.removeSync(tmpBase);
|
|
190
|
-
}
|
|
191
|
-
catch (_e) { /* best-effort cleanup */ }
|
|
192
|
-
const hash = crypto_1.default.createHash('sha256').update(css).digest('hex').substring(0, 32);
|
|
193
|
-
return { css, hash };
|
|
29
|
+
return BrandingThemeCssService.generate(variables);
|
|
194
30
|
}
|
|
195
31
|
};
|
|
196
32
|
SassCompiler = __decorate([
|
|
@@ -198,4 +34,4 @@ var Services;
|
|
|
198
34
|
], SassCompiler);
|
|
199
35
|
Services.SassCompiler = SassCompiler;
|
|
200
36
|
})(Services || (exports.Services = Services = {}));
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Fzc0NvbXBpbGVyU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9TYXNzQ29tcGlsZXJTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHNHQUF5RjtBQUN6RixnREFBc0Q7QUFLdEQ7OztHQUdHO0FBQ0gsSUFBaUIsUUFBUSxDQW1CeEI7QUFuQkQsV0FBaUIsUUFBUTtJQUV2QixJQUFhLFlBQVksR0FBekIsTUFBYSxZQUFhLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUNyRCxzQkFBc0I7WUFDcEIsT0FBTyx1QkFBdUIsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQzFELENBQUM7UUFFRCxZQUFZLENBQUMsS0FBYTtZQUN4QixPQUFPLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsaUJBQWlCLENBQUMsU0FBaUM7WUFDakQsT0FBTyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFpQztZQUM3QyxPQUFPLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxDQUFDO0tBQ0YsQ0FBQTtJQWhCWSxZQUFZO1FBRHhCLDJEQUF1QjtPQUNYLFlBQVksQ0FnQnhCO0lBaEJZLHFCQUFZLGVBZ0J4QixDQUFBO0FBQ0gsQ0FBQyxFQW5CZ0IsUUFBUSx3QkFBUixRQUFRLFFBbUJ4QiJ9
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Services as services } from '../CoreService';
|
|
2
|
-
import { DatastreamService } from '../DatastreamService';
|
|
2
|
+
import { DatastreamRequestContext, DatastreamService } from '../DatastreamService';
|
|
3
3
|
import { DatastreamServiceResponse } from '../DatastreamServiceResponse';
|
|
4
4
|
import { Datastream } from '../Datastream';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
@@ -10,16 +10,43 @@ type IDisk = StorageManagerServices.IDisk;
|
|
|
10
10
|
*
|
|
11
11
|
* Implements the DatastreamService interface using Flydrive v2 disks
|
|
12
12
|
* managed by StorageManagerService. Files are read from the staging disk
|
|
13
|
-
* and written to the primary disk under the key
|
|
13
|
+
* and written to the primary disk under the configured key prefix.
|
|
14
14
|
*/
|
|
15
15
|
export declare namespace Services {
|
|
16
16
|
class StandardDatastream extends services.Core.Service implements DatastreamService {
|
|
17
|
+
private static promotionGuards;
|
|
17
18
|
protected _exportedMethods: string[];
|
|
18
19
|
protected logHeader: string;
|
|
19
20
|
/**
|
|
20
|
-
* Build the storage key for a file
|
|
21
|
+
* Build the storage key for a file under the configured prefix.
|
|
22
|
+
*/
|
|
23
|
+
private normalizedKeyPrefix;
|
|
24
|
+
/**
|
|
25
|
+
* Build the storage key for a file under the configured prefix.
|
|
21
26
|
*/
|
|
22
27
|
private storageKey;
|
|
28
|
+
private fileIdFromStorageKey;
|
|
29
|
+
private attachmentMetadataService;
|
|
30
|
+
private requestUsername;
|
|
31
|
+
private safeToISOString;
|
|
32
|
+
private metadataToListEntry;
|
|
33
|
+
private buildMetadataRow;
|
|
34
|
+
private safelyUpsertMetadata;
|
|
35
|
+
private safelyDeleteMetadata;
|
|
36
|
+
private safelyRecordAccess;
|
|
37
|
+
private backfillMetadataFromDisk;
|
|
38
|
+
private datastreamListEntry;
|
|
39
|
+
private isStorageNotFoundError;
|
|
40
|
+
private isStorageAlreadyExistsError;
|
|
41
|
+
private promoteFromStagingOnce;
|
|
42
|
+
private promoteFromStaging;
|
|
43
|
+
private promoteTusPartsFromStaging;
|
|
44
|
+
private listTusPartKeys;
|
|
45
|
+
private listedObjectKey;
|
|
46
|
+
private sumDiskObjectContentLength;
|
|
47
|
+
private tusPartsPrefix;
|
|
48
|
+
private tusInfoKey;
|
|
49
|
+
private streamDiskObjects;
|
|
23
50
|
/**
|
|
24
51
|
* Add multiple datastreams for a record.
|
|
25
52
|
* Each datastream is moved from the staging disk to the primary disk.
|
|
@@ -39,6 +66,11 @@ export declare namespace Services {
|
|
|
39
66
|
* Add a single datastream: read from staging disk, write to primary disk.
|
|
40
67
|
*/
|
|
41
68
|
addDatastream(oid: string, datastream: Datastream, stagingDisk?: IDisk): Promise<unknown>;
|
|
69
|
+
private putStagedObject;
|
|
70
|
+
private readDiskObjectToBuffer;
|
|
71
|
+
private readStreamToBuffer;
|
|
72
|
+
private isNonRetryableStreamingWriteError;
|
|
73
|
+
private afterDatastreamPromoted;
|
|
42
74
|
/**
|
|
43
75
|
* Remove a single datastream from the primary disk.
|
|
44
76
|
*/
|
|
@@ -51,7 +83,7 @@ export declare namespace Services {
|
|
|
51
83
|
* Get a datastream (file contents) from the primary disk.
|
|
52
84
|
* Returns an Attachment with a readstream.
|
|
53
85
|
*/
|
|
54
|
-
getDatastream(oid: string, fileId: string): Promise<{
|
|
86
|
+
getDatastream(oid: string, fileId: string, requestContext?: DatastreamRequestContext): Promise<{
|
|
55
87
|
readstream?: NodeJS.ReadableStream;
|
|
56
88
|
body?: Buffer | string;
|
|
57
89
|
} & Record<string, unknown>>;
|
|
@@ -59,7 +91,7 @@ export declare namespace Services {
|
|
|
59
91
|
* List datastreams for a record.
|
|
60
92
|
* If fileId is provided, lists that specific file; otherwise lists all files for the oid.
|
|
61
93
|
*/
|
|
62
|
-
listDatastreams(oid: string, fileId: string): Promise<Record<string, unknown>[]>;
|
|
94
|
+
listDatastreams(oid: string, fileId: string, requestContext?: DatastreamRequestContext): Promise<Record<string, unknown>[]>;
|
|
63
95
|
}
|
|
64
96
|
}
|
|
65
97
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardDatastreamService.d.ts","sourceRoot":"","sources":["../../src/services/StandardDatastreamService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardDatastreamService.d.ts","sourceRoot":"","sources":["../../src/services/StandardDatastreamService.ts"],"names":[],"mappings":"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"}
|