@researchdatabox/redbox-core 0.0.0-bootstrap.0
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/Attachment.d.ts +17 -0
- package/dist/Attachment.d.ts.map +1 -0
- package/dist/Attachment.js +40 -0
- package/dist/CoreController.d.ts +202 -0
- package/dist/CoreController.d.ts.map +1 -0
- package/dist/CoreController.js +688 -0
- package/dist/CoreService.d.ts +95 -0
- package/dist/CoreService.d.ts.map +1 -0
- package/dist/CoreService.js +295 -0
- package/dist/Datastream.d.ts +11 -0
- package/dist/Datastream.d.ts.map +1 -0
- package/dist/Datastream.js +38 -0
- package/dist/DatastreamService.d.ts +19 -0
- package/dist/DatastreamService.d.ts.map +1 -0
- package/dist/DatastreamService.js +3 -0
- package/dist/DatastreamServiceResponse.d.ts +12 -0
- package/dist/DatastreamServiceResponse.d.ts.map +1 -0
- package/dist/DatastreamServiceResponse.js +37 -0
- package/dist/IntegrationAuditParams.d.ts.map +1 -0
- package/dist/Logger.d.ts +16 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +3 -0
- package/dist/QueueService.d.ts +9 -0
- package/dist/QueueService.d.ts.map +1 -0
- package/dist/QueueService.js +21 -0
- package/dist/RecordAuditParams.d.ts +6 -0
- package/dist/RecordAuditParams.d.ts.map +1 -0
- package/dist/RecordAuditParams.js +10 -0
- package/dist/RecordsService.d.ts +39 -0
- package/dist/RecordsService.d.ts.map +1 -0
- package/dist/RecordsService.js +3 -0
- package/dist/SearchService.d.ts +8 -0
- package/dist/SearchService.d.ts.map +1 -0
- package/dist/SearchService.js +3 -0
- package/dist/StorageService.d.ts +27 -0
- package/dist/StorageService.d.ts.map +1 -0
- package/dist/StorageService.js +3 -0
- package/dist/StorageServiceResponse.d.ts +16 -0
- package/dist/StorageServiceResponse.d.ts.map +1 -0
- package/dist/StorageServiceResponse.js +41 -0
- package/dist/bootstrap.d.ts +32 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +172 -0
- package/dist/config/action.config.d.ts +13 -0
- package/dist/config/action.config.d.ts.map +1 -0
- package/dist/config/action.config.js +9 -0
- package/dist/config/agendaQueue.config.d.ts +49 -0
- package/dist/config/agendaQueue.config.d.ts.map +1 -0
- package/dist/config/agendaQueue.config.js +71 -0
- package/dist/config/api.config.d.ts +9 -0
- package/dist/config/api.config.d.ts.map +1 -0
- package/dist/config/api.config.js +11 -0
- package/dist/config/appmode.config.d.ts +12 -0
- package/dist/config/appmode.config.d.ts.map +1 -0
- package/dist/config/appmode.config.js +12 -0
- package/dist/config/auth.config.d.ts +15 -0
- package/dist/config/auth.config.d.ts.map +1 -0
- package/dist/config/auth.config.js +81 -0
- package/dist/config/autoreload.config.d.ts +18 -0
- package/dist/config/autoreload.config.d.ts.map +1 -0
- package/dist/config/autoreload.config.js +21 -0
- package/dist/config/blueprints.config.d.ts +28 -0
- package/dist/config/blueprints.config.d.ts.map +1 -0
- package/dist/config/blueprints.config.js +15 -0
- package/dist/config/bootstrap.config.d.ts +15 -0
- package/dist/config/bootstrap.config.d.ts.map +1 -0
- package/dist/config/bootstrap.config.js +12 -0
- package/dist/config/branding.config.d.ts +19 -0
- package/dist/config/branding.config.d.ts.map +1 -0
- package/dist/config/branding.config.js +109 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts +134 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -0
- package/dist/config/brandingConfigurationDefaults.config.js +283 -0
- package/dist/config/companion.config.d.ts +41 -0
- package/dist/config/companion.config.d.ts.map +1 -0
- package/dist/config/companion.config.js +61 -0
- package/dist/config/cors.config.d.ts +22 -0
- package/dist/config/cors.config.d.ts.map +1 -0
- package/dist/config/cors.config.js +11 -0
- package/dist/config/crontab.config.d.ts +22 -0
- package/dist/config/crontab.config.d.ts.map +1 -0
- package/dist/config/crontab.config.js +18 -0
- package/dist/config/csp.config.d.ts +53 -0
- package/dist/config/csp.config.d.ts.map +1 -0
- package/dist/config/csp.config.js +32 -0
- package/dist/config/custom.config.d.ts +16 -0
- package/dist/config/custom.config.d.ts.map +1 -0
- package/dist/config/custom.config.js +22 -0
- package/dist/config/custom_cache.config.d.ts +14 -0
- package/dist/config/custom_cache.config.d.ts.map +1 -0
- package/dist/config/custom_cache.config.js +13 -0
- package/dist/config/dashboardtype.config.d.ts +45 -0
- package/dist/config/dashboardtype.config.d.ts.map +1 -0
- package/dist/config/dashboardtype.config.js +98 -0
- package/dist/config/datacite.config.d.ts +51 -0
- package/dist/config/datacite.config.d.ts.map +1 -0
- package/dist/config/datacite.config.js +44 -0
- package/dist/config/datapubs.config.d.ts +72 -0
- package/dist/config/datapubs.config.d.ts.map +1 -0
- package/dist/config/datapubs.config.js +74 -0
- package/dist/config/datastores.config.d.ts +20 -0
- package/dist/config/datastores.config.d.ts.map +1 -0
- package/dist/config/datastores.config.js +21 -0
- package/dist/config/dompurify.config.d.ts +65 -0
- package/dist/config/dompurify.config.d.ts.map +1 -0
- package/dist/config/dompurify.config.js +181 -0
- package/dist/config/dynamicasset.config.d.ts +13 -0
- package/dist/config/dynamicasset.config.d.ts.map +1 -0
- package/dist/config/dynamicasset.config.js +18 -0
- package/dist/config/dynamicconfig.config.d.ts +12 -0
- package/dist/config/dynamicconfig.config.d.ts.map +1 -0
- package/dist/config/dynamicconfig.config.js +13 -0
- package/dist/config/emailnotification.config.d.ts +49 -0
- package/dist/config/emailnotification.config.d.ts.map +1 -0
- package/dist/config/emailnotification.config.js +37 -0
- package/dist/config/figshareAPI.config.d.ts +116 -0
- package/dist/config/figshareAPI.config.d.ts.map +1 -0
- package/dist/config/figshareAPI.config.js +857 -0
- package/dist/config/figshareAPIEnv.config.d.ts +11 -0
- package/dist/config/figshareAPIEnv.config.d.ts.map +1 -0
- package/dist/config/figshareAPIEnv.config.js +13 -0
- package/dist/config/figshareDev.config.d.ts.map +1 -0
- package/dist/config/figshareRedboxFORMapping.config.d.ts +15 -0
- package/dist/config/figshareRedboxFORMapping.config.d.ts.map +1 -0
- package/dist/config/figshareRedboxFORMapping.config.js +7458 -0
- package/dist/config/form.config.d.ts +20 -0
- package/dist/config/form.config.d.ts.map +1 -0
- package/dist/config/form.config.js +11 -0
- package/dist/config/globals.config.d.ts +20 -0
- package/dist/config/globals.config.d.ts.map +1 -0
- package/dist/config/globals.config.js +52 -0
- package/dist/config/http.config.d.ts +57 -0
- package/dist/config/http.config.d.ts.map +1 -0
- package/dist/config/http.config.js +462 -0
- package/dist/config/i18n.config.d.ts +38 -0
- package/dist/config/i18n.config.d.ts.map +1 -0
- package/dist/config/i18n.config.js +30 -0
- package/dist/config/index.d.ts +306 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +240 -0
- package/dist/config/jsonld.config.d.ts +19 -0
- package/dist/config/jsonld.config.d.ts.map +1 -0
- package/dist/config/jsonld.config.js +33 -0
- package/dist/config/log.config.d.ts +20 -0
- package/dist/config/log.config.d.ts.map +1 -0
- package/dist/config/log.config.js +157 -0
- package/dist/config/lognamespace.config.d.ts +13 -0
- package/dist/config/lognamespace.config.d.ts.map +1 -0
- package/dist/config/lognamespace.config.js +17 -0
- package/dist/config/mint.config.d.ts +23 -0
- package/dist/config/mint.config.d.ts.map +1 -0
- package/dist/config/mint.config.js +20 -0
- package/dist/config/models.config.d.ts +37 -0
- package/dist/config/models.config.d.ts.map +1 -0
- package/dist/config/models.config.js +23 -0
- package/dist/config/namedQuery.config.d.ts +26 -0
- package/dist/config/namedQuery.config.d.ts.map +1 -0
- package/dist/config/namedQuery.config.js +358 -0
- package/dist/config/ng2.config.d.ts +11 -0
- package/dist/config/ng2.config.d.ts.map +1 -0
- package/dist/config/ng2.config.js +12 -0
- package/dist/config/orcid.config.d.ts +12 -0
- package/dist/config/orcid.config.d.ts.map +1 -0
- package/dist/config/orcid.config.js +13 -0
- package/dist/config/orm.config.d.ts +12 -0
- package/dist/config/orm.config.d.ts.map +1 -0
- package/dist/config/orm.config.js +13 -0
- package/dist/config/peopleSearch.config.d.ts +14 -0
- package/dist/config/peopleSearch.config.d.ts.map +1 -0
- package/dist/config/peopleSearch.config.js +15 -0
- package/dist/config/policies.config.d.ts +18 -0
- package/dist/config/policies.config.d.ts.map +1 -0
- package/dist/config/policies.config.js +65 -0
- package/dist/config/queue.config.d.ts +12 -0
- package/dist/config/queue.config.d.ts.map +1 -0
- package/dist/config/queue.config.js +13 -0
- package/dist/config/raid.config.d.ts +66 -0
- package/dist/config/raid.config.d.ts.map +1 -0
- package/dist/config/raid.config.js +272 -0
- package/dist/config/record.config.d.ts +74 -0
- package/dist/config/record.config.d.ts.map +1 -0
- package/dist/config/record.config.js +104 -0
- package/dist/config/recordtype.config.d.ts +66 -0
- package/dist/config/recordtype.config.d.ts.map +1 -0
- package/dist/config/recordtype.config.js +660 -0
- package/dist/config/redboxSession.config.d.ts +29 -0
- package/dist/config/redboxSession.config.d.ts.map +1 -0
- package/dist/config/redboxSession.config.js +14 -0
- package/dist/config/redboxToCkan.config.d.ts +17 -0
- package/dist/config/redboxToCkan.config.d.ts.map +1 -0
- package/dist/config/redboxToCkan.config.js +18 -0
- package/dist/config/relatedObjectsFormDefinition.config.d.ts.map +1 -0
- package/dist/config/report.config.d.ts +46 -0
- package/dist/config/report.config.d.ts.map +1 -0
- package/dist/config/report.config.js +54 -0
- package/dist/config/reusableContributorFormDefinitions.config.d.ts +3 -0
- package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -0
- package/dist/config/reusableContributorFormDefinitions.config.js +408 -0
- package/dist/config/reusableFormDefinitions.config.d.ts +16 -0
- package/dist/config/reusableFormDefinitions.config.d.ts.map +1 -0
- package/dist/config/reusableFormDefinitions.config.js +41 -0
- package/dist/config/reusableRelatedObjectsFormDefinitions.config.d.ts +22 -0
- package/dist/config/reusableRelatedObjectsFormDefinitions.config.d.ts.map +1 -0
- package/dist/config/reusableRelatedObjectsFormDefinitions.config.js +291 -0
- package/dist/config/reusableViewFormDefinitions.config.d.ts +3 -0
- package/dist/config/reusableViewFormDefinitions.config.d.ts.map +1 -0
- package/dist/config/reusableViewFormDefinitions.config.js +140 -0
- package/dist/config/routes.config.d.ts +21 -0
- package/dist/config/routes.config.d.ts.map +1 -0
- package/dist/config/routes.config.js +389 -0
- package/dist/config/search.config.d.ts +9 -0
- package/dist/config/search.config.d.ts.map +1 -0
- package/dist/config/search.config.js +11 -0
- package/dist/config/security.config.d.ts +22 -0
- package/dist/config/security.config.d.ts.map +1 -0
- package/dist/config/security.config.js +14 -0
- package/dist/config/session.config.d.ts +37 -0
- package/dist/config/session.config.d.ts.map +1 -0
- package/dist/config/session.config.js +11 -0
- package/dist/config/sockets.config.d.ts +17 -0
- package/dist/config/sockets.config.d.ts.map +1 -0
- package/dist/config/sockets.config.js +12 -0
- package/dist/config/solr.config.d.ts +73 -0
- package/dist/config/solr.config.d.ts.map +1 -0
- package/dist/config/solr.config.js +79 -0
- package/dist/config/static_assets.config.d.ts +10 -0
- package/dist/config/static_assets.config.d.ts.map +1 -0
- package/dist/config/static_assets.config.js +12 -0
- package/dist/config/storage.config.d.ts +42 -0
- package/dist/config/storage.config.d.ts.map +1 -0
- package/dist/config/storage.config.js +30 -0
- package/dist/config/typescript.config.d.ts +12 -0
- package/dist/config/typescript.config.d.ts.map +1 -0
- package/dist/config/typescript.config.js +13 -0
- package/dist/config/validators.config.d.ts +13 -0
- package/dist/config/validators.config.d.ts.map +1 -0
- package/dist/config/validators.config.js +15 -0
- package/dist/config/views.config.d.ts +20 -0
- package/dist/config/views.config.d.ts.map +1 -0
- package/dist/config/views.config.js +20 -0
- package/dist/config/vocab.config.d.ts +58 -0
- package/dist/config/vocab.config.d.ts.map +1 -0
- package/dist/config/vocab.config.js +58 -0
- package/dist/config/webpack.config.d.ts +16 -0
- package/dist/config/webpack.config.d.ts.map +1 -0
- package/dist/config/webpack.config.js +153 -0
- package/dist/config/workflow.config.d.ts +76 -0
- package/dist/config/workflow.config.d.ts.map +1 -0
- package/dist/config/workflow.config.js +339 -0
- package/dist/config/workspacetype.config.d.ts +23 -0
- package/dist/config/workspacetype.config.d.ts.map +1 -0
- package/dist/config/workspacetype.config.js +19 -0
- package/dist/configmodels/AdminSidebarConfig.d.ts +352 -0
- package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -0
- package/dist/configmodels/AdminSidebarConfig.js +163 -0
- package/dist/configmodels/AppConfig.interface.d.ts +4 -0
- package/dist/configmodels/AppConfig.interface.d.ts.map +1 -0
- package/dist/configmodels/AppConfig.interface.js +10 -0
- package/dist/configmodels/AuthorizedDomainsEmails.d.ts +43 -0
- package/dist/configmodels/AuthorizedDomainsEmails.d.ts.map +1 -0
- package/dist/configmodels/AuthorizedDomainsEmails.js +49 -0
- package/dist/configmodels/ConfigModels.d.ts +22 -0
- package/dist/configmodels/ConfigModels.d.ts.map +1 -0
- package/dist/configmodels/ConfigModels.js +98 -0
- package/dist/configmodels/DoiPublishing.d.ts.map +1 -0
- package/dist/configmodels/FigsharePublishing.d.ts.map +1 -0
- package/dist/configmodels/HomePanelConfig.d.ts +244 -0
- package/dist/configmodels/HomePanelConfig.d.ts.map +1 -0
- package/dist/configmodels/HomePanelConfig.js +132 -0
- package/dist/configmodels/MenuConfig.d.ts +203 -0
- package/dist/configmodels/MenuConfig.d.ts.map +1 -0
- package/dist/configmodels/MenuConfig.js +158 -0
- package/dist/configmodels/SystemMessage.d.ts +24 -0
- package/dist/configmodels/SystemMessage.d.ts.map +1 -0
- package/dist/configmodels/SystemMessage.js +30 -0
- package/dist/controllers/ActionController.d.ts +21 -0
- package/dist/controllers/ActionController.d.ts.map +1 -0
- package/dist/controllers/ActionController.js +41 -0
- package/dist/controllers/AdminController.d.ts +45 -0
- package/dist/controllers/AdminController.d.ts.map +1 -0
- package/dist/controllers/AdminController.js +498 -0
- package/dist/controllers/AppConfigController.d.ts +25 -0
- package/dist/controllers/AppConfigController.d.ts.map +1 -0
- package/dist/controllers/AppConfigController.js +90 -0
- package/dist/controllers/AsynchController.d.ts +30 -0
- package/dist/controllers/AsynchController.d.ts.map +1 -0
- package/dist/controllers/AsynchController.js +146 -0
- package/dist/controllers/BrandingAppController.d.ts +21 -0
- package/dist/controllers/BrandingAppController.d.ts.map +1 -0
- package/dist/controllers/BrandingAppController.js +144 -0
- package/dist/controllers/BrandingController.d.ts +64 -0
- package/dist/controllers/BrandingController.d.ts.map +1 -0
- package/dist/controllers/BrandingController.js +256 -0
- package/dist/controllers/DynamicAssetController.d.ts +67 -0
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -0
- package/dist/controllers/DynamicAssetController.js +225 -0
- package/dist/controllers/EmailController.d.ts +35 -0
- package/dist/controllers/EmailController.d.ts.map +1 -0
- package/dist/controllers/EmailController.js +138 -0
- package/dist/controllers/ExportController.d.ts +22 -0
- package/dist/controllers/ExportController.d.ts.map +1 -0
- package/dist/controllers/ExportController.js +73 -0
- package/dist/controllers/FormVocabularyController.d.ts +12 -0
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -0
- package/dist/controllers/FormVocabularyController.js +218 -0
- package/dist/controllers/RecordAuditController.d.ts +25 -0
- package/dist/controllers/RecordAuditController.d.ts.map +1 -0
- package/dist/controllers/RecordAuditController.js +74 -0
- package/dist/controllers/RecordController.d.ts +114 -0
- package/dist/controllers/RecordController.d.ts.map +1 -0
- package/dist/controllers/RecordController.js +1614 -0
- package/dist/controllers/RenderViewController.d.ts +14 -0
- package/dist/controllers/RenderViewController.d.ts.map +1 -0
- package/dist/controllers/RenderViewController.js +30 -0
- package/dist/controllers/ReportController.d.ts +25 -0
- package/dist/controllers/ReportController.d.ts.map +1 -0
- package/dist/controllers/ReportController.js +80 -0
- package/dist/controllers/ReportsController.d.ts +22 -0
- package/dist/controllers/ReportsController.d.ts.map +1 -0
- package/dist/controllers/ReportsController.js +37 -0
- package/dist/controllers/TranslationController.d.ts +27 -0
- package/dist/controllers/TranslationController.d.ts.map +1 -0
- package/dist/controllers/TranslationController.js +245 -0
- package/dist/controllers/UserController.d.ts +50 -0
- package/dist/controllers/UserController.d.ts.map +1 -0
- package/dist/controllers/UserController.js +518 -0
- package/dist/controllers/VocabController.d.ts +43 -0
- package/dist/controllers/VocabController.d.ts.map +1 -0
- package/dist/controllers/VocabController.js +190 -0
- package/dist/controllers/VocabularyController.d.ts +23 -0
- package/dist/controllers/VocabularyController.d.ts.map +1 -0
- package/dist/controllers/VocabularyController.js +344 -0
- package/dist/controllers/WorkspaceAsyncController.d.ts +18 -0
- package/dist/controllers/WorkspaceAsyncController.d.ts.map +1 -0
- package/dist/controllers/WorkspaceAsyncController.js +63 -0
- package/dist/controllers/WorkspaceTypesController.d.ts +19 -0
- package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -0
- package/dist/controllers/WorkspaceTypesController.js +96 -0
- package/dist/controllers/index.d.ts +8 -0
- package/dist/controllers/index.d.ts.map +1 -0
- package/dist/controllers/index.js +159 -0
- package/dist/controllers/webservice/AdminController.d.ts +20 -0
- package/dist/controllers/webservice/AdminController.d.ts.map +1 -0
- package/dist/controllers/webservice/AdminController.js +83 -0
- package/dist/controllers/webservice/AppConfigController.d.ts +25 -0
- package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -0
- package/dist/controllers/webservice/AppConfigController.js +72 -0
- package/dist/controllers/webservice/BrandingController.d.ts +13 -0
- package/dist/controllers/webservice/BrandingController.d.ts.map +1 -0
- package/dist/controllers/webservice/BrandingController.js +147 -0
- package/dist/controllers/webservice/ExportController.d.ts +22 -0
- package/dist/controllers/webservice/ExportController.d.ts.map +1 -0
- package/dist/controllers/webservice/ExportController.js +67 -0
- package/dist/controllers/webservice/FormManagementController.d.ts +24 -0
- package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -0
- package/dist/controllers/webservice/FormManagementController.js +79 -0
- package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -0
- package/dist/controllers/webservice/RecordController.d.ts +65 -0
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -0
- package/dist/controllers/webservice/RecordController.js +1348 -0
- package/dist/controllers/webservice/RecordTypeController.d.ts +24 -0
- package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -0
- package/dist/controllers/webservice/RecordTypeController.js +70 -0
- package/dist/controllers/webservice/ReportController.d.ts +22 -0
- package/dist/controllers/webservice/ReportController.d.ts.map +1 -0
- package/dist/controllers/webservice/ReportController.js +74 -0
- package/dist/controllers/webservice/SearchController.d.ts +28 -0
- package/dist/controllers/webservice/SearchController.d.ts.map +1 -0
- package/dist/controllers/webservice/SearchController.js +123 -0
- package/dist/controllers/webservice/TranslationController.d.ts +18 -0
- package/dist/controllers/webservice/TranslationController.d.ts.map +1 -0
- package/dist/controllers/webservice/TranslationController.js +226 -0
- package/dist/controllers/webservice/UserManagementController.d.ts +38 -0
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -0
- package/dist/controllers/webservice/UserManagementController.js +608 -0
- package/dist/controllers/webservice/VocabularyController.d.ts +18 -0
- package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -0
- package/dist/controllers/webservice/VocabularyController.js +172 -0
- package/dist/decorator/PopulateExportedMethods.decorator.d.ts +4 -0
- package/dist/decorator/PopulateExportedMethods.decorator.d.ts.map +1 -0
- package/dist/decorator/PopulateExportedMethods.decorator.js +22 -0
- package/dist/decorator/index.d.ts +2 -0
- package/dist/decorator/index.d.ts.map +1 -0
- package/dist/decorator/index.js +6 -0
- package/dist/decorators/Associations.d.ts +4 -0
- package/dist/decorators/Associations.d.ts.map +1 -0
- package/dist/decorators/Associations.js +12 -0
- package/dist/decorators/Attr.d.ts +4 -0
- package/dist/decorators/Attr.d.ts.map +1 -0
- package/dist/decorators/Attr.js +34 -0
- package/dist/decorators/Entity.d.ts +3 -0
- package/dist/decorators/Entity.d.ts.map +1 -0
- package/dist/decorators/Entity.js +29 -0
- package/dist/decorators/Lifecycle.d.ts +10 -0
- package/dist/decorators/Lifecycle.d.ts.map +1 -0
- package/dist/decorators/Lifecycle.js +26 -0
- package/dist/decorators/index.d.ts +8 -0
- package/dist/decorators/index.d.ts.map +1 -0
- package/dist/decorators/index.js +35 -0
- package/dist/decorators/registry.d.ts +8 -0
- package/dist/decorators/registry.d.ts.map +1 -0
- package/dist/decorators/registry.js +68 -0
- package/dist/decorators/types.d.ts +81 -0
- package/dist/decorators/types.d.ts.map +1 -0
- package/dist/decorators/types.js +4 -0
- package/dist/decorators/utils.d.ts +5 -0
- package/dist/decorators/utils.d.ts.map +1 -0
- package/dist/decorators/utils.js +68 -0
- package/dist/form-config/dataPublication-1.0-draft.d.ts.map +1 -0
- package/dist/form-config/dataPublication-1.0-embargoed.d.ts.map +1 -0
- package/dist/form-config/dataPublication-1.0-published.d.ts.map +1 -0
- package/dist/form-config/dataPublication-1.0-queued.d.ts.map +1 -0
- package/dist/form-config/dataPublication-1.0-retired.d.ts.map +1 -0
- package/dist/form-config/dataRecord-1.0-draft.d.ts +4 -0
- package/dist/form-config/dataRecord-1.0-draft.d.ts.map +1 -0
- package/dist/form-config/dataRecord-1.0-draft.js +1042 -0
- package/dist/form-config/default-1.0-draft.d.ts +4 -0
- package/dist/form-config/default-1.0-draft.d.ts.map +1 -0
- package/dist/form-config/default-1.0-draft.js +1132 -0
- package/dist/form-config/generated-view-only.d.ts +12 -0
- package/dist/form-config/generated-view-only.d.ts.map +1 -0
- package/dist/form-config/generated-view-only.js +169 -0
- package/dist/form-config/index.d.ts +3 -0
- package/dist/form-config/index.d.ts.map +1 -0
- package/dist/form-config/index.js +15 -0
- package/dist/hooks/defineRedboxHook.d.ts +31 -0
- package/dist/hooks/defineRedboxHook.d.ts.map +1 -0
- package/dist/hooks/defineRedboxHook.js +47 -0
- package/dist/hooks/index.d.ts +9 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +13 -0
- package/dist/hooks/webpack.d.ts +27 -0
- package/dist/hooks/webpack.d.ts.map +1 -0
- package/dist/hooks/webpack.js +82 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +116 -0
- package/dist/loader/bootstrapShimRuntime.d.ts +8 -0
- package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -0
- package/dist/loader/bootstrapShimRuntime.js +83 -0
- package/dist/loader/index.d.ts +93 -0
- package/dist/loader/index.d.ts.map +1 -0
- package/dist/loader/index.js +767 -0
- package/dist/middleware/redboxSession.d.ts +6 -0
- package/dist/middleware/redboxSession.d.ts.map +1 -0
- package/dist/middleware/redboxSession.js +60 -0
- package/dist/model/APIActionResponse.d.ts +6 -0
- package/dist/model/APIActionResponse.d.ts.map +1 -0
- package/dist/model/APIActionResponse.js +13 -0
- package/dist/model/APIErrorResponse.d.ts +6 -0
- package/dist/model/APIErrorResponse.d.ts.map +1 -0
- package/dist/model/APIErrorResponse.js +13 -0
- package/dist/model/APIHarvestResponse.d.ts +9 -0
- package/dist/model/APIHarvestResponse.d.ts.map +1 -0
- package/dist/model/APIHarvestResponse.js +19 -0
- package/dist/model/APIObjectActionResponse.d.ts +7 -0
- package/dist/model/APIObjectActionResponse.d.ts.map +1 -0
- package/dist/model/APIObjectActionResponse.js +15 -0
- package/dist/model/BuildResponse.d.ts +47 -0
- package/dist/model/BuildResponse.d.ts.map +1 -0
- package/dist/model/BuildResponse.js +5 -0
- package/dist/model/DashboardTypeResponseModel.d.ts +6 -0
- package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -0
- package/dist/model/DashboardTypeResponseModel.js +13 -0
- package/dist/model/ListAPIResponse.d.ts +7 -0
- package/dist/model/ListAPIResponse.d.ts.map +1 -0
- package/dist/model/ListAPIResponse.js +12 -0
- package/dist/model/ListAPISummary.d.ts +7 -0
- package/dist/model/ListAPISummary.d.ts.map +1 -0
- package/dist/model/ListAPISummary.js +12 -0
- package/dist/model/RBValidationError.d.ts +62 -0
- package/dist/model/RBValidationError.d.ts.map +1 -0
- package/dist/model/RBValidationError.js +98 -0
- package/dist/model/RecordTypeResponseModel.d.ts +10 -0
- package/dist/model/RecordTypeResponseModel.d.ts.map +1 -0
- package/dist/model/RecordTypeResponseModel.js +19 -0
- package/dist/model/RequestDetails.d.ts +27 -0
- package/dist/model/RequestDetails.d.ts.map +1 -0
- package/dist/model/RequestDetails.js +53 -0
- package/dist/model/SolrDocument.d.ts +17 -0
- package/dist/model/SolrDocument.d.ts.map +1 -0
- package/dist/model/SolrDocument.js +30 -0
- package/dist/model/api/APIResponseVersion2.d.ts +107 -0
- package/dist/model/api/APIResponseVersion2.d.ts.map +1 -0
- package/dist/model/api/APIResponseVersion2.js +3 -0
- package/dist/model/api/APIVersions.d.ts +9 -0
- package/dist/model/api/APIVersions.d.ts.map +1 -0
- package/dist/model/api/APIVersions.js +11 -0
- package/dist/model/api/CreateUserAPIResponse.d.ts +9 -0
- package/dist/model/api/CreateUserAPIResponse.d.ts.map +1 -0
- package/dist/model/api/CreateUserAPIResponse.js +13 -0
- package/dist/model/api/FigshareArticleCreate.d.ts +11 -0
- package/dist/model/api/FigshareArticleCreate.d.ts.map +1 -0
- package/dist/model/api/FigshareArticleCreate.js +16 -0
- package/dist/model/api/FigshareArticleEmbargo.d.ts +11 -0
- package/dist/model/api/FigshareArticleEmbargo.d.ts.map +1 -0
- package/dist/model/api/FigshareArticleEmbargo.js +23 -0
- package/dist/model/api/FigshareArticleUpdate.d.ts +13 -0
- package/dist/model/api/FigshareArticleUpdate.d.ts.map +1 -0
- package/dist/model/api/FigshareArticleUpdate.js +20 -0
- package/dist/model/api/UserAPITokenAPIResponse.d.ts +6 -0
- package/dist/model/api/UserAPITokenAPIResponse.d.ts.map +1 -0
- package/dist/model/api/UserAPITokenAPIResponse.js +10 -0
- package/dist/model/api/index.d.ts +8 -0
- package/dist/model/api/index.d.ts.map +1 -0
- package/dist/model/api/index.js +16 -0
- package/dist/model/config/ReportConfig.d.ts +50 -0
- package/dist/model/config/ReportConfig.d.ts.map +1 -0
- package/dist/model/config/ReportConfig.js +58 -0
- package/dist/model/config/SolrConfig.d.ts +72 -0
- package/dist/model/config/SolrConfig.d.ts.map +1 -0
- package/dist/model/config/SolrConfig.js +41 -0
- package/dist/model/config/VocabQueryConfig.d.ts +30 -0
- package/dist/model/config/VocabQueryConfig.d.ts.map +1 -0
- package/dist/model/config/VocabQueryConfig.js +32 -0
- package/dist/model/config/index.d.ts +4 -0
- package/dist/model/config/index.d.ts.map +1 -0
- package/dist/model/config/index.js +20 -0
- package/dist/model/index.d.ts +16 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +45 -0
- package/dist/model/storage/AppConfigModel.d.ts +9 -0
- package/dist/model/storage/AppConfigModel.d.ts.map +1 -0
- package/dist/model/storage/AppConfigModel.js +3 -0
- package/dist/model/storage/AsynchProgressModel.d.ts +18 -0
- package/dist/model/storage/AsynchProgressModel.d.ts.map +1 -0
- package/dist/model/storage/AsynchProgressModel.js +3 -0
- package/dist/model/storage/BrandingModel.d.ts +24 -0
- package/dist/model/storage/BrandingModel.d.ts.map +1 -0
- package/dist/model/storage/BrandingModel.js +60 -0
- package/dist/model/storage/CacheEntryModel.d.ts +6 -0
- package/dist/model/storage/CacheEntryModel.d.ts.map +1 -0
- package/dist/model/storage/CacheEntryModel.js +3 -0
- package/dist/model/storage/CounterModel.d.ts +7 -0
- package/dist/model/storage/CounterModel.d.ts.map +1 -0
- package/dist/model/storage/CounterModel.js +3 -0
- package/dist/model/storage/DashboardTypeModel.d.ts +9 -0
- package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -0
- package/dist/model/storage/DashboardTypeModel.js +3 -0
- package/dist/model/storage/DeletedRecordModel.d.ts +7 -0
- package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -0
- package/dist/model/storage/DeletedRecordModel.js +3 -0
- package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -0
- package/dist/model/storage/NamedQueryModel.d.ts +13 -0
- package/dist/model/storage/NamedQueryModel.d.ts.map +1 -0
- package/dist/model/storage/NamedQueryModel.js +17 -0
- package/dist/model/storage/RecordAuditModel.d.ts +15 -0
- package/dist/model/storage/RecordAuditModel.d.ts.map +1 -0
- package/dist/model/storage/RecordAuditModel.js +28 -0
- package/dist/model/storage/RecordModel.d.ts +42 -0
- package/dist/model/storage/RecordModel.d.ts.map +1 -0
- package/dist/model/storage/RecordModel.js +3 -0
- package/dist/model/storage/RecordTypeModel.d.ts +36 -0
- package/dist/model/storage/RecordTypeModel.d.ts.map +1 -0
- package/dist/model/storage/RecordTypeModel.js +43 -0
- package/dist/model/storage/ReportModel.d.ts +5 -0
- package/dist/model/storage/ReportModel.d.ts.map +1 -0
- package/dist/model/storage/ReportModel.js +3 -0
- package/dist/model/storage/RoleModel.d.ts +9 -0
- package/dist/model/storage/RoleModel.d.ts.map +1 -0
- package/dist/model/storage/RoleModel.js +12 -0
- package/dist/model/storage/UserAuditModel.d.ts +9 -0
- package/dist/model/storage/UserAuditModel.d.ts.map +1 -0
- package/dist/model/storage/UserAuditModel.js +3 -0
- package/dist/model/storage/UserLinkModel.d.ts +14 -0
- package/dist/model/storage/UserLinkModel.d.ts.map +1 -0
- package/dist/model/storage/UserLinkModel.js +18 -0
- package/dist/model/storage/UserModel.d.ts +25 -0
- package/dist/model/storage/UserModel.d.ts.map +1 -0
- package/dist/model/storage/UserModel.js +26 -0
- package/dist/model/storage/WorkflowStepModel.d.ts +11 -0
- package/dist/model/storage/WorkflowStepModel.d.ts.map +1 -0
- package/dist/model/storage/WorkflowStepModel.js +3 -0
- package/dist/model/storage/WorkspaceAppModel.d.ts +8 -0
- package/dist/model/storage/WorkspaceAppModel.d.ts.map +1 -0
- package/dist/model/storage/WorkspaceAppModel.js +3 -0
- package/dist/model/storage/index.d.ts +18 -0
- package/dist/model/storage/index.d.ts.map +1 -0
- package/dist/model/storage/index.js +19 -0
- package/dist/policies/brandingAndPortal.d.ts +9 -0
- package/dist/policies/brandingAndPortal.d.ts.map +1 -0
- package/dist/policies/brandingAndPortal.js +34 -0
- package/dist/policies/checkAuth.d.ts +9 -0
- package/dist/policies/checkAuth.d.ts.map +1 -0
- package/dist/policies/checkAuth.js +64 -0
- package/dist/policies/checkBrandingValid.d.ts +9 -0
- package/dist/policies/checkBrandingValid.d.ts.map +1 -0
- package/dist/policies/checkBrandingValid.js +40 -0
- package/dist/policies/companionAttachmentUploadAuth.d.ts +9 -0
- package/dist/policies/companionAttachmentUploadAuth.d.ts.map +1 -0
- package/dist/policies/companionAttachmentUploadAuth.js +221 -0
- package/dist/policies/contentSecurityPolicy.d.ts +23 -0
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -0
- package/dist/policies/contentSecurityPolicy.js +135 -0
- package/dist/policies/disallowedHeadRequestHandler.d.ts +8 -0
- package/dist/policies/disallowedHeadRequestHandler.d.ts.map +1 -0
- package/dist/policies/disallowedHeadRequestHandler.js +17 -0
- package/dist/policies/i18nLanguages.d.ts +8 -0
- package/dist/policies/i18nLanguages.d.ts.map +1 -0
- package/dist/policies/i18nLanguages.js +56 -0
- package/dist/policies/index.d.ts +52 -0
- package/dist/policies/index.d.ts.map +1 -0
- package/dist/policies/index.js +70 -0
- package/dist/policies/isAuthenticated.d.ts +9 -0
- package/dist/policies/isAuthenticated.d.ts.map +1 -0
- package/dist/policies/isAuthenticated.js +19 -0
- package/dist/policies/isWebServiceAuthenticated.d.ts +9 -0
- package/dist/policies/isWebServiceAuthenticated.d.ts.map +1 -0
- package/dist/policies/isWebServiceAuthenticated.js +25 -0
- package/dist/policies/menuResolver.d.ts +11 -0
- package/dist/policies/menuResolver.d.ts.map +1 -0
- package/dist/policies/menuResolver.js +58 -0
- package/dist/policies/noCache.d.ts +9 -0
- package/dist/policies/noCache.d.ts.map +1 -0
- package/dist/policies/noCache.js +34 -0
- package/dist/policies/prepWs.d.ts +9 -0
- package/dist/policies/prepWs.d.ts.map +1 -0
- package/dist/policies/prepWs.js +23 -0
- package/dist/policies/sessionAuth.d.ts +11 -0
- package/dist/policies/sessionAuth.d.ts.map +1 -0
- package/dist/policies/sessionAuth.js +23 -0
- package/dist/policies/setLang.d.ts +8 -0
- package/dist/policies/setLang.d.ts.map +1 -0
- package/dist/policies/setLang.js +13 -0
- package/dist/responses/badRequest.d.ts +22 -0
- package/dist/responses/badRequest.d.ts.map +1 -0
- package/dist/responses/badRequest.js +66 -0
- package/dist/responses/created.d.ts +22 -0
- package/dist/responses/created.d.ts.map +1 -0
- package/dist/responses/created.js +55 -0
- package/dist/responses/forbidden.d.ts +22 -0
- package/dist/responses/forbidden.d.ts.map +1 -0
- package/dist/responses/forbidden.js +66 -0
- package/dist/responses/index.d.ts +6 -0
- package/dist/responses/index.d.ts.map +1 -0
- package/dist/responses/index.js +22 -0
- package/dist/responses/ok.d.ts +26 -0
- package/dist/responses/ok.d.ts.map +1 -0
- package/dist/responses/ok.js +59 -0
- package/dist/responses/serverError.d.ts +22 -0
- package/dist/responses/serverError.d.ts.map +1 -0
- package/dist/responses/serverError.js +66 -0
- package/dist/sails.d.ts +238 -0
- package/dist/sails.d.ts.map +1 -0
- package/dist/sails.js +3 -0
- package/dist/services/AgendaQueueService.d.ts +58 -0
- package/dist/services/AgendaQueueService.d.ts.map +1 -0
- package/dist/services/AgendaQueueService.js +225 -0
- package/dist/services/AppConfigService.d.ts +59 -0
- package/dist/services/AppConfigService.d.ts.map +1 -0
- package/dist/services/AppConfigService.js +273 -0
- package/dist/services/AsynchsService.d.ts +20 -0
- package/dist/services/AsynchsService.d.ts.map +1 -0
- package/dist/services/AsynchsService.js +64 -0
- package/dist/services/BrandingLogoService.d.ts +47 -0
- package/dist/services/BrandingLogoService.d.ts.map +1 -0
- package/dist/services/BrandingLogoService.js +212 -0
- package/dist/services/BrandingService.d.ts +70 -0
- package/dist/services/BrandingService.d.ts.map +1 -0
- package/dist/services/BrandingService.js +332 -0
- package/dist/services/CacheService.d.ts +25 -0
- package/dist/services/CacheService.d.ts.map +1 -0
- package/dist/services/CacheService.js +153 -0
- package/dist/services/ConfigService.d.ts +23 -0
- package/dist/services/ConfigService.d.ts.map +1 -0
- package/dist/services/ConfigService.js +379 -0
- package/dist/services/ContrastService.d.ts +77 -0
- package/dist/services/ContrastService.d.ts.map +1 -0
- package/dist/services/ContrastService.js +218 -0
- package/dist/services/DashboardTypesService.d.ts +98 -0
- package/dist/services/DashboardTypesService.d.ts.map +1 -0
- package/dist/services/DashboardTypesService.js +291 -0
- package/dist/services/DoiService.d.ts +36 -0
- package/dist/services/DoiService.d.ts.map +1 -0
- package/dist/services/DoiService.js +494 -0
- package/dist/services/DomSanitizerService.d.ts +105 -0
- package/dist/services/DomSanitizerService.d.ts.map +1 -0
- package/dist/services/DomSanitizerService.js +506 -0
- package/dist/services/EmailService.d.ts +185 -0
- package/dist/services/EmailService.d.ts.map +1 -0
- package/dist/services/EmailService.js +527 -0
- package/dist/services/FigshareService.d.ts +75 -0
- package/dist/services/FigshareService.d.ts.map +1 -0
- package/dist/services/FigshareService.js +2193 -0
- package/dist/services/FormRecordConsistencyService.d.ts +156 -0
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -0
- package/dist/services/FormRecordConsistencyService.js +516 -0
- package/dist/services/FormsService.d.ts +65 -0
- package/dist/services/FormsService.d.ts.map +1 -0
- package/dist/services/FormsService.js +580 -0
- package/dist/services/I18nEntriesService.d.ts +80 -0
- package/dist/services/I18nEntriesService.d.ts.map +1 -0
- package/dist/services/I18nEntriesService.js +469 -0
- package/dist/services/IntegrationAuditService.d.ts.map +1 -0
- package/dist/services/NamedQueryService.d.ts +87 -0
- package/dist/services/NamedQueryService.d.ts.map +1 -0
- package/dist/services/NamedQueryService.js +396 -0
- package/dist/services/NavigationService.d.ts +115 -0
- package/dist/services/NavigationService.d.ts.map +1 -0
- package/dist/services/NavigationService.js +553 -0
- package/dist/services/OniService.d.ts +77 -0
- package/dist/services/OniService.d.ts.map +1 -0
- package/dist/services/OniService.js +753 -0
- package/dist/services/OrcidService.d.ts +30 -0
- package/dist/services/OrcidService.d.ts.map +1 -0
- package/dist/services/OrcidService.js +126 -0
- package/dist/services/PathRulesService.d.ts +57 -0
- package/dist/services/PathRulesService.d.ts.map +1 -0
- package/dist/services/PathRulesService.js +129 -0
- package/dist/services/RDMPService.d.ts +102 -0
- package/dist/services/RDMPService.d.ts.map +1 -0
- package/dist/services/RDMPService.js +767 -0
- package/dist/services/RaidService.d.ts +83 -0
- package/dist/services/RaidService.d.ts.map +1 -0
- package/dist/services/RaidService.js +556 -0
- package/dist/services/RecordTypesService.d.ts +27 -0
- package/dist/services/RecordTypesService.d.ts.map +1 -0
- package/dist/services/RecordTypesService.js +106 -0
- package/dist/services/RecordsService.d.ts +129 -0
- package/dist/services/RecordsService.d.ts.map +1 -0
- package/dist/services/RecordsService.js +1477 -0
- package/dist/services/ReportsService.d.ts +99 -0
- package/dist/services/ReportsService.d.ts.map +1 -0
- package/dist/services/ReportsService.js +475 -0
- package/dist/services/RolesService.d.ts +41 -0
- package/dist/services/RolesService.d.ts.map +1 -0
- package/dist/services/RolesService.js +171 -0
- package/dist/services/RvaImportService.d.ts +56 -0
- package/dist/services/RvaImportService.d.ts.map +1 -0
- package/dist/services/RvaImportService.js +410 -0
- package/dist/services/SassCompilerService.d.ts +26 -0
- package/dist/services/SassCompilerService.d.ts.map +1 -0
- package/dist/services/SassCompilerService.js +201 -0
- package/dist/services/SolrSearchService.d.ts +52 -0
- package/dist/services/SolrSearchService.d.ts.map +1 -0
- package/dist/services/SolrSearchService.js +463 -0
- package/dist/services/StandardDatastreamService.d.ts +66 -0
- package/dist/services/StandardDatastreamService.d.ts.map +1 -0
- package/dist/services/StandardDatastreamService.js +297 -0
- package/dist/services/StorageManagerService.d.ts +90 -0
- package/dist/services/StorageManagerService.d.ts.map +1 -0
- package/dist/services/StorageManagerService.js +234 -0
- package/dist/services/TemplateService.d.ts +65 -0
- package/dist/services/TemplateService.d.ts.map +1 -0
- package/dist/services/TemplateService.js +208 -0
- package/dist/services/TranslationService.d.ts +38 -0
- package/dist/services/TranslationService.d.ts.map +1 -0
- package/dist/services/TranslationService.js +358 -0
- package/dist/services/TriggerService.d.ts +72 -0
- package/dist/services/TriggerService.d.ts.map +1 -0
- package/dist/services/TriggerService.js +554 -0
- package/dist/services/UsersService.d.ts +174 -0
- package/dist/services/UsersService.d.ts.map +1 -0
- package/dist/services/UsersService.js +2108 -0
- package/dist/services/ViewUtilsService.d.ts +36 -0
- package/dist/services/ViewUtilsService.d.ts.map +1 -0
- package/dist/services/ViewUtilsService.js +120 -0
- package/dist/services/VocabService.d.ts +81 -0
- package/dist/services/VocabService.d.ts.map +1 -0
- package/dist/services/VocabService.js +424 -0
- package/dist/services/VocabularyService.d.ts +115 -0
- package/dist/services/VocabularyService.d.ts.map +1 -0
- package/dist/services/VocabularyService.js +752 -0
- package/dist/services/WorkflowStepsService.d.ts +29 -0
- package/dist/services/WorkflowStepsService.d.ts.map +1 -0
- package/dist/services/WorkflowStepsService.js +110 -0
- package/dist/services/WorkspaceAsyncService.d.ts +34 -0
- package/dist/services/WorkspaceAsyncService.d.ts.map +1 -0
- package/dist/services/WorkspaceAsyncService.js +68 -0
- package/dist/services/WorkspaceService.d.ts +67 -0
- package/dist/services/WorkspaceService.d.ts.map +1 -0
- package/dist/services/WorkspaceService.js +148 -0
- package/dist/services/WorkspaceTypesService.d.ts +33 -0
- package/dist/services/WorkspaceTypesService.d.ts.map +1 -0
- package/dist/services/WorkspaceTypesService.js +89 -0
- package/dist/services/doi-v2/audit.d.ts.map +1 -0
- package/dist/services/doi-v2/bindings.d.ts.map +1 -0
- package/dist/services/doi-v2/config.d.ts.map +1 -0
- package/dist/services/doi-v2/context.d.ts.map +1 -0
- package/dist/services/doi-v2/http.d.ts.map +1 -0
- package/dist/services/doi-v2/payload.d.ts.map +1 -0
- package/dist/services/doi-v2/profiles.d.ts.map +1 -0
- package/dist/services/doi-v2/runtime.d.ts.map +1 -0
- package/dist/services/doi-v2/types.d.ts.map +1 -0
- package/dist/services/figshare-v2/assets.d.ts.map +1 -0
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -0
- package/dist/services/figshare-v2/config.d.ts.map +1 -0
- package/dist/services/figshare-v2/context.d.ts.map +1 -0
- package/dist/services/figshare-v2/embargo.d.ts.map +1 -0
- package/dist/services/figshare-v2/http.d.ts.map +1 -0
- package/dist/services/figshare-v2/metadata.d.ts.map +1 -0
- package/dist/services/figshare-v2/observability.d.ts.map +1 -0
- package/dist/services/figshare-v2/plan.d.ts.map +1 -0
- package/dist/services/figshare-v2/publish.d.ts.map +1 -0
- package/dist/services/figshare-v2/queue.d.ts.map +1 -0
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -0
- package/dist/services/figshare-v2/types.d.ts.map +1 -0
- package/dist/services/figshare-v2/workflow.d.ts.map +1 -0
- package/dist/services/figshare-v2/writeback.d.ts.map +1 -0
- package/dist/services/index.d.ts +136 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +276 -0
- package/dist/shims/index.d.ts +9 -0
- package/dist/shims/index.d.ts.map +1 -0
- package/dist/shims/index.js +15 -0
- package/dist/shims/momentShim.d.ts +7 -0
- package/dist/shims/momentShim.d.ts.map +1 -0
- package/dist/shims/momentShim.js +69 -0
- package/dist/transformers/ExportJSONTransformer.d.ts +16 -0
- package/dist/transformers/ExportJSONTransformer.d.ts.map +1 -0
- package/dist/transformers/ExportJSONTransformer.js +90 -0
- package/dist/utilities/ContextVariableUtils.d.ts +8 -0
- package/dist/utilities/ContextVariableUtils.d.ts.map +1 -0
- package/dist/utilities/ContextVariableUtils.js +91 -0
- package/dist/utilities/TransactionUtils.d.ts +7 -0
- package/dist/utilities/TransactionUtils.d.ts.map +1 -0
- package/dist/utilities/TransactionUtils.js +25 -0
- package/dist/visitor/attachment-fields.visitor.d.ts +37 -0
- package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -0
- package/dist/visitor/attachment-fields.visitor.js +93 -0
- package/dist/visitor/client.visitor.d.ts +211 -0
- package/dist/visitor/client.visitor.d.ts.map +1 -0
- package/dist/visitor/client.visitor.js +865 -0
- package/dist/visitor/construct.visitor.d.ts +219 -0
- package/dist/visitor/construct.visitor.d.ts.map +1 -0
- package/dist/visitor/construct.visitor.js +1499 -0
- package/dist/visitor/context-variables.visitor.d.ts +51 -0
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -0
- package/dist/visitor/context-variables.visitor.js +192 -0
- package/dist/visitor/data-value.visitor.d.ts +159 -0
- package/dist/visitor/data-value.visitor.d.ts.map +1 -0
- package/dist/visitor/data-value.visitor.js +310 -0
- package/dist/visitor/json-type-def.visitor.d.ts +155 -0
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -0
- package/dist/visitor/json-type-def.visitor.js +384 -0
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +244 -0
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -0
- package/dist/visitor/migrate-config-v4-v5.visitor.js +2941 -0
- package/dist/visitor/template.visitor.d.ts +163 -0
- package/dist/visitor/template.visitor.d.ts.map +1 -0
- package/dist/visitor/template.visitor.js +397 -0
- package/dist/visitor/validator.visitor.d.ts +123 -0
- package/dist/visitor/validator.visitor.d.ts.map +1 -0
- package/dist/visitor/validator.visitor.js +480 -0
- package/dist/visitor/visitor-helpers.d.ts +15 -0
- package/dist/visitor/visitor-helpers.d.ts.map +1 -0
- package/dist/visitor/visitor-helpers.js +191 -0
- package/dist/visitor/vocab-inline.visitor.d.ts +33 -0
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -0
- package/dist/visitor/vocab-inline.visitor.js +173 -0
- package/dist/waterline-models/AppConfig.d.ts +19 -0
- package/dist/waterline-models/AppConfig.d.ts.map +1 -0
- package/dist/waterline-models/AppConfig.js +38 -0
- package/dist/waterline-models/AsynchProgress.d.ts +37 -0
- package/dist/waterline-models/AsynchProgress.d.ts.map +1 -0
- package/dist/waterline-models/AsynchProgress.js +83 -0
- package/dist/waterline-models/BrandingConfig.d.ts +28 -0
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -0
- package/dist/waterline-models/BrandingConfig.js +132 -0
- package/dist/waterline-models/BrandingConfigHistory.d.ts +25 -0
- package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -0
- package/dist/waterline-models/BrandingConfigHistory.js +66 -0
- package/dist/waterline-models/CacheEntry.d.ts +18 -0
- package/dist/waterline-models/CacheEntry.d.ts.map +1 -0
- package/dist/waterline-models/CacheEntry.js +38 -0
- package/dist/waterline-models/Counter.d.ts +19 -0
- package/dist/waterline-models/Counter.d.ts.map +1 -0
- package/dist/waterline-models/Counter.js +38 -0
- package/dist/waterline-models/DashboardType.d.ts +23 -0
- package/dist/waterline-models/DashboardType.d.ts.map +1 -0
- package/dist/waterline-models/DashboardType.js +53 -0
- package/dist/waterline-models/Form.d.ts +21 -0
- package/dist/waterline-models/Form.d.ts.map +1 -0
- package/dist/waterline-models/Form.js +38 -0
- package/dist/waterline-models/I18nBundle.d.ts +29 -0
- package/dist/waterline-models/I18nBundle.d.ts.map +1 -0
- package/dist/waterline-models/I18nBundle.js +85 -0
- package/dist/waterline-models/I18nTranslation.d.ts +32 -0
- package/dist/waterline-models/I18nTranslation.d.ts.map +1 -0
- package/dist/waterline-models/I18nTranslation.js +110 -0
- package/dist/waterline-models/NamedQuery.d.ts +29 -0
- package/dist/waterline-models/NamedQuery.d.ts.map +1 -0
- package/dist/waterline-models/NamedQuery.js +68 -0
- package/dist/waterline-models/PathRule.d.ts +26 -0
- package/dist/waterline-models/PathRule.d.ts.map +1 -0
- package/dist/waterline-models/PathRule.js +53 -0
- package/dist/waterline-models/RBReport.d.ts +38 -0
- package/dist/waterline-models/RBReport.d.ts.map +1 -0
- package/dist/waterline-models/RBReport.js +73 -0
- package/dist/waterline-models/RecordType.d.ts +37 -0
- package/dist/waterline-models/RecordType.d.ts.map +1 -0
- package/dist/waterline-models/RecordType.js +88 -0
- package/dist/waterline-models/Role.d.ts +19 -0
- package/dist/waterline-models/Role.d.ts.map +1 -0
- package/dist/waterline-models/Role.js +38 -0
- package/dist/waterline-models/ThemeConfig.d.ts +16 -0
- package/dist/waterline-models/ThemeConfig.d.ts.map +1 -0
- package/dist/waterline-models/ThemeConfig.js +33 -0
- package/dist/waterline-models/User.d.ts +50 -0
- package/dist/waterline-models/User.d.ts.map +1 -0
- package/dist/waterline-models/User.js +151 -0
- package/dist/waterline-models/UserAudit.d.ts +18 -0
- package/dist/waterline-models/UserAudit.d.ts.map +1 -0
- package/dist/waterline-models/UserAudit.js +38 -0
- package/dist/waterline-models/UserLink.d.ts +30 -0
- package/dist/waterline-models/UserLink.d.ts.map +1 -0
- package/dist/waterline-models/UserLink.js +62 -0
- package/dist/waterline-models/Vocabulary.d.ts +38 -0
- package/dist/waterline-models/Vocabulary.d.ts.map +1 -0
- package/dist/waterline-models/Vocabulary.js +183 -0
- package/dist/waterline-models/VocabularyEntry.d.ts +33 -0
- package/dist/waterline-models/VocabularyEntry.d.ts.map +1 -0
- package/dist/waterline-models/VocabularyEntry.js +210 -0
- package/dist/waterline-models/WorkflowStep.d.ts +25 -0
- package/dist/waterline-models/WorkflowStep.d.ts.map +1 -0
- package/dist/waterline-models/WorkflowStep.js +53 -0
- package/dist/waterline-models/WorkspaceApp.d.ts +19 -0
- package/dist/waterline-models/WorkspaceApp.d.ts.map +1 -0
- package/dist/waterline-models/WorkspaceApp.js +50 -0
- package/dist/waterline-models/WorkspaceAsync.d.ts +32 -0
- package/dist/waterline-models/WorkspaceAsync.d.ts.map +1 -0
- package/dist/waterline-models/WorkspaceAsync.js +73 -0
- package/dist/waterline-models/WorkspaceType.d.ts +25 -0
- package/dist/waterline-models/WorkspaceType.d.ts.map +1 -0
- package/dist/waterline-models/WorkspaceType.js +53 -0
- package/dist/waterline-models/index.d.ts +53 -0
- package/dist/waterline-models/index.d.ts.map +1 -0
- package/dist/waterline-models/index.js +99 -0
- package/dist/waterline-models/types.d.ts +8 -0
- package/dist/waterline-models/types.d.ts.map +1 -0
- package/dist/waterline-models/types.js +3 -0
- package/package.json +150 -0
- package/redbox-loader-templates/bootstrap-shim.js.hbs +17 -0
- package/redbox-loader-templates/form-config-index.js.hbs +11 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) 2025 Queensland Cyber Infrastructure Foundation (http://www.qcif.edu.au/)
|
|
3
|
+
//
|
|
4
|
+
// GNU GENERAL PUBLIC LICENSE
|
|
5
|
+
// Version 2, June 1991
|
|
6
|
+
//
|
|
7
|
+
// This program is free software; you can redistribute it and/or modify
|
|
8
|
+
// it under the terms of the GNU General Public License as published by
|
|
9
|
+
// the Free Software Foundation; either version 2 of the License, or
|
|
10
|
+
// (at your option) any later version.
|
|
11
|
+
//
|
|
12
|
+
// This program is distributed in the hope that it will be useful,
|
|
13
|
+
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
// GNU General Public License for more details.
|
|
16
|
+
//
|
|
17
|
+
// You should have received a copy of the GNU General Public License along
|
|
18
|
+
// with this program; if not, write to the Free Software Foundation, Inc.,
|
|
19
|
+
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
20
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
21
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
22
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
23
|
+
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;
|
|
24
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.Services = void 0;
|
|
28
|
+
const CoreService_1 = require("../CoreService");
|
|
29
|
+
const PopulateExportedMethods_decorator_1 = require("../decorator/PopulateExportedMethods.decorator");
|
|
30
|
+
const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
|
|
31
|
+
const rxjs_1 = require("rxjs");
|
|
32
|
+
const validator_visitor_1 = require("../visitor/validator.visitor");
|
|
33
|
+
const data_value_visitor_1 = require("../visitor/data-value.visitor");
|
|
34
|
+
const json_type_def_visitor_1 = require("../visitor/json-type-def.visitor");
|
|
35
|
+
const template_visitor_1 = require("../visitor/template.visitor");
|
|
36
|
+
const construct_visitor_1 = require("../visitor/construct.visitor");
|
|
37
|
+
const client_visitor_1 = require("../visitor/client.visitor");
|
|
38
|
+
const vocab_inline_visitor_1 = require("../visitor/vocab-inline.visitor");
|
|
39
|
+
const context_variables_visitor_1 = require("../visitor/context-variables.visitor");
|
|
40
|
+
var Services;
|
|
41
|
+
(function (Services) {
|
|
42
|
+
/**
|
|
43
|
+
* A service for verifying that form config and one or two associated Records are consistent.
|
|
44
|
+
*
|
|
45
|
+
* This service does 4 main things:
|
|
46
|
+
* - compares a record to a form config json schema and returns changes
|
|
47
|
+
* - merges a stored record to a record sent from a client, and creates a consistent record based on the current user's access
|
|
48
|
+
* - compares two full records and returns changes
|
|
49
|
+
* - generate a form config showing only the changes, from a record and the changes to the record
|
|
50
|
+
*
|
|
51
|
+
* These functions are in the same service because they are conceptually similar
|
|
52
|
+
* and the functionality to implement them overlaps.
|
|
53
|
+
*/
|
|
54
|
+
let FormRecordConsistency = class FormRecordConsistency extends CoreService_1.Services.Core.Service {
|
|
55
|
+
/**
|
|
56
|
+
* Update a stored record by merging the stored record and the new record,
|
|
57
|
+
* using knowledge of the current user's access to the record properties.
|
|
58
|
+
*
|
|
59
|
+
* The existing original record will be retrieved from storage.
|
|
60
|
+
* The existing original record won't be changed.
|
|
61
|
+
*
|
|
62
|
+
* @param changed The new record.
|
|
63
|
+
* @param formMode The form mode.
|
|
64
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
65
|
+
* @return The merged record.
|
|
66
|
+
*/
|
|
67
|
+
async mergeRecord(changed, formMode, reusableFormDefs) {
|
|
68
|
+
// get the original record
|
|
69
|
+
const original = await RecordsService.getMeta(changed.redboxOid);
|
|
70
|
+
// get the original record's form config
|
|
71
|
+
const formName = changed?.metaMetadata?.['form'];
|
|
72
|
+
const defaultBrandId = String(BrandingService.getDefault()?.id ?? '');
|
|
73
|
+
const brandId = String(changed?.metaMetadata?.['brandId'] ?? defaultBrandId);
|
|
74
|
+
const isEditMode = formMode === "edit";
|
|
75
|
+
const formRecord = await (0, rxjs_1.firstValueFrom)(FormsService.getFormByName(String(formName ?? ""), isEditMode, brandId));
|
|
76
|
+
const formConfig = formRecord?.configuration;
|
|
77
|
+
if (!formConfig) {
|
|
78
|
+
throw new Error(`Form configuration not found for form: ${formName}`);
|
|
79
|
+
}
|
|
80
|
+
// build the client form config
|
|
81
|
+
const userRoles = undefined;
|
|
82
|
+
const recordMetadata = original?.metadata;
|
|
83
|
+
const clientFormConfig = await FormsService.buildClientFormConfig(formConfig, formMode, userRoles, recordMetadata, reusableFormDefs);
|
|
84
|
+
// merge the original and changed records using the client form config to know which changes to include
|
|
85
|
+
return this.mergeRecordClientFormConfig(original, changed, clientFormConfig, formMode, reusableFormDefs);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Merge the existing original and changed records using the clientFormConfig.
|
|
89
|
+
* No changes are made to the records. The return value is a new instance.
|
|
90
|
+
*
|
|
91
|
+
* Note that arrays are merged by either of these approaches:
|
|
92
|
+
* - the user has full access to the array, the new array will be the full array, so replace any existing array
|
|
93
|
+
* - the user has no access to the array, so leave the existing array
|
|
94
|
+
*
|
|
95
|
+
* The implication of the array merging approach is that arrays cannot contain components that have constraints,
|
|
96
|
+
* as it is not possible to determine which array element an existing component's value should be part of, as the array elements may have been moved.
|
|
97
|
+
*
|
|
98
|
+
* @param original The existing original record.
|
|
99
|
+
* @param changed The new record.
|
|
100
|
+
* @param clientFormConfig The client form config, the fields the current user can't access are already filtered out.
|
|
101
|
+
* @param formMode The form mode.
|
|
102
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
103
|
+
* @return The merged record.
|
|
104
|
+
*/
|
|
105
|
+
mergeRecordClientFormConfig(original, changed, clientFormConfig, formMode, reusableFormDefs) {
|
|
106
|
+
const schemaFormConfig = this.stripModelValuesFromFormConfig(clientFormConfig);
|
|
107
|
+
const permittedChanges = this.buildSchemaForFormConfig(schemaFormConfig, formMode, reusableFormDefs);
|
|
108
|
+
const originalMetadata = original?.metadata ?? {};
|
|
109
|
+
const changedMetadata = changed?.metadata ?? {};
|
|
110
|
+
const changes = this.compareRecords(original, changed);
|
|
111
|
+
return {
|
|
112
|
+
...original,
|
|
113
|
+
redboxOid: original?.redboxOid ?? "",
|
|
114
|
+
metadata: this.mergeRecordMetadataPermitted(originalMetadata, changedMetadata, permittedChanges, changes),
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Merge the original and changed records, using the client form config to know which changes to include.
|
|
119
|
+
* @param original The existing original record.
|
|
120
|
+
* @param changed The new record.
|
|
121
|
+
* @param permittedChanges The schema describing which properties are available to be modified.
|
|
122
|
+
* @param changes The differences between the original and the changed items.
|
|
123
|
+
* @param currentPath The path to the current point in the structure.
|
|
124
|
+
*/
|
|
125
|
+
mergeRecordMetadataPermitted(original, changed, permittedChanges, changes, currentPath) {
|
|
126
|
+
// ensure there is a current path
|
|
127
|
+
currentPath = currentPath ?? [];
|
|
128
|
+
// filter the changes to only those relevant to the current path
|
|
129
|
+
const relevantChanges = changes?.filter(i => {
|
|
130
|
+
return !currentPath || this.arrayStartsWithArray(currentPath, i?.path);
|
|
131
|
+
});
|
|
132
|
+
// check all keys in either the original or changes objects
|
|
133
|
+
const { keys: originalKeys } = this.toKeysEntries(original);
|
|
134
|
+
const { keys: changedKeys } = this.toKeysEntries(changed);
|
|
135
|
+
const allKeys = new Set(originalKeys);
|
|
136
|
+
changedKeys.forEach(i => allKeys.add(i));
|
|
137
|
+
// permittedChanged is in JSON Type Def format
|
|
138
|
+
// permitted changes is always for an object (i.e. has property 'properties')
|
|
139
|
+
const originalRecord = original;
|
|
140
|
+
const changedRecord = changed;
|
|
141
|
+
const permittedChangesObj = permittedChanges;
|
|
142
|
+
// if (!('properties' in permittedChangesObj)) {
|
|
143
|
+
// throw new Error(`Permitted changes must have an object, a 'properties' property, at the top level ${JSON.stringify(permittedChanges)}`)
|
|
144
|
+
// }
|
|
145
|
+
const permittedChangesProps = (('properties' in permittedChangesObj)
|
|
146
|
+
? permittedChangesObj['properties']
|
|
147
|
+
: permittedChangesObj);
|
|
148
|
+
// create a new record instance
|
|
149
|
+
const result = {
|
|
150
|
+
// for debugging:
|
|
151
|
+
// _meta: {keys:Array.from(allKeys),currentPath:currentPath},
|
|
152
|
+
};
|
|
153
|
+
// for each key, evaluate the value
|
|
154
|
+
for (const key of allKeys) {
|
|
155
|
+
// pre-calculate aspects of the original item
|
|
156
|
+
const isKeyInOriginal = key in originalRecord;
|
|
157
|
+
const originalValue = isKeyInOriginal ? originalRecord[key] : undefined;
|
|
158
|
+
const originalValueType = (0, sails_ng_common_1.guessType)(originalValue);
|
|
159
|
+
// pre-calculate aspects of the changed item
|
|
160
|
+
const isKeyInChanged = key in changedRecord;
|
|
161
|
+
const changedValue = isKeyInChanged ? changedRecord[key] : undefined;
|
|
162
|
+
const changedValueType = (0, sails_ng_common_1.guessType)(changedValue);
|
|
163
|
+
// pre-calculate aspects of the permitted changes
|
|
164
|
+
const isKeyInPermittedChange = key in permittedChangesProps;
|
|
165
|
+
const permittedChangesValue = permittedChangesProps?.[key];
|
|
166
|
+
const isPermittedChangeObject = isKeyInPermittedChange && !!permittedChangesValue && 'properties' in permittedChangesValue;
|
|
167
|
+
const isPermittedChangeArray = isKeyInPermittedChange && !!permittedChangesValue && 'elements' in permittedChangesValue;
|
|
168
|
+
const isPermittedChangeType = isKeyInPermittedChange && !!permittedChangesValue && 'type' in permittedChangesValue;
|
|
169
|
+
const isPermittedChangeEmpty = isKeyInPermittedChange && !!permittedChangesValue && Object.keys(permittedChangesValue).length === 0;
|
|
170
|
+
// ensure the permitted changes item is valid
|
|
171
|
+
const isPermittedChangeMatches = {
|
|
172
|
+
isPermittedChangeObject: isPermittedChangeObject,
|
|
173
|
+
isPermittedChangeArray: isPermittedChangeArray,
|
|
174
|
+
isPermittedChangeType: isPermittedChangeType,
|
|
175
|
+
isPermittedChangeEmpty: isPermittedChangeEmpty,
|
|
176
|
+
};
|
|
177
|
+
if (isKeyInPermittedChange && Object.values(isPermittedChangeMatches).filter((i) => i === true).length !== 1) {
|
|
178
|
+
throw new Error(`Invalid permittedChanges object, all definitions must have a property that is one of 'properties', 'elements', 'type', (none): ${JSON.stringify(isPermittedChangeMatches)} - ${JSON.stringify(permittedChangesValue)}`);
|
|
179
|
+
}
|
|
180
|
+
// evaluate the combinations of original and changed values
|
|
181
|
+
if (isPermittedChangeArray
|
|
182
|
+
&& isKeyInOriginal
|
|
183
|
+
&& isKeyInChanged
|
|
184
|
+
&& originalValueType === "array"
|
|
185
|
+
&& changedValueType === "array") {
|
|
186
|
+
// The change is permitted and an array, original and changed have the key and both are arrays.
|
|
187
|
+
// For an array, the merge logic is to replace the original array with the changed array.
|
|
188
|
+
// The whole array is replaced because there is no current way to distinguish what from the original should be kept.
|
|
189
|
+
// TODO: Consider how to replace each element in the array instead of the whole array.
|
|
190
|
+
// Replacing the whole array prevents use of constraints in components in the array elements.
|
|
191
|
+
const newPermittedChanges = permittedChangesValue['elements'];
|
|
192
|
+
result[key] = changedValue.map((changedElement, index) => {
|
|
193
|
+
// Evaluate the element in the array.
|
|
194
|
+
const guessedType = (0, sails_ng_common_1.guessType)(changedElement);
|
|
195
|
+
if (guessedType === "object") {
|
|
196
|
+
// For an object, evaluate it as a component value.
|
|
197
|
+
// NOTE: The 'original' element does not include elementTemplate default values,
|
|
198
|
+
// because that default is for new entries, not existing entries.
|
|
199
|
+
const originalElement = {};
|
|
200
|
+
const newPath = [...currentPath, key, index];
|
|
201
|
+
const keyChanges = relevantChanges?.filter(i => this.arrayStartsWithArray(newPath, i?.path));
|
|
202
|
+
sails.log.verbose(`mergeRecordMetadataPermitted - array`, {
|
|
203
|
+
originalElement: originalElement,
|
|
204
|
+
changedElement: changedElement,
|
|
205
|
+
newPermittedChanges: newPermittedChanges,
|
|
206
|
+
keyChanges: keyChanges,
|
|
207
|
+
newPath: newPath,
|
|
208
|
+
});
|
|
209
|
+
return this.mergeRecordMetadataPermitted(originalElement, changedElement, newPermittedChanges, keyChanges, newPath);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// For anything that's not an object, there's nothing else to do, return it.
|
|
213
|
+
return changedElement;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
else if (isPermittedChangeObject
|
|
218
|
+
&& isKeyInOriginal
|
|
219
|
+
&& isKeyInChanged
|
|
220
|
+
&& originalValueType === "object"
|
|
221
|
+
&& changedValueType === "object") {
|
|
222
|
+
// The change is permitted and an object, original and changed have the key and both are objects.
|
|
223
|
+
// Evaluate the properties of the object.
|
|
224
|
+
const newPermittedChanges = permittedChangesValue;
|
|
225
|
+
const newPath = [...currentPath, key];
|
|
226
|
+
const keyChanges = relevantChanges?.filter(i => this.arrayStartsWithArray(newPath, i?.path));
|
|
227
|
+
result[key] = this.mergeRecordMetadataPermitted(originalValue, changedValue, newPermittedChanges, keyChanges, newPath);
|
|
228
|
+
}
|
|
229
|
+
else if (isKeyInPermittedChange && isKeyInChanged) {
|
|
230
|
+
// The change is permitted and the key is in the changed.
|
|
231
|
+
// Replace the original value with the changed value.
|
|
232
|
+
result[key] = changedValue;
|
|
233
|
+
}
|
|
234
|
+
else if (isKeyInOriginal && originalValue !== undefined) {
|
|
235
|
+
// The key is in the original, so keep the key & value.
|
|
236
|
+
// Keep the original value.
|
|
237
|
+
result[key] = originalValue;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/*
|
|
241
|
+
sails.log.verbose(`mergeRecordPermitted currentPath ${currentPath}: ${JSON.stringify({
|
|
242
|
+
original: original,
|
|
243
|
+
changed: changed,
|
|
244
|
+
permittedChanges: permittedChanges,
|
|
245
|
+
changes: changes,
|
|
246
|
+
result: result,
|
|
247
|
+
})}`);
|
|
248
|
+
*/
|
|
249
|
+
return result;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Convert the form config into the matching data model with defaults.
|
|
253
|
+
* @param item The top-level form config.
|
|
254
|
+
* @param formMode The form mode.
|
|
255
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
256
|
+
*/
|
|
257
|
+
buildDataModelDefaultForFormConfig(item, formMode, reusableFormDefs) {
|
|
258
|
+
const constructor = new construct_visitor_1.ConstructFormConfigVisitor(this.logger);
|
|
259
|
+
const constructed = constructor.start({ data: item, formMode, reusableFormDefs });
|
|
260
|
+
const visitor = new data_value_visitor_1.DataValueFormConfigVisitor(this.logger);
|
|
261
|
+
return visitor.start({ form: constructed });
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Convert a form config into a schema describing the data model it creates.
|
|
265
|
+
* @param item The form config.
|
|
266
|
+
* @param formMode The form mode.
|
|
267
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
268
|
+
*/
|
|
269
|
+
buildSchemaForFormConfig(item, formMode, reusableFormDefs) {
|
|
270
|
+
const constructor = new construct_visitor_1.ConstructFormConfigVisitor(this.logger);
|
|
271
|
+
const constructed = constructor.start({ data: item, formMode, reusableFormDefs });
|
|
272
|
+
const visitor = new json_type_def_visitor_1.JsonTypeDefSchemaFormConfigVisitor(this.logger);
|
|
273
|
+
return visitor.start({ form: constructed });
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Compare two data items.
|
|
277
|
+
* @param original The first item, used as the 'original' for the comparison.
|
|
278
|
+
* @param changed The second item, used as the 'changes' for the comparison.
|
|
279
|
+
* @param path The current path of the original.
|
|
280
|
+
*/
|
|
281
|
+
compareRecords(original, changed, path) {
|
|
282
|
+
path = path ?? [];
|
|
283
|
+
const result = [];
|
|
284
|
+
const isOriginalArray = Array.isArray(original);
|
|
285
|
+
const isChangedArray = Array.isArray(changed);
|
|
286
|
+
const isOriginalObject = _.isPlainObject(original);
|
|
287
|
+
const isChangedObject = _.isPlainObject(changed);
|
|
288
|
+
if ((isOriginalArray && isChangedArray) || (isOriginalObject && isChangedObject)) {
|
|
289
|
+
const { entries: originalEntries, keys: originalKeys } = this.toKeysEntries(original);
|
|
290
|
+
const { entries: changedEntries, keys: changedKeys } = this.toKeysEntries(changed);
|
|
291
|
+
const originalRecord = original;
|
|
292
|
+
const changedRecord = changed;
|
|
293
|
+
// delete
|
|
294
|
+
for (const [key, value] of originalEntries) {
|
|
295
|
+
const newPath = [...path, key];
|
|
296
|
+
const isKeyInChanged = changedKeys.includes(key);
|
|
297
|
+
const changedValue = isKeyInChanged ? changedRecord[key] : undefined;
|
|
298
|
+
if (!isKeyInChanged) {
|
|
299
|
+
// delete key & value
|
|
300
|
+
result.push({
|
|
301
|
+
kind: "delete",
|
|
302
|
+
path: newPath,
|
|
303
|
+
original: value,
|
|
304
|
+
changed: changedValue
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
else if (isKeyInChanged && changedValue !== value) {
|
|
308
|
+
// change value in original
|
|
309
|
+
this.compareRecords(value, changedValue, newPath)
|
|
310
|
+
.forEach(i => result.push(i));
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
// add
|
|
314
|
+
for (const [key, value] of changedEntries) {
|
|
315
|
+
const newPath = [...path, key];
|
|
316
|
+
const isKeyInOriginal = originalKeys.includes(key);
|
|
317
|
+
const originalValue = isKeyInOriginal ? originalRecord[key] : undefined;
|
|
318
|
+
if (!isKeyInOriginal) {
|
|
319
|
+
// add key & value
|
|
320
|
+
result.push({
|
|
321
|
+
kind: "add",
|
|
322
|
+
path: newPath,
|
|
323
|
+
original: originalValue,
|
|
324
|
+
changed: value
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
else if (original !== changed) {
|
|
330
|
+
result.push({
|
|
331
|
+
kind: "change",
|
|
332
|
+
path: path,
|
|
333
|
+
original: original,
|
|
334
|
+
changed: changed
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
return result;
|
|
338
|
+
}
|
|
339
|
+
// TODO: implement this
|
|
340
|
+
// /**
|
|
341
|
+
// * Use the changes to an original record to create a form config to display the changes.
|
|
342
|
+
// *
|
|
343
|
+
// * Form config is only for 'view' mode.
|
|
344
|
+
// *
|
|
345
|
+
// * @param original The original record data.
|
|
346
|
+
// * @param changes The changes to the original record data.
|
|
347
|
+
// */
|
|
348
|
+
// public async buildFormConfigForChanges(
|
|
349
|
+
// original: { redboxOid: string, [key: string]: unknown },
|
|
350
|
+
// changes: FormRecordConsistencyChange[],
|
|
351
|
+
// ): Promise<FormConfigFrame> {
|
|
352
|
+
// // TODO: Use the record and form config and/or changes between the record and form config
|
|
353
|
+
// // to build a new form config that displays only the changes.
|
|
354
|
+
// //return {};
|
|
355
|
+
// throw new Error("Not implemented");
|
|
356
|
+
// }
|
|
357
|
+
// TODO: implement this
|
|
358
|
+
// /**
|
|
359
|
+
// * Validate a record's structure matches the form config associated with the recordtype.
|
|
360
|
+
// *
|
|
361
|
+
// * @param record The record data, including the record type.
|
|
362
|
+
// * @param context The context for the user providing the record.
|
|
363
|
+
// */
|
|
364
|
+
// public async validateRecordSchema(record: BasicRedboxRecord): Promise<FormRecordConsistencyChange[]> {
|
|
365
|
+
// /*
|
|
366
|
+
// // get the record's form name
|
|
367
|
+
// const formName = record?.metaMetadata?.['form'];
|
|
368
|
+
// // the validation will be done on all values present in the data model, so use the form config with all fields included
|
|
369
|
+
// const isEditMode = true;
|
|
370
|
+
// // get the record's form config
|
|
371
|
+
// const formConfig = await firstValueFrom(FormsService.getFormByName(formName, isEditMode));
|
|
372
|
+
// // get the schema from the form config
|
|
373
|
+
// const schema = this.buildSchemaForFormConfig(formConfig);
|
|
374
|
+
// // TODO: Match the schema to the record and return any differences.
|
|
375
|
+
// return [];
|
|
376
|
+
// */
|
|
377
|
+
// throw new Error("Not implemented");
|
|
378
|
+
// }
|
|
379
|
+
/**
|
|
380
|
+
* Validate a record's data model values using the validators specified in the form config.
|
|
381
|
+
*
|
|
382
|
+
* @param record The record data, including the record type.
|
|
383
|
+
* @param enabledValidationGroups The validation groups to enable.
|
|
384
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
385
|
+
*/
|
|
386
|
+
async validateRecordValuesForFormConfig(record, enabledValidationGroups, reusableFormDefs) {
|
|
387
|
+
// get the record's form name
|
|
388
|
+
const formName = record?.metaMetadata?.['form'];
|
|
389
|
+
// the validation will be done on all values present in the data model,
|
|
390
|
+
// so use the form config with all fields included
|
|
391
|
+
const formMode = "edit";
|
|
392
|
+
const isEditMode = formMode === "edit";
|
|
393
|
+
const defaultBrandId = String(BrandingService.getDefault()?.id ?? '');
|
|
394
|
+
const brandId = String(record?.metaMetadata?.['brandId'] ?? defaultBrandId);
|
|
395
|
+
// get the record's form config
|
|
396
|
+
const formRecord = await (0, rxjs_1.firstValueFrom)(FormsService.getFormByName(String(formName ?? ""), isEditMode, brandId));
|
|
397
|
+
const formConfig = formRecord?.configuration;
|
|
398
|
+
if (!formConfig) {
|
|
399
|
+
throw new Error(`Form configuration not found for form: ${formName}`);
|
|
400
|
+
}
|
|
401
|
+
// Get the validator definitions from the sails config, so the definitions can be overwritten.
|
|
402
|
+
const validatorDefinitions = sails.config.validators.definitions;
|
|
403
|
+
const constructor = new construct_visitor_1.ConstructFormConfigVisitor(this.logger);
|
|
404
|
+
const constructed = constructor.start({
|
|
405
|
+
data: formConfig,
|
|
406
|
+
formMode,
|
|
407
|
+
reusableFormDefs,
|
|
408
|
+
record: record?.metadata ?? {}
|
|
409
|
+
});
|
|
410
|
+
const visitor = new validator_visitor_1.ValidatorFormConfigVisitor(this.logger);
|
|
411
|
+
return visitor.start({
|
|
412
|
+
form: constructed,
|
|
413
|
+
enabledValidationGroups: enabledValidationGroups ?? ["all"],
|
|
414
|
+
validatorDefinitions,
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Remove hydrated client-side model values before re-running construct/schema visitors.
|
|
419
|
+
* Client form config includes runtime `model.config.value`, but construct only accepts
|
|
420
|
+
* author-time defaults in `model.config.defaultValue`.
|
|
421
|
+
*/
|
|
422
|
+
stripModelValuesFromFormConfig(item) {
|
|
423
|
+
const result = _.cloneDeep(item);
|
|
424
|
+
const stripComponent = (component) => {
|
|
425
|
+
const model = component?.model;
|
|
426
|
+
const modelConfig = model?.config;
|
|
427
|
+
if (modelConfig && Object.prototype.hasOwnProperty.call(modelConfig, 'value')) {
|
|
428
|
+
delete modelConfig.value;
|
|
429
|
+
}
|
|
430
|
+
const componentConfig = component?.component?.config;
|
|
431
|
+
if (!componentConfig) {
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
const nestedArrays = ['componentDefinitions', 'tabs', 'panels'];
|
|
435
|
+
nestedArrays.forEach(key => {
|
|
436
|
+
const nested = componentConfig[key];
|
|
437
|
+
if (Array.isArray(nested)) {
|
|
438
|
+
nested.forEach(item => stripComponent(item));
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
const elementTemplate = componentConfig.elementTemplate;
|
|
442
|
+
if (_.isPlainObject(elementTemplate)) {
|
|
443
|
+
stripComponent(elementTemplate);
|
|
444
|
+
}
|
|
445
|
+
};
|
|
446
|
+
const componentDefinitions = result.componentDefinitions;
|
|
447
|
+
if (Array.isArray(componentDefinitions)) {
|
|
448
|
+
componentDefinitions.forEach(item => stripComponent(item));
|
|
449
|
+
}
|
|
450
|
+
return result;
|
|
451
|
+
}
|
|
452
|
+
/**
|
|
453
|
+
* Extract the templates that need to be compiled from the form config.
|
|
454
|
+
* This method extracts the raw uncompiled templates.
|
|
455
|
+
* The templates are compiled by the TemplateService.buildClientMapping.
|
|
456
|
+
* @param item The form config.
|
|
457
|
+
* @param formMode The form mode.
|
|
458
|
+
* @param userRoles The current user's roles.
|
|
459
|
+
* @param recordMetadata The record metadata.
|
|
460
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
461
|
+
*/
|
|
462
|
+
async extractRawTemplates(item, formMode, userRoles, recordMetadata, reusableFormDefs) {
|
|
463
|
+
const constructor = new construct_visitor_1.ConstructFormConfigVisitor(this.logger);
|
|
464
|
+
const constructedForm = constructor.start({ data: item, reusableFormDefs, formMode, record: recordMetadata });
|
|
465
|
+
const vocabVisitor = new vocab_inline_visitor_1.VocabInlineFormConfigVisitor(this.logger);
|
|
466
|
+
await vocabVisitor.resolveVocabs(constructedForm);
|
|
467
|
+
const contextVariablesVisitor = new context_variables_visitor_1.ContextVariablesFormConfigVisitor(this.logger);
|
|
468
|
+
contextVariablesVisitor.applyContextVariables(constructedForm);
|
|
469
|
+
const rawBehaviours = _.cloneDeep(constructedForm.behaviours);
|
|
470
|
+
const clientVisitor = new client_visitor_1.ClientFormConfigVisitor(this.logger);
|
|
471
|
+
const clientForm = clientVisitor.start({
|
|
472
|
+
form: constructedForm,
|
|
473
|
+
formMode,
|
|
474
|
+
userRoles,
|
|
475
|
+
reusableFormDefs,
|
|
476
|
+
});
|
|
477
|
+
const form = clientForm;
|
|
478
|
+
form.behaviours = rawBehaviours;
|
|
479
|
+
const visitor = new template_visitor_1.TemplateFormConfigVisitor(this.logger);
|
|
480
|
+
return visitor.start({ form });
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* Extract the keys and entries from an object or array.
|
|
484
|
+
* @param item Extract keys and values from this item.
|
|
485
|
+
* @private
|
|
486
|
+
*/
|
|
487
|
+
toKeysEntries(item) {
|
|
488
|
+
const guessedType = (0, sails_ng_common_1.guessType)(item);
|
|
489
|
+
if (guessedType === "object") {
|
|
490
|
+
const entries = Object.entries(item);
|
|
491
|
+
return { entries: entries, keys: entries.map(i => i[0]) };
|
|
492
|
+
}
|
|
493
|
+
else if (guessedType === "array") {
|
|
494
|
+
const entries = item.map((value, index) => [index, value]);
|
|
495
|
+
return { entries: entries, keys: entries.map(i => i[0]) };
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
return { entries: [], keys: [] };
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Check whether a 'check' array starts with a 'base' array.
|
|
503
|
+
* @param base The shorter array.
|
|
504
|
+
* @param check The longer array.
|
|
505
|
+
* @private
|
|
506
|
+
*/
|
|
507
|
+
arrayStartsWithArray(base, check) {
|
|
508
|
+
return base?.every((value, index) => check?.length > index && check?.[index] == value);
|
|
509
|
+
}
|
|
510
|
+
};
|
|
511
|
+
FormRecordConsistency = __decorate([
|
|
512
|
+
PopulateExportedMethods_decorator_1.PopulateExportedMethods
|
|
513
|
+
], FormRecordConsistency);
|
|
514
|
+
Services.FormRecordConsistency = FormRecordConsistency;
|
|
515
|
+
})(Services || (exports.Services = Services = {}));
|
|
516
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVJlY29yZENvbnNpc3RlbmN5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9Gb3JtUmVjb3JkQ29uc2lzdGVuY3lTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7Ozs7O0FBRTlELGdEQUFzRDtBQUN0RCxzR0FBeUY7QUFDekYsc0VBSTBDO0FBQzFDLCtCQUFvQztBQUNwQyxvRUFBMEU7QUFDMUUsc0VBQTJFO0FBQzNFLDRFQUFzRjtBQUN0RixrRUFBd0U7QUFDeEUsb0VBQTBFO0FBQzFFLDhEQUFvRTtBQUNwRSwwRUFBK0U7QUFDL0Usb0ZBQXlGO0FBS3pGLElBQWlCLFFBQVEsQ0FtbEJ4QjtBQW5sQkQsV0FBaUIsUUFBUTtJQTBDckI7Ozs7Ozs7Ozs7O09BV0c7SUFFSCxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFzQixTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDNUQ7Ozs7Ozs7Ozs7O1dBV0c7UUFDSSxLQUFLLENBQUMsV0FBVyxDQUNwQixPQUEwQixFQUFFLFFBQXlCLEVBQUUsZ0JBQTBDO1lBRWpHLDBCQUEwQjtZQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWpFLHdDQUF3QztZQUN4QyxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsTUFBTSxD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
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { Services as services } from '../CoreService';
|
|
3
|
+
import { BrandingModel } from '../model/storage/BrandingModel';
|
|
4
|
+
import { FormAttributes } from '../waterline-models/Form';
|
|
5
|
+
import { FormConfigFrame, FormConfigOutline, FormModesConfig, ReusableFormDefinitions } from "@researchdatabox/sails-ng-common";
|
|
6
|
+
type WorkflowStepLike = {
|
|
7
|
+
id: string;
|
|
8
|
+
config: {
|
|
9
|
+
form: string;
|
|
10
|
+
};
|
|
11
|
+
starting?: boolean;
|
|
12
|
+
};
|
|
13
|
+
type RecordLike = {
|
|
14
|
+
metaMetadata?: {
|
|
15
|
+
form?: string;
|
|
16
|
+
type?: string;
|
|
17
|
+
};
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
};
|
|
20
|
+
type FormFieldLike = {
|
|
21
|
+
definition?: {
|
|
22
|
+
fields?: FormFieldLike[];
|
|
23
|
+
};
|
|
24
|
+
fields?: FormFieldLike[];
|
|
25
|
+
needsEditAccess?: boolean;
|
|
26
|
+
[key: string]: unknown;
|
|
27
|
+
};
|
|
28
|
+
export declare namespace Services {
|
|
29
|
+
/**
|
|
30
|
+
* Forms related functions...
|
|
31
|
+
*
|
|
32
|
+
* @author <a target='_' href='https://github.com/shilob'>Shilo Banihit</a>
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
class Forms extends services.Core.Service {
|
|
36
|
+
private readonly generatedViewOnlyMetadataComponentName;
|
|
37
|
+
protected _exportedMethods: string[];
|
|
38
|
+
bootstrap(workflowStep: WorkflowStepLike, brandingId: string): Promise<unknown>;
|
|
39
|
+
private getFormConfigRegistry;
|
|
40
|
+
listForms: (brandingId?: string) => Observable<FormAttributes[]>;
|
|
41
|
+
getFormByName: (formName: string, editMode: boolean, brandingId?: string) => Observable<FormAttributes | null>;
|
|
42
|
+
getForm(branding: BrandingModel, formParam: string, editMode: boolean, recordType: string, currentRec: RecordLike): Promise<FormAttributes | null>;
|
|
43
|
+
getFormByStartingWorkflowStep(branding: BrandingModel, recordType: string, _editMode: boolean): Observable<FormAttributes>;
|
|
44
|
+
inferSchemaFromMetadata(record: RecordLike): Record<string, unknown>;
|
|
45
|
+
generateFormFromSchema(branding: BrandingModel, recordType: string, record: RecordLike): Promise<FormConfigFrame | Record<string, unknown>>;
|
|
46
|
+
filterFieldsHasEditAccess(fields: FormFieldLike[], hasEditAccess: boolean): void;
|
|
47
|
+
flattenFields(fields: FormFieldLike[], fieldArr: FormFieldLike[]): void;
|
|
48
|
+
/**
|
|
49
|
+
* Convert a server-side form config to a client-side form config.
|
|
50
|
+
*
|
|
51
|
+
* @param item The source item.
|
|
52
|
+
* @param formMode The form mode.
|
|
53
|
+
* @param userRoles The current user's roles.
|
|
54
|
+
* @param recordMetadata The record metadata.
|
|
55
|
+
* @param reusableFormDefs The reusable form definitions.
|
|
56
|
+
*/
|
|
57
|
+
buildClientFormConfig(item: FormConfigFrame, formMode?: FormModesConfig, userRoles?: string[], recordMetadata?: Record<string, unknown> | null, reusableFormDefs?: ReusableFormDefinitions, branding?: string, contextVariablesMap?: Record<string, unknown>): Promise<FormConfigOutline>;
|
|
58
|
+
private findComponentDefinitionByName;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
declare global {
|
|
62
|
+
let FormsService: Services.Forms;
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=FormsService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormsService.d.ts","sourceRoot":"","sources":["../../src/services/FormsService.ts"],"names":[],"mappings":"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"}
|