@researchdatabox/redbox-core 0.0.0-bootstrap.0 → 0.0.1-beta.10213
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 +68 -23
- package/dist/CoreService.d.ts +1 -1
- package/dist/CoreService.d.ts.map +1 -1
- package/dist/CoreService.js +1 -1
- package/dist/DatastreamService.d.ts +5 -2
- package/dist/DatastreamService.d.ts.map +1 -1
- package/dist/HarvestRunService.d.ts +49 -0
- package/dist/HarvestRunService.d.ts.map +1 -0
- package/dist/HarvestRunService.js +13 -0
- package/dist/IntegrationAuditParams.d.ts +11 -0
- package/dist/IntegrationAuditParams.js +14 -0
- package/dist/QueueService.d.ts +1 -1
- package/dist/QueueService.d.ts.map +1 -1
- package/dist/RecordAuditParams.d.ts +2 -0
- package/dist/RecordAuditParams.d.ts.map +1 -1
- package/dist/RecordAuditParams.js +3 -1
- package/dist/RecordsService.d.ts +52 -2
- package/dist/RecordsService.d.ts.map +1 -1
- package/dist/StorageService.d.ts +6 -2
- 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/harvest-runs.d.ts +5 -0
- package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -0
- package/dist/api-routes/groups/harvest-runs.js +79 -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/named-query.d.ts +8 -0
- package/dist/api-routes/groups/named-query.d.ts.map +1 -0
- package/dist/api-routes/groups/named-query.js +54 -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 +353 -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 +9 -0
- package/dist/api-routes/groups/reports.d.ts.map +1 -0
- package/dist/api-routes/groups/reports.js +63 -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 +485 -0
- package/dist/api-routes/index.d.ts +27 -0
- package/dist/api-routes/index.d.ts.map +1 -0
- package/dist/api-routes/index.js +43 -0
- package/dist/api-routes/openapi.d.ts +26 -0
- package/dist/api-routes/openapi.d.ts.map +1 -0
- package/dist/api-routes/openapi.js +292 -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 +117 -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 +71 -0
- package/dist/api-routes/schemas/common.d.ts +35 -0
- package/dist/api-routes/schemas/common.d.ts.map +1 -0
- package/dist/api-routes/schemas/common.js +146 -0
- package/dist/api-routes/schemas/responses.d.ts +972 -0
- package/dist/api-routes/schemas/responses.d.ts.map +1 -0
- package/dist/api-routes/schemas/responses.js +512 -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/api-routes/zod-openapi.d.ts +3 -0
- package/dist/api-routes/zod-openapi.d.ts.map +1 -0
- package/dist/api-routes/zod-openapi.js +8 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +12 -12
- package/dist/config/agendaQueue.config.d.ts +33 -6
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +40 -18
- package/dist/config/auth.config.d.ts.map +1 -1
- package/dist/config/auth.config.js +29 -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.d.ts +3 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +161 -5
- package/dist/config/custom.config.d.ts +6 -0
- package/dist/config/custom.config.d.ts.map +1 -1
- package/dist/config/custom.config.js +10 -1
- 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 +1 -0
- package/dist/config/dompurify.config.d.ts.map +1 -1
- package/dist/config/dompurify.config.js +5 -4
- package/dist/config/emailnotification.config.d.ts.map +1 -1
- package/dist/config/emailnotification.config.js +2 -1
- package/dist/config/figshareDev.config.d.ts +12 -0
- package/dist/config/figshareDev.config.js +9 -0
- 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/harvestRuns.config.d.ts +9 -0
- package/dist/config/harvestRuns.config.d.ts.map +1 -0
- package/dist/config/harvestRuns.config.js +11 -0
- package/dist/config/http.config.d.ts +13 -1
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +201 -38
- package/dist/config/index.d.ts +14 -19
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +10 -15
- package/dist/config/namedQuery.config.d.ts +26 -4
- package/dist/config/namedQuery.config.d.ts.map +1 -1
- package/dist/config/namedQuery.config.js +7 -350
- 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 +105 -13
- package/dist/config/redboxSession.config.d.ts +3 -0
- package/dist/config/redboxSession.config.d.ts.map +1 -1
- package/dist/config/redboxSession.config.js +1 -1
- package/dist/config/report.config.d.ts +2 -11
- package/dist/config/report.config.d.ts.map +1 -1
- package/dist/config/report.config.js +3 -49
- package/dist/config/reusableContributorFormDefinitions.config.d.ts +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.js +371 -206
- package/dist/config/reusableViewFormDefinitions.config.js +3 -3
- 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 +55 -117
- 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 +4 -3
- package/dist/configmodels/AuthorizedDomainsEmails.d.ts +48 -0
- package/dist/configmodels/AuthorizedDomainsEmails.d.ts.map +1 -1
- package/dist/configmodels/AuthorizedDomainsEmails.js +50 -2
- package/dist/configmodels/ConfigModels.d.ts +7 -1
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +41 -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/configmodels/DoiPublishing.d.ts +4711 -0
- package/dist/configmodels/DoiPublishing.js +639 -0
- package/dist/configmodels/FigsharePublishing.d.ts +1376 -0
- package/dist/configmodels/FigsharePublishing.js +630 -0
- package/dist/configmodels/IntegrationNotificationConfig.d.ts +133 -0
- package/dist/configmodels/IntegrationNotificationConfig.d.ts.map +1 -0
- package/dist/configmodels/IntegrationNotificationConfig.js +64 -0
- package/dist/configmodels/SystemMessage.d.ts +32 -0
- package/dist/configmodels/SystemMessage.d.ts.map +1 -1
- package/dist/configmodels/SystemMessage.js +34 -2
- package/dist/controllers/AdminController.d.ts +1 -1
- package/dist/controllers/AdminController.d.ts.map +1 -1
- package/dist/controllers/AdminController.js +6 -32
- package/dist/controllers/AppConfigController.js +3 -3
- package/dist/controllers/BrandingAppController.d.ts.map +1 -1
- package/dist/controllers/BrandingAppController.js +11 -10
- 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/ExportController.d.ts.map +1 -1
- package/dist/controllers/ExportController.js +3 -8
- package/dist/controllers/FormVocabularyController.d.ts +3 -0
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +154 -4
- package/dist/controllers/NamedQueryController.d.ts +8 -0
- package/dist/controllers/NamedQueryController.d.ts.map +1 -0
- package/dist/controllers/NamedQueryController.js +17 -0
- package/dist/controllers/RecordAuditController.d.ts +31 -14
- package/dist/controllers/RecordAuditController.d.ts.map +1 -1
- package/dist/controllers/RecordAuditController.js +509 -57
- package/dist/controllers/RecordController.d.ts +18 -16
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +314 -167
- package/dist/controllers/RenderViewController.d.ts.map +1 -1
- package/dist/controllers/RenderViewController.js +4 -2
- package/dist/controllers/ReportController.d.ts +7 -0
- package/dist/controllers/ReportController.d.ts.map +1 -1
- package/dist/controllers/ReportController.js +75 -2
- package/dist/controllers/ReportsController.d.ts +1 -0
- package/dist/controllers/ReportsController.d.ts.map +1 -1
- package/dist/controllers/ReportsController.js +12 -2
- package/dist/controllers/TranslationController.d.ts.map +1 -1
- package/dist/controllers/TranslationController.js +14 -12
- 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 +19 -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 +17 -18
- package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
- package/dist/controllers/webservice/BrandingController.js +102 -48
- 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 +13 -18
- package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/FormManagementController.js +11 -13
- package/dist/controllers/webservice/HarvestRunController.d.ts +13 -0
- package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -0
- package/dist/controllers/webservice/HarvestRunController.js +148 -0
- package/dist/controllers/webservice/IntegrationAuditController.d.ts +10 -0
- package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
- package/dist/controllers/webservice/IntegrationAuditController.js +98 -0
- package/dist/controllers/webservice/NamedQueryController.d.ts +17 -0
- package/dist/controllers/webservice/NamedQueryController.d.ts.map +1 -0
- package/dist/controllers/webservice/NamedQueryController.js +127 -0
- 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 +441 -314
- 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 +7 -0
- package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ReportController.js +125 -19
- 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/form-config/dataRecord-1.0-draft.js +3 -3
- package/dist/form-config/default-1.0-draft.d.ts.map +1 -1
- package/dist/form-config/default-1.0-draft.js +27 -3
- package/dist/form-config/index.d.ts.map +1 -1
- package/dist/form-config/index.js +1 -1
- 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 +12 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -2
- package/dist/loader/MigrationRunner.d.ts +19 -0
- package/dist/loader/MigrationRunner.d.ts.map +1 -0
- package/dist/loader/MigrationRunner.js +108 -0
- package/dist/loader/bootstrapShimRuntime.d.ts +2 -1
- package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
- package/dist/loader/bootstrapShimRuntime.js +7 -2
- package/dist/loader/index.d.ts +17 -0
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +216 -13
- package/dist/middleware/redboxSession.d.ts +5 -0
- package/dist/middleware/redboxSession.d.ts.map +1 -1
- package/dist/middleware/redboxSession.js +19 -6
- 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/RequestDetails.d.ts +1 -1
- package/dist/model/RequestDetails.d.ts.map +1 -1
- package/dist/model/RequestDetails.js +1 -1
- package/dist/model/config/ReportConfig.d.ts +1 -1
- package/dist/model/config/ReportConfig.d.ts.map +1 -1
- package/dist/model/config/ReportConfig.js +2 -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/HarvestRunModel.d.ts +140 -0
- package/dist/model/storage/HarvestRunModel.d.ts.map +1 -0
- package/dist/model/storage/HarvestRunModel.js +110 -0
- package/dist/model/storage/IntegrationAuditModel.d.ts +49 -0
- package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
- package/dist/model/storage/IntegrationAuditModel.js +106 -0
- 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/model/storage/ReportModel.d.ts +1 -0
- package/dist/model/storage/ReportModel.d.ts.map +1 -1
- package/dist/model/storage/index.d.ts +2 -0
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +15 -2
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
- package/dist/policies/contentSecurityPolicy.js +23 -2
- package/dist/policies/i18nLanguages.d.ts.map +1 -1
- package/dist/policies/i18nLanguages.js +1 -1
- 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/menuResolver.d.ts.map +1 -1
- package/dist/policies/menuResolver.js +1 -1
- package/dist/policies/setLang.d.ts.map +1 -1
- package/dist/policies/setLang.js +1 -1
- 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 +7 -4
- package/dist/responses/created.d.ts.map +1 -1
- package/dist/responses/created.js +7 -4
- package/dist/responses/forbidden.d.ts.map +1 -1
- package/dist/responses/forbidden.js +7 -4
- package/dist/responses/ok.d.ts.map +1 -1
- package/dist/responses/ok.js +7 -4
- package/dist/responses/serverError.d.ts.map +1 -1
- package/dist/responses/serverError.js +7 -4
- 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 +39 -17
- package/dist/services/AgendaQueueService.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.js +328 -87
- package/dist/services/AppConfigService.d.ts +20 -2
- package/dist/services/AppConfigService.d.ts.map +1 -1
- package/dist/services/AppConfigService.js +129 -15
- 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 +11 -8
- package/dist/services/BrandingLogoService.d.ts.map +1 -1
- package/dist/services/BrandingLogoService.js +71 -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 +315 -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 +30 -25
- package/dist/services/DoiService.d.ts.map +1 -1
- package/dist/services/DoiService.js +448 -393
- package/dist/services/EmailService.d.ts +17 -3
- package/dist/services/EmailService.d.ts.map +1 -1
- package/dist/services/EmailService.js +44 -17
- package/dist/services/FigshareService.d.ts +40 -65
- package/dist/services/FigshareService.d.ts.map +1 -1
- package/dist/services/FigshareService.js +616 -2038
- 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 +21 -19
- 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.d.ts.map +1 -1
- package/dist/services/FormsService.js +8 -6
- package/dist/services/HarvestRunService.d.ts +73 -0
- package/dist/services/HarvestRunService.d.ts.map +1 -0
- package/dist/services/HarvestRunService.js +1317 -0
- 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/IntegrationAuditService.d.ts +158 -0
- package/dist/services/IntegrationAuditService.d.ts.map +1 -1
- package/dist/services/IntegrationAuditService.js +838 -0
- package/dist/services/IntegrationNotificationService.d.ts +55 -0
- package/dist/services/IntegrationNotificationService.d.ts.map +1 -0
- package/dist/services/IntegrationNotificationService.js +271 -0
- package/dist/services/NamedQueryService.d.ts +51 -12
- package/dist/services/NamedQueryService.d.ts.map +1 -1
- package/dist/services/NamedQueryService.js +622 -125
- package/dist/services/OniService.d.ts.map +1 -1
- package/dist/services/OniService.js +4 -6
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +3 -2
- package/dist/services/RecordsService.d.ts +25 -3
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +119 -19
- package/dist/services/ReportsService.d.ts +57 -1
- package/dist/services/ReportsService.d.ts.map +1 -1
- package/dist/services/ReportsService.js +258 -34
- 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/SolrSearchService.d.ts +1 -0
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +14 -3
- 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 +2 -18
- package/dist/services/TemplateService.d.ts.map +1 -1
- package/dist/services/TemplateService.js +9 -53
- package/dist/services/VocabularyService.d.ts +13 -0
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +204 -14
- package/dist/services/doi-v2/audit.d.ts +7 -0
- package/dist/services/doi-v2/audit.d.ts.map +1 -1
- package/dist/services/doi-v2/audit.js +30 -0
- package/dist/services/doi-v2/bindings.d.ts +8 -0
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +79 -0
- package/dist/services/doi-v2/config.d.ts +7 -0
- package/dist/services/doi-v2/config.js +51 -0
- package/dist/services/doi-v2/context.d.ts +18 -0
- package/dist/services/doi-v2/context.js +41 -0
- package/dist/services/doi-v2/http.d.ts +21 -0
- package/dist/services/doi-v2/http.js +88 -0
- package/dist/services/doi-v2/payload.d.ts +4 -0
- package/dist/services/doi-v2/payload.d.ts.map +1 -1
- package/dist/services/doi-v2/payload.js +305 -0
- package/dist/services/doi-v2/profiles.d.ts +5 -0
- package/dist/services/doi-v2/profiles.js +31 -0
- package/dist/services/doi-v2/runtime.d.ts +16 -0
- package/dist/services/doi-v2/runtime.js +173 -0
- package/dist/services/doi-v2/types.d.ts +49 -0
- package/dist/services/doi-v2/types.js +3 -0
- package/dist/services/figshare-v2/assets.d.ts +5 -0
- package/dist/services/figshare-v2/assets.js +297 -0
- package/dist/services/figshare-v2/audit.d.ts +7 -0
- package/dist/services/figshare-v2/audit.d.ts.map +1 -0
- package/dist/services/figshare-v2/audit.js +30 -0
- package/dist/services/figshare-v2/bindings.d.ts +6 -0
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +58 -0
- package/dist/services/figshare-v2/config.d.ts +13 -0
- package/dist/services/figshare-v2/config.d.ts.map +1 -1
- package/dist/services/figshare-v2/config.js +105 -0
- package/dist/services/figshare-v2/context.d.ts +4 -0
- package/dist/services/figshare-v2/context.d.ts.map +1 -1
- package/dist/services/figshare-v2/context.js +21 -0
- package/dist/services/figshare-v2/embargo.d.ts +5 -0
- package/dist/services/figshare-v2/embargo.js +36 -0
- package/dist/services/figshare-v2/http.d.ts +42 -0
- package/dist/services/figshare-v2/http.d.ts.map +1 -1
- package/dist/services/figshare-v2/http.js +324 -0
- package/dist/services/figshare-v2/metadata.d.ts +6 -0
- package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
- package/dist/services/figshare-v2/metadata.js +280 -0
- package/dist/services/figshare-v2/observability.d.ts +7 -0
- package/dist/services/figshare-v2/observability.d.ts.map +1 -1
- package/dist/services/figshare-v2/observability.js +87 -0
- package/dist/services/figshare-v2/plan.d.ts +5 -0
- package/dist/services/figshare-v2/plan.js +51 -0
- package/dist/services/figshare-v2/publish.d.ts +5 -0
- package/dist/services/figshare-v2/publish.js +20 -0
- package/dist/services/figshare-v2/queue.d.ts +4 -0
- package/dist/services/figshare-v2/queue.js +11 -0
- package/dist/services/figshare-v2/runtime.d.ts +14 -0
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
- package/dist/services/figshare-v2/runtime.js +88 -0
- package/dist/services/figshare-v2/types.d.ts +198 -0
- package/dist/services/figshare-v2/types.d.ts.map +1 -1
- package/dist/services/figshare-v2/types.js +59 -0
- package/dist/services/figshare-v2/workflow.d.ts +3 -0
- package/dist/services/figshare-v2/workflow.js +7 -0
- package/dist/services/figshare-v2/writeback.d.ts +5 -0
- package/dist/services/figshare-v2/writeback.js +45 -0
- package/dist/services/index.d.ts +24 -3
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +43 -7
- package/dist/shims/momentShim.d.ts.map +1 -1
- package/dist/shims/momentShim.js +1 -6
- 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/transformers/ExportJSONTransformer.d.ts +1 -1
- package/dist/transformers/ExportJSONTransformer.d.ts.map +1 -1
- package/dist/transformers/ExportJSONTransformer.js +3 -3
- package/dist/utilities/RequestParamUtils.d.ts +3 -0
- package/dist/utilities/RequestParamUtils.d.ts.map +1 -0
- package/dist/utilities/RequestParamUtils.js +13 -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 +145 -97
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +366 -273
- package/dist/visitor/construct.visitor.d.ts +99 -93
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +304 -227
- 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 +99 -93
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +157 -148
- package/dist/visitor/json-type-def.visitor.d.ts +96 -90
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +158 -149
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +101 -94
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +356 -295
- package/dist/visitor/template.visitor.d.ts +100 -92
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +245 -156
- package/dist/visitor/validator.visitor.d.ts +95 -91
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +184 -152
- package/dist/visitor/visitor-helpers.js +9 -9
- package/dist/visitor/vocab-inline.visitor.d.ts +34 -19
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +157 -48
- 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/HarvestRecordEvent.d.ts +43 -0
- package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -0
- package/dist/waterline-models/HarvestRecordEvent.js +107 -0
- package/dist/waterline-models/HarvestRun.d.ts +51 -0
- package/dist/waterline-models/HarvestRun.d.ts.map +1 -0
- package/dist/waterline-models/HarvestRun.js +125 -0
- package/dist/waterline-models/HarvestRunChunk.d.ts +57 -0
- package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -0
- package/dist/waterline-models/HarvestRunChunk.js +140 -0
- 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/Migration.d.ts +24 -0
- package/dist/waterline-models/Migration.d.ts.map +1 -0
- package/dist/waterline-models/Migration.js +52 -0
- 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 +12 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +19 -1
- package/package.json +78 -52
- package/redbox-loader-templates/bootstrap-shim.js.hbs +14 -1
- package/dist/config/datacite.config.d.ts +0 -51
- package/dist/config/datacite.config.d.ts.map +0 -1
- package/dist/config/datacite.config.js +0 -44
- package/dist/config/figshareAPI.config.d.ts +0 -116
- package/dist/config/figshareAPI.config.d.ts.map +0 -1
- package/dist/config/figshareAPI.config.js +0 -857
- package/dist/config/figshareAPIEnv.config.d.ts +0 -11
- package/dist/config/figshareAPIEnv.config.d.ts.map +0 -1
- package/dist/config/figshareAPIEnv.config.js +0 -13
- package/dist/config/figshareRedboxFORMapping.config.d.ts +0 -15
- package/dist/config/figshareRedboxFORMapping.config.d.ts.map +0 -1
- package/dist/config/figshareRedboxFORMapping.config.js +0 -7458
- package/dist/config/relatedObjectsFormDefinition.config.d.ts.map +0 -1
- 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/form-config/dataPublication-1.0-draft.d.ts.map +0 -1
- package/dist/form-config/dataPublication-1.0-embargoed.d.ts.map +0 -1
- package/dist/form-config/dataPublication-1.0-published.d.ts.map +0 -1
- package/dist/form-config/dataPublication-1.0-queued.d.ts.map +0 -1
- package/dist/form-config/dataPublication-1.0-retired.d.ts.map +0 -1
- package/dist/services/VocabService.d.ts +0 -81
- package/dist/services/VocabService.d.ts.map +0 -1
- package/dist/services/VocabService.js +0 -424
|
@@ -5,56 +5,203 @@ const rxjs_1 = require("rxjs");
|
|
|
5
5
|
const CoreService_1 = require("../CoreService");
|
|
6
6
|
var Services;
|
|
7
7
|
(function (Services) {
|
|
8
|
-
/**
|
|
9
|
-
* Dashboard Types related functions...
|
|
10
|
-
*/
|
|
11
8
|
class DashboardTypes extends CoreService_1.Services.Core.Service {
|
|
12
9
|
_exportedMethods = [
|
|
13
10
|
'bootstrap',
|
|
14
11
|
'create',
|
|
12
|
+
'createDashboardType',
|
|
15
13
|
'get',
|
|
16
14
|
'getAll',
|
|
15
|
+
'getAllDashboardTypeDefinitions',
|
|
16
|
+
'getDashboardTypeDefinition',
|
|
17
|
+
'updateDashboardType',
|
|
18
|
+
'deleteDashboardType',
|
|
17
19
|
'getDashboardTableConfig',
|
|
18
20
|
'getRecordTypeDashboardConfig',
|
|
19
|
-
'extractDashboardTemplates'
|
|
21
|
+
'extractDashboardTemplates',
|
|
22
|
+
'getDashboardView',
|
|
23
|
+
'getDashboardViewStep',
|
|
24
|
+
'extractDashboardViewTemplates'
|
|
20
25
|
];
|
|
21
26
|
dashboardTypes = [];
|
|
27
|
+
defaultTableConfig() {
|
|
28
|
+
return {
|
|
29
|
+
rowConfig: [
|
|
30
|
+
{
|
|
31
|
+
title: 'Record Title',
|
|
32
|
+
variable: 'metadata.title',
|
|
33
|
+
template: `<a href='{{rootContext}}/{{branding}}/{{portal}}/record/view/{{oid}}'>{{metadata.title}}</a>
|
|
34
|
+
<span class="dashboard-controls">
|
|
35
|
+
{{#if hasEditAccess}}
|
|
36
|
+
<a href='{{rootContext}}/{{branding}}/{{portal}}/record/edit/{{oid}}' aria-label='{{t "edit-link-label"}}'><i class="fa fa-pencil" aria-hidden="true"></i></a>
|
|
37
|
+
{{/if}}
|
|
38
|
+
</span>
|
|
39
|
+
`,
|
|
40
|
+
initialSort: 'desc'
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
title: 'header-ci',
|
|
44
|
+
variable: 'metadata.contributor_ci.text_full_name',
|
|
45
|
+
template: '{{#if metadata.contributor_ci}}{{metadata.contributor_ci.text_full_name}}{{/if}}',
|
|
46
|
+
initialSort: 'desc'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
title: 'header-data-manager',
|
|
50
|
+
variable: 'metadata.contributor_data_manager.text_full_name',
|
|
51
|
+
template: '{{#if metadata.contributor_data_manager}}{{metadata.contributor_data_manager.text_full_name}}{{/if}}',
|
|
52
|
+
initialSort: 'desc'
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
title: 'header-created',
|
|
56
|
+
variable: 'metaMetadata.createdOn',
|
|
57
|
+
template: '{{formatDateLocale dateCreated "DATETIME_MED"}}',
|
|
58
|
+
initialSort: 'desc'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: 'header-modified',
|
|
62
|
+
variable: 'metaMetadata.lastSaveDate',
|
|
63
|
+
template: '{{formatDateLocale dateModified "DATETIME_MED"}}',
|
|
64
|
+
initialSort: 'desc',
|
|
65
|
+
defaultSort: true
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
normalizeTableConfig(config) {
|
|
71
|
+
return _.isEmpty(config) ? this.defaultTableConfig() : _.cloneDeep(config);
|
|
72
|
+
}
|
|
73
|
+
isConfiguredSystemDashboardType(name) {
|
|
74
|
+
return name != null && Object.prototype.hasOwnProperty.call(sails.config.dashboardtype ?? {}, name);
|
|
75
|
+
}
|
|
76
|
+
normalizeDashboardTypeRecord(type) {
|
|
77
|
+
if (!type) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
...type,
|
|
82
|
+
description: type.description,
|
|
83
|
+
formatRules: _.cloneDeep(type.formatRules ?? {}),
|
|
84
|
+
tableConfig: this.normalizeTableConfig(type.tableConfig),
|
|
85
|
+
searchable: type.searchable ?? true,
|
|
86
|
+
system: type.system ?? this.isConfiguredSystemDashboardType(type.name)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
normalizeDashboardTypeInput(input) {
|
|
90
|
+
return {
|
|
91
|
+
...input,
|
|
92
|
+
formatRules: _.cloneDeep(input.formatRules ?? {}),
|
|
93
|
+
tableConfig: this.normalizeTableConfig(input.tableConfig),
|
|
94
|
+
searchable: input.searchable ?? true,
|
|
95
|
+
system: input.system ?? false
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
async findDashboardTypeRecord(brand, name) {
|
|
99
|
+
const record = await (0, rxjs_1.firstValueFrom)(this.get(brand, name));
|
|
100
|
+
return this.normalizeDashboardTypeRecord(record);
|
|
101
|
+
}
|
|
102
|
+
addAssignedDashboardTypesFromConfig(value, assigned) {
|
|
103
|
+
if (_.isArray(value)) {
|
|
104
|
+
for (const item of value) {
|
|
105
|
+
this.addAssignedDashboardTypesFromConfig(item, assigned);
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (_.isObject(value)) {
|
|
110
|
+
const record = value;
|
|
111
|
+
if (typeof record.dashboardType === 'string' && record.dashboardType.trim()) {
|
|
112
|
+
assigned.add(record.dashboardType);
|
|
113
|
+
}
|
|
114
|
+
for (const child of Object.values(record)) {
|
|
115
|
+
this.addAssignedDashboardTypesFromConfig(child, assigned);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async listAssignedDashboardTypeNames(brand) {
|
|
120
|
+
const overrides = await AppConfigService.getAppConfigByBrandAndKey(String(brand.id), 'dashboardTableConfig');
|
|
121
|
+
const assigned = new Set();
|
|
122
|
+
for (const recordType of Object.values(overrides.recordTypes ?? {})) {
|
|
123
|
+
if (recordType.default?.dashboardType) {
|
|
124
|
+
assigned.add(recordType.default.dashboardType);
|
|
125
|
+
}
|
|
126
|
+
for (const step of Object.values(recordType.steps ?? {})) {
|
|
127
|
+
if (step.dashboardType) {
|
|
128
|
+
assigned.add(step.dashboardType);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
for (const view of Object.values(overrides.views ?? {})) {
|
|
133
|
+
if (view.default?.dashboardType) {
|
|
134
|
+
assigned.add(view.default.dashboardType);
|
|
135
|
+
}
|
|
136
|
+
for (const step of Object.values(view.steps ?? {})) {
|
|
137
|
+
if (step.dashboardType) {
|
|
138
|
+
assigned.add(step.dashboardType);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
if (sails.config.dashboardview) {
|
|
143
|
+
for (const viewDef of Object.values(sails.config.dashboardview)) {
|
|
144
|
+
if (viewDef.dashboardType) {
|
|
145
|
+
assigned.add(viewDef.dashboardType);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
this.addAssignedDashboardTypesFromConfig(sails.config.recordtype, assigned);
|
|
150
|
+
this.addAssignedDashboardTypesFromConfig(sails.config.workflow, assigned);
|
|
151
|
+
return assigned;
|
|
152
|
+
}
|
|
22
153
|
async bootstrap(defBrand) {
|
|
23
154
|
let dashboardTypes = await DashboardType.find({ branding: defBrand.id });
|
|
24
155
|
if (sails.config.appmode.bootstrapAlways) {
|
|
25
156
|
await DashboardType.destroy({ branding: defBrand.id });
|
|
26
157
|
dashboardTypes = [];
|
|
27
158
|
}
|
|
28
|
-
|
|
29
|
-
// dashboardTypes = [];
|
|
30
|
-
// }
|
|
31
|
-
sails.log.verbose(`DashboardTypes found: ${dashboardTypes} and boostrapAlways set to: ${sails.config.appmode.bootstrapAlways}`);
|
|
159
|
+
sails.log.verbose(`DashboardTypes found: ${dashboardTypes.length} and bootstrapAlways set to: ${sails.config.appmode.bootstrapAlways}`);
|
|
32
160
|
if (_.isEmpty(dashboardTypes)) {
|
|
33
161
|
const dashTypes = [];
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
162
|
+
for (const dashboardTypeName in sails.config.dashboardtype) {
|
|
163
|
+
const config = sails.config.dashboardtype[dashboardTypeName];
|
|
164
|
+
const created = await (0, rxjs_1.firstValueFrom)(this.create(defBrand, dashboardTypeName, {
|
|
165
|
+
formatRules: config.formatRules,
|
|
166
|
+
description: config.description,
|
|
167
|
+
searchable: config.searchable,
|
|
168
|
+
system: true,
|
|
169
|
+
tableConfig: config.tableConfig ?? this.defaultTableConfig()
|
|
170
|
+
}));
|
|
171
|
+
dashTypes.push(created);
|
|
39
172
|
}
|
|
40
|
-
;
|
|
41
|
-
this.dashboardTypes
|
|
42
|
-
return dashTypes;
|
|
173
|
+
this.dashboardTypes = dashTypes.map((type) => this.normalizeDashboardTypeRecord(type));
|
|
174
|
+
return this.dashboardTypes;
|
|
43
175
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return dashboardTypes;
|
|
176
|
+
this.dashboardTypes = dashboardTypes
|
|
177
|
+
.map((type) => this.normalizeDashboardTypeRecord(type))
|
|
178
|
+
.filter((type) => type !== null);
|
|
179
|
+
return this.dashboardTypes;
|
|
48
180
|
}
|
|
49
181
|
create(brand, name, config) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
182
|
+
return this.createDashboardType(brand, { name, ...config });
|
|
183
|
+
}
|
|
184
|
+
createDashboardType(brand, input) {
|
|
185
|
+
return (0, rxjs_1.from)((async () => {
|
|
186
|
+
const normalized = this.normalizeDashboardTypeInput(input);
|
|
187
|
+
if (!normalized.name) {
|
|
188
|
+
throw new Error('Dashboard type name is required');
|
|
189
|
+
}
|
|
190
|
+
const existing = await this.findDashboardTypeRecord(brand, normalized.name);
|
|
191
|
+
if (existing) {
|
|
192
|
+
throw new Error(`Dashboard type '${normalized.name}' already exists for brand '${brand.name}'`);
|
|
193
|
+
}
|
|
194
|
+
const created = await DashboardType.create({
|
|
195
|
+
name: normalized.name,
|
|
196
|
+
branding: brand.id,
|
|
197
|
+
description: normalized.description,
|
|
198
|
+
formatRules: normalized.formatRules,
|
|
199
|
+
tableConfig: normalized.tableConfig,
|
|
200
|
+
searchable: normalized.searchable,
|
|
201
|
+
system: normalized.system
|
|
202
|
+
});
|
|
203
|
+
return this.normalizeDashboardTypeRecord(created);
|
|
204
|
+
})());
|
|
58
205
|
}
|
|
59
206
|
get(brand, name) {
|
|
60
207
|
const criteria = { where: { branding: brand.id, name: name } };
|
|
@@ -64,103 +211,92 @@ var Services;
|
|
|
64
211
|
const criteria = { where: { branding: brand.id } };
|
|
65
212
|
return super.getObservable(DashboardType.find(criteria));
|
|
66
213
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
214
|
+
async getAllDashboardTypeDefinitions(brand) {
|
|
215
|
+
const types = await (0, rxjs_1.firstValueFrom)(this.getAll(brand));
|
|
216
|
+
return types.map((type) => this.normalizeDashboardTypeRecord(type));
|
|
217
|
+
}
|
|
218
|
+
async getDashboardTypeDefinition(brand, name) {
|
|
219
|
+
const type = await this.findDashboardTypeRecord(brand, name);
|
|
220
|
+
return type;
|
|
221
|
+
}
|
|
222
|
+
updateDashboardType(brand, name, input) {
|
|
223
|
+
return (0, rxjs_1.from)((async () => {
|
|
224
|
+
const current = await this.findDashboardTypeRecord(brand, name);
|
|
225
|
+
if (!current) {
|
|
226
|
+
throw new Error(`Dashboard type '${name}' was not found for brand '${brand.name}'`);
|
|
227
|
+
}
|
|
228
|
+
if (input.name != null && input.name !== name) {
|
|
229
|
+
throw new Error('Dashboard type name is immutable once created');
|
|
230
|
+
}
|
|
231
|
+
if (current.system && input.system === false) {
|
|
232
|
+
throw new Error('System dashboard types cannot be converted to non-system types');
|
|
233
|
+
}
|
|
234
|
+
const updateData = {
|
|
235
|
+
description: input.description ?? current.description,
|
|
236
|
+
formatRules: this.normalizeDashboardTypeInput({ ...current, ...input }).formatRules,
|
|
237
|
+
tableConfig: this.normalizeTableConfig(input.tableConfig ?? current.tableConfig),
|
|
238
|
+
searchable: input.searchable ?? current.searchable,
|
|
239
|
+
system: input.system ?? current.system
|
|
240
|
+
};
|
|
241
|
+
const updated = await DashboardType.updateOne({ branding: brand.id, name }).set(updateData);
|
|
242
|
+
if (!updated) {
|
|
243
|
+
throw new Error(`Dashboard type '${name}' was not updated`);
|
|
244
|
+
}
|
|
245
|
+
return this.normalizeDashboardTypeRecord(updated);
|
|
246
|
+
})());
|
|
247
|
+
}
|
|
248
|
+
deleteDashboardType(brand, name) {
|
|
249
|
+
return (0, rxjs_1.from)((async () => {
|
|
250
|
+
const current = await this.findDashboardTypeRecord(brand, name);
|
|
251
|
+
if (!current) {
|
|
252
|
+
throw new Error(`Dashboard type '${name}' was not found for brand '${brand.name}'`);
|
|
253
|
+
}
|
|
254
|
+
if (current.system) {
|
|
255
|
+
throw new Error(`System dashboard type '${name}' cannot be deleted`);
|
|
256
|
+
}
|
|
257
|
+
const assigned = await this.listAssignedDashboardTypeNames(brand);
|
|
258
|
+
if (assigned.has(name)) {
|
|
259
|
+
throw new Error(`Dashboard type '${name}' is assigned to one or more workflow states or dashboard views`);
|
|
260
|
+
}
|
|
261
|
+
await DashboardType.destroy({ branding: brand.id, name });
|
|
262
|
+
return { deleted: true };
|
|
263
|
+
})());
|
|
264
|
+
}
|
|
115
265
|
async getDashboardTableConfig(brand, recordType, workflowStage) {
|
|
116
266
|
try {
|
|
117
|
-
|
|
267
|
+
if (typeof DashboardConfigService !== 'undefined' && DashboardConfigService.getMergedDashboardTableConfig) {
|
|
268
|
+
const mergedConfig = await DashboardConfigService.getMergedDashboardTableConfig(brand, recordType, workflowStage);
|
|
269
|
+
if (mergedConfig) {
|
|
270
|
+
sails.log.verbose(`DashboardTypesService: using merged config for ${recordType}/${workflowStage}`);
|
|
271
|
+
return mergedConfig.mergedConfig;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
118
274
|
const recType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brand, recordType));
|
|
119
275
|
if (!recType) {
|
|
120
276
|
sails.log.warn(`Record type not found: ${recordType}`);
|
|
121
277
|
return null;
|
|
122
278
|
}
|
|
123
|
-
sails.log.verbose(`DashboardTypesService: Found record type ${recordType}`);
|
|
124
|
-
// Get workflow step config
|
|
125
279
|
const workflowStep = await (0, rxjs_1.firstValueFrom)(WorkflowStepsService.get(recType, workflowStage));
|
|
126
280
|
if (!workflowStep) {
|
|
127
281
|
sails.log.warn(`Workflow step not found: ${workflowStage} for record type: ${recordType}`);
|
|
128
282
|
return null;
|
|
129
283
|
}
|
|
130
|
-
sails.log.verbose(`DashboardTypesService: Found workflow step ${workflowStage}`);
|
|
131
|
-
// Extract dashboard table config from workflow step
|
|
132
284
|
const dashboardConfig = _.get(workflowStep, 'config.dashboard.table', {});
|
|
133
|
-
|
|
134
|
-
// TODO: In future, merge with user-configurable overrides from AppConfigService
|
|
135
|
-
// const userOverrides = await AppConfigService.getAppConfigByBrandAndKey(brand.id, `dashboardTable_${recordType}_${workflowStage}`);
|
|
136
|
-
// return _.merge({}, dashboardConfig, userOverrides);
|
|
137
|
-
return dashboardConfig;
|
|
285
|
+
return this.normalizeTableConfig(dashboardConfig);
|
|
138
286
|
}
|
|
139
287
|
catch (error) {
|
|
140
288
|
sails.log.error(`Error getting dashboard table config for ${recordType}/${workflowStage}:`, error);
|
|
141
289
|
return null;
|
|
142
290
|
}
|
|
143
291
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Get the top-level dashboard configuration for a specific record type.
|
|
146
|
-
* This configuration is stored at the recordtype level, not the workflow step level.
|
|
147
|
-
*
|
|
148
|
-
* @param brand The branding model
|
|
149
|
-
* @param recordType The record type name
|
|
150
|
-
* @returns The record type dashboard configuration, or null if not found
|
|
151
|
-
*/
|
|
152
292
|
async getRecordTypeDashboardConfig(brand, recordType) {
|
|
153
293
|
try {
|
|
154
|
-
// Get record type - need full config, so not limiting fields
|
|
155
294
|
const recType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brand, recordType));
|
|
156
295
|
if (!recType) {
|
|
157
296
|
sails.log.warn(`Record type not found: ${recordType}`);
|
|
158
297
|
return null;
|
|
159
298
|
}
|
|
160
|
-
// Extract top-level dashboard config from record type
|
|
161
|
-
// This is different from the workflow-specific table config
|
|
162
299
|
const dashboardConfig = _.get(recType, 'dashboard', {});
|
|
163
|
-
sails.log.verbose(`DashboardTypesService: loaded record type dashboard config for ${recordType}: ${JSON.stringify(dashboardConfig)}`);
|
|
164
300
|
return dashboardConfig;
|
|
165
301
|
}
|
|
166
302
|
catch (error) {
|
|
@@ -168,124 +304,151 @@ var Services;
|
|
|
168
304
|
return null;
|
|
169
305
|
}
|
|
170
306
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
307
|
+
getDashboardView(name) {
|
|
308
|
+
const dashboardView = _.get(sails.config.dashboardview, name);
|
|
309
|
+
if (dashboardView == null) {
|
|
310
|
+
sails.log.warn(`Dashboard view not found: ${name}`);
|
|
311
|
+
return null;
|
|
312
|
+
}
|
|
313
|
+
return dashboardView;
|
|
314
|
+
}
|
|
315
|
+
getDashboardViewStep(name, stepName) {
|
|
316
|
+
const dashboardView = this.getDashboardView(name);
|
|
317
|
+
if (!dashboardView) {
|
|
318
|
+
return null;
|
|
319
|
+
}
|
|
320
|
+
const dashboardStep = (dashboardView.steps || []).find((step) => step.name === stepName) ?? null;
|
|
321
|
+
if (!dashboardStep) {
|
|
322
|
+
sails.log.warn(`Dashboard view step not found: ${name}/${stepName}`);
|
|
323
|
+
}
|
|
324
|
+
return dashboardStep;
|
|
325
|
+
}
|
|
326
|
+
async extractQueryFilterTemplates(brand, queryRecordType, dashboardType, templateKeyPrefix) {
|
|
182
327
|
const entries = [];
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
328
|
+
try {
|
|
329
|
+
const dashboardTypeModel = typeof DashboardConfigService !== 'undefined' && DashboardConfigService.getMergedDashboardTypeFormatRules
|
|
330
|
+
? await DashboardConfigService.getMergedDashboardTypeFormatRules(brand, dashboardType)
|
|
331
|
+
: (await (0, rxjs_1.firstValueFrom)(this.get(brand, dashboardType)))?.formatRules;
|
|
332
|
+
const queryFilters = _.get(dashboardTypeModel, `queryFilters.${queryRecordType}`);
|
|
333
|
+
if (_.isArray(queryFilters)) {
|
|
334
|
+
for (let i = 0; i < queryFilters.length; i++) {
|
|
335
|
+
const queryFilter = queryFilters[i];
|
|
336
|
+
if (_.isArray(queryFilter.filterFields)) {
|
|
337
|
+
for (let j = 0; j < queryFilter.filterFields.length; j++) {
|
|
338
|
+
const filterField = queryFilter.filterFields[j];
|
|
339
|
+
if (filterField.template) {
|
|
340
|
+
entries.push({
|
|
341
|
+
key: [...templateKeyPrefix, dashboardType, 'filters', i.toString(), 'fields', j.toString(), 'template'],
|
|
342
|
+
kind: 'handlebars',
|
|
343
|
+
value: filterField.template
|
|
344
|
+
});
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
catch (e) {
|
|
352
|
+
sails.log.warn(`Could not load dashboard type ${dashboardType} for template extraction`, e);
|
|
353
|
+
}
|
|
354
|
+
return entries;
|
|
355
|
+
}
|
|
356
|
+
extractDashboardTableTemplates(configKeyPrefix, dashboardConfig) {
|
|
357
|
+
const entries = [];
|
|
358
|
+
if (!dashboardConfig) {
|
|
359
|
+
return entries;
|
|
360
|
+
}
|
|
361
|
+
const rowConfig = (!_.isEmpty(dashboardConfig.rowConfig)) ? dashboardConfig.rowConfig : this.defaultTableConfig().rowConfig;
|
|
362
|
+
for (let i = 0; i < rowConfig.length; i++) {
|
|
363
|
+
const row = rowConfig[i];
|
|
364
|
+
if (row.template) {
|
|
365
|
+
entries.push({
|
|
366
|
+
key: [...configKeyPrefix, 'rowConfig', i.toString(), row.variable],
|
|
367
|
+
kind: 'handlebars',
|
|
368
|
+
value: row.template
|
|
369
|
+
});
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
const groupRowConfig = dashboardConfig.groupRowConfig || [];
|
|
373
|
+
for (let i = 0; i < groupRowConfig.length; i++) {
|
|
374
|
+
const row = groupRowConfig[i];
|
|
375
|
+
if (row.template) {
|
|
376
|
+
entries.push({
|
|
377
|
+
key: [...configKeyPrefix, 'groupRowConfig', i.toString(), row.variable],
|
|
378
|
+
kind: 'handlebars',
|
|
379
|
+
value: row.template
|
|
380
|
+
});
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
const rowRulesConfig = dashboardConfig.rowRulesConfig || [];
|
|
384
|
+
for (let ruleSetIdx = 0; ruleSetIdx < rowRulesConfig.length; ruleSetIdx++) {
|
|
385
|
+
const ruleSet = rowRulesConfig[ruleSetIdx];
|
|
386
|
+
const rules = ruleSet.rules || [];
|
|
387
|
+
for (let ruleIdx = 0; ruleIdx < rules.length; ruleIdx++) {
|
|
388
|
+
const rule = rules[ruleIdx];
|
|
389
|
+
if (rule.renderItemTemplate) {
|
|
191
390
|
entries.push({
|
|
192
|
-
key: [
|
|
391
|
+
key: [...configKeyPrefix, 'rowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'render'],
|
|
193
392
|
kind: 'handlebars',
|
|
194
|
-
value:
|
|
393
|
+
value: rule.renderItemTemplate
|
|
195
394
|
});
|
|
196
395
|
}
|
|
197
|
-
|
|
198
|
-
// Extract templates from groupRowConfig
|
|
199
|
-
const groupRowConfig = dashboardConfig.groupRowConfig || [];
|
|
200
|
-
for (let i = 0; i < groupRowConfig.length; i++) {
|
|
201
|
-
const row = groupRowConfig[i];
|
|
202
|
-
if (row.template) {
|
|
396
|
+
if (rule.evaluateRulesTemplate) {
|
|
203
397
|
entries.push({
|
|
204
|
-
key: [
|
|
398
|
+
key: [...configKeyPrefix, 'rowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'evaluate'],
|
|
205
399
|
kind: 'handlebars',
|
|
206
|
-
value:
|
|
400
|
+
value: rule.evaluateRulesTemplate
|
|
207
401
|
});
|
|
208
402
|
}
|
|
209
403
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
224
|
-
if (rule.evaluateRulesTemplate) {
|
|
225
|
-
entries.push({
|
|
226
|
-
key: [recordType, workflowStage, 'rowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'evaluate'],
|
|
227
|
-
kind: 'handlebars',
|
|
228
|
-
value: rule.evaluateRulesTemplate
|
|
229
|
-
});
|
|
230
|
-
}
|
|
404
|
+
}
|
|
405
|
+
const groupRowRulesConfig = dashboardConfig.groupRowRulesConfig || [];
|
|
406
|
+
for (let ruleSetIdx = 0; ruleSetIdx < groupRowRulesConfig.length; ruleSetIdx++) {
|
|
407
|
+
const ruleSet = groupRowRulesConfig[ruleSetIdx];
|
|
408
|
+
const rules = ruleSet.rules || [];
|
|
409
|
+
for (let ruleIdx = 0; ruleIdx < rules.length; ruleIdx++) {
|
|
410
|
+
const rule = rules[ruleIdx];
|
|
411
|
+
if (rule.renderItemTemplate) {
|
|
412
|
+
entries.push({
|
|
413
|
+
key: [...configKeyPrefix, 'groupRowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'render'],
|
|
414
|
+
kind: 'handlebars',
|
|
415
|
+
value: rule.renderItemTemplate
|
|
416
|
+
});
|
|
231
417
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
for (let ruleIdx = 0; ruleIdx < rules.length; ruleIdx++) {
|
|
239
|
-
const rule = rules[ruleIdx];
|
|
240
|
-
if (rule.renderItemTemplate) {
|
|
241
|
-
entries.push({
|
|
242
|
-
key: [recordType, workflowStage, 'groupRowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'render'],
|
|
243
|
-
kind: 'handlebars',
|
|
244
|
-
value: rule.renderItemTemplate
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
if (rule.evaluateRulesTemplate) {
|
|
248
|
-
entries.push({
|
|
249
|
-
key: [recordType, workflowStage, 'groupRowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'evaluate'],
|
|
250
|
-
kind: 'handlebars',
|
|
251
|
-
value: rule.evaluateRulesTemplate
|
|
252
|
-
});
|
|
253
|
-
}
|
|
418
|
+
if (rule.evaluateRulesTemplate) {
|
|
419
|
+
entries.push({
|
|
420
|
+
key: [...configKeyPrefix, 'groupRowRules', ruleSet.ruleSetName, ruleIdx.toString(), 'evaluate'],
|
|
421
|
+
kind: 'handlebars',
|
|
422
|
+
value: rule.evaluateRulesTemplate
|
|
423
|
+
});
|
|
254
424
|
}
|
|
255
425
|
}
|
|
256
426
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
entries.push({
|
|
271
|
-
key: [recordType, dashboardType, 'filters', i.toString(), 'fields', j.toString(), 'template'],
|
|
272
|
-
kind: 'handlebars',
|
|
273
|
-
value: filterField.template
|
|
274
|
-
});
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
}
|
|
427
|
+
return entries;
|
|
428
|
+
}
|
|
429
|
+
async extractDashboardTemplates(brand, recordType, workflowStage, dashboardType = 'standard') {
|
|
430
|
+
const dashboardConfig = await this.getDashboardTableConfig(brand, recordType, workflowStage);
|
|
431
|
+
const entries = this.extractDashboardTableTemplates([recordType, workflowStage], dashboardConfig);
|
|
432
|
+
entries.push(...await this.extractQueryFilterTemplates(brand, recordType, dashboardType, [recordType]));
|
|
433
|
+
return entries;
|
|
434
|
+
}
|
|
435
|
+
async extractDashboardViewTemplates(brand, dashboardView, stepName, dashboardType) {
|
|
436
|
+
const dashboardViewConfig = this.getDashboardView(dashboardView);
|
|
437
|
+
const dashboardStepConfig = this.getDashboardViewStep(dashboardView, stepName);
|
|
438
|
+
if (!dashboardViewConfig || !dashboardStepConfig) {
|
|
439
|
+
return [];
|
|
281
440
|
}
|
|
282
|
-
|
|
283
|
-
|
|
441
|
+
const resolvedDashboardType = dashboardType || dashboardViewConfig.dashboardType;
|
|
442
|
+
let mergedTableConfig = dashboardStepConfig.dashboardTable ?? null;
|
|
443
|
+
if (typeof DashboardConfigService !== 'undefined' && DashboardConfigService.getMergedDashboardViewTableConfig) {
|
|
444
|
+
const mergedConfig = await DashboardConfigService.getMergedDashboardViewTableConfig(brand, dashboardView, stepName);
|
|
445
|
+
mergedTableConfig = mergedConfig?.mergedConfig ?? mergedTableConfig;
|
|
284
446
|
}
|
|
285
|
-
|
|
447
|
+
const entries = this.extractDashboardTableTemplates([dashboardView, stepName], mergedTableConfig);
|
|
448
|
+
entries.push(...await this.extractQueryFilterTemplates(brand, dashboardStepConfig.sourceRecordType, resolvedDashboardType, [dashboardView]));
|
|
286
449
|
return entries;
|
|
287
450
|
}
|
|
288
451
|
}
|
|
289
452
|
Services.DashboardTypes = DashboardTypes;
|
|
290
453
|
})(Services || (exports.Services = Services = {}));
|
|
291
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkVHlwZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0Rhc2hib2FyZFR5cGVzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBa0Q7QUFDbEQsZ0RBQXNEO0FBT3RELElBQWlCLFFBQVEsQ0FrV3hCO0FBbFdELFdBQWlCLFFBQVE7SUFtRHZCOztPQUVHO0lBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUVwQyxnQkFBZ0IsR0FBYTtZQUM5QyxXQUFXO1lBQ1gsUUFBUTtZQUNSLEtBQUs7WUFDTCxRQUFRO1lBQ1IseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QiwyQkFBMkI7U0FDNUIsQ0FBQztRQUVRLGNBQWMsR0FBeUIsRUFBRSxDQUFDO1FBRTdDLEtBQUssQ0FBQyxTQUFTLENBQUMsUUFBdUI7WUFDNUMsSUFBSSxjQUFjLEdBQUcsTUFBTSxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBeUIsQ0FBQztZQUNqRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN6QyxNQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZELGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDdEIsQ0FBQztZQUVELHVDQUF1QztZQUN2Qyx5QkFBeUI7WUFDekIsSUFBSTtZQUNKLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHlCQUF5QixjQUFjLCtCQUErQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQ2hJLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO2dCQUM5QixN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
|
|
454
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkVHlwZXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL0Rhc2hib2FyZFR5cGVzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBd0Q7QUFDeEQsZ0RBQXNEO0FBOEJ0RCxJQUFpQixRQUFRLENBaWhCeEI7QUFqaEJELFdBQWlCLFFBQVE7SUFzQ3ZCLE1BQWEsY0FBZSxTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDcEMsZ0JBQWdCLEdBQWE7WUFDOUMsV0FBVztZQUNYLFFBQVE7WUFDUixxQkFBcUI7WUFDckIsS0FBSztZQUNMLFFBQVE7WUFDUixnQ0FBZ0M7WUFDaEMsNEJBQTRCO1lBQzVCLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIseUJBQXlCO1lBQ3pCLDhCQUE4QjtZQUM5QiwyQkFBMkI7WUFDM0Isa0JBQWtCO1lBQ2xCLHNCQUFzQjtZQUN0QiwrQkFBK0I7U0FDaEMsQ0FBQztRQUVRLGNBQWMsR0FBeUIsRUFBRSxDQUFDO1FBRTVDLGtCQUFrQjtZQUN4QixPQUFPO2dCQUNMLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxLQUFLLEVBQUUsY0FBYzt3QkFDckIsUUFBUSxFQUFFLGdCQUFnQjt3QkFDMUIsUUFBUSxFQUFFOzs7Ozs7V0FNWDt3QkFDQyxXQUFXLEVBQUUsTUFBTTtxQkFDcEI7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLFdBQVc7d0JBQ2xCLFFBQVEsRUFBRSx3Q0FBd0M7d0JBQ2xELFFBQVEsRUFBRSxrRkFBa0Y7d0JBQzVGLFdBQVcsRUFBRSxNQUFNO3FCQUNwQjtvQkFDRDt3QkFDRSxLQUFLLEVBQUUscUJBQXFCO3dCQUM1QixRQUFRLEVBQUUsa0RBQWtEO3dCQUM1RCxRQUFRLEVBQUUsc0dBQXNHO3dCQUNoSCxXQUFXLEVBQUUsTUFBTTtxQkFDcEI7b0JBQ0Q7d0JBQ0UsS0FBSyxFQUFFLGdCQUFnQjt3QkFDdkIsUUFBUSxF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
|