@researchdatabox/redbox-core 5.0.4-beta.12498 → 5.0.4
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 +3 -7
- package/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +3 -85
- package/dist/DatastreamService.d.ts +2 -4
- package/dist/DatastreamService.d.ts.map +1 -1
- package/dist/HarvestRunService.d.ts +3 -4
- package/dist/HarvestRunService.d.ts.map +1 -1
- package/dist/HarvestRunService.js +1 -1
- package/dist/QueueService.d.ts +1 -1
- package/dist/QueueService.d.ts.map +1 -1
- package/dist/RecordWriteOptions.d.ts +21 -0
- package/dist/RecordWriteOptions.d.ts.map +1 -0
- package/dist/RecordWriteOptions.js +17 -0
- package/dist/RecordsService.d.ts +14 -105
- package/dist/RecordsService.d.ts.map +1 -1
- package/dist/RecordsService.js +1 -44
- package/dist/SearchService.d.ts +1 -2
- package/dist/SearchService.d.ts.map +1 -1
- package/dist/StorageService.d.ts +20 -48
- package/dist/StorageService.d.ts.map +1 -1
- package/dist/StorageService.js +1 -19
- package/dist/StorageServiceResponse.d.ts +1 -22
- package/dist/StorageServiceResponse.d.ts.map +1 -1
- package/dist/StorageServiceResponse.js +4 -22
- package/dist/api-routes/groups/branding.d.ts +0 -8
- package/dist/api-routes/groups/branding.d.ts.map +1 -1
- package/dist/api-routes/groups/branding.js +11 -86
- package/dist/api-routes/groups/dashboard-config.d.ts +9 -12
- package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
- package/dist/api-routes/groups/dashboard-config.js +73 -136
- package/dist/api-routes/groups/forms.d.ts.map +1 -1
- package/dist/api-routes/groups/forms.js +2 -10
- package/dist/api-routes/groups/records.d.ts +0 -1
- package/dist/api-routes/groups/records.d.ts.map +1 -1
- package/dist/api-routes/groups/records.js +26 -141
- package/dist/api-routes/index.d.ts +0 -3
- package/dist/api-routes/index.d.ts.map +1 -1
- package/dist/api-routes/index.js +1 -4
- package/dist/api-routes/openapi.d.ts.map +1 -1
- package/dist/api-routes/openapi.js +5 -7
- package/dist/api-routes/request-extraction.d.ts.map +1 -1
- package/dist/api-routes/request-extraction.js +8 -10
- package/dist/api-routes/route-factory.d.ts.map +1 -1
- package/dist/api-routes/route-factory.js +1 -2
- package/dist/api-routes/route-registry.d.ts.map +1 -1
- package/dist/api-routes/route-registry.js +1 -3
- package/dist/api-routes/schemas/common.d.ts +0 -36
- package/dist/api-routes/schemas/common.d.ts.map +1 -1
- package/dist/api-routes/schemas/common.js +5 -95
- package/dist/api-routes/schemas/responses.d.ts +1 -1424
- package/dist/api-routes/schemas/responses.d.ts.map +1 -1
- package/dist/api-routes/schemas/responses.js +60 -382
- package/dist/api-routes/types.d.ts +0 -1
- package/dist/api-routes/types.d.ts.map +1 -1
- package/dist/api-routes/validation.d.ts +1 -5
- package/dist/api-routes/validation.d.ts.map +1 -1
- package/dist/api-routes/validation.js +15 -14
- package/dist/bootstrap.d.ts +1 -3
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +41 -58
- package/dist/config/agendaQueue.config.d.ts +0 -3
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +11 -29
- package/dist/config/branding.config.d.ts +0 -13
- package/dist/config/branding.config.d.ts.map +1 -1
- package/dist/config/branding.config.js +2 -34
- package/dist/config/brandingConfigurationDefaults.config.d.ts +0 -4
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +3 -42
- 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/i18n.config.d.ts +4 -0
- package/dist/config/i18n.config.d.ts.map +1 -1
- package/dist/config/i18n.config.js +1 -1
- package/dist/config/index.d.ts +4 -12
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -7
- package/dist/config/policies.config.d.ts.map +1 -1
- package/dist/config/policies.config.js +23 -37
- package/dist/config/raid.config.d.ts +4 -7
- package/dist/config/raid.config.d.ts.map +1 -1
- package/dist/config/raid.config.js +35 -21
- package/dist/config/record.config.d.ts +0 -3
- package/dist/config/record.config.d.ts.map +1 -1
- package/dist/config/record.config.js +35 -37
- package/dist/config/recordtype.config.d.ts +9 -32
- package/dist/config/recordtype.config.d.ts.map +1 -1
- package/dist/config/recordtype.config.js +7 -4
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +53 -135
- package/dist/config/workflow.config.d.ts +0 -6
- package/dist/config/workflow.config.d.ts.map +1 -1
- package/dist/config/workflow.config.js +1 -1
- package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
- package/dist/configmodels/AdminSidebarConfig.js +2 -4
- package/dist/configmodels/ConfigModels.d.ts +1 -1
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +9 -26
- package/dist/configmodels/FigsharePublishing.d.ts +103 -0
- package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
- package/dist/configmodels/FigsharePublishing.js +36 -2
- package/dist/controllers/AppConfigController.d.ts.map +1 -1
- package/dist/controllers/AppConfigController.js +1 -4
- package/dist/controllers/BrandingAppController.d.ts +7 -29
- package/dist/controllers/BrandingAppController.d.ts.map +1 -1
- package/dist/controllers/BrandingAppController.js +69 -265
- package/dist/controllers/BrandingController.d.ts +1 -24
- package/dist/controllers/BrandingController.d.ts.map +1 -1
- package/dist/controllers/BrandingController.js +43 -173
- package/dist/controllers/DashboardConfigController.d.ts +2 -6
- package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
- package/dist/controllers/DashboardConfigController.js +4 -18
- package/dist/controllers/DynamicAssetController.d.ts +5 -7
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +12 -21
- package/dist/controllers/RecordAuditController.d.ts.map +1 -1
- package/dist/controllers/RecordAuditController.js +24 -6
- package/dist/controllers/RecordController.d.ts +4 -45
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +345 -778
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +1 -4
- package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
- package/dist/controllers/webservice/AdminController.js +3 -4
- package/dist/controllers/webservice/BrandingController.d.ts +1 -26
- package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
- package/dist/controllers/webservice/BrandingController.js +116 -292
- package/dist/controllers/webservice/DashboardConfigController.d.ts +17 -25
- package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
- package/dist/controllers/webservice/DashboardConfigController.js +205 -90
- package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/FormManagementController.js +3 -37
- package/dist/controllers/webservice/RecordController.d.ts +1 -15
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +267 -647
- package/dist/controllers/webservice/RecordTypeController.d.ts +1 -6
- package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordTypeController.js +3 -21
- package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
- package/dist/controllers/webservice/SearchController.js +3 -7
- package/dist/hooks/defineRedboxHook.d.ts +0 -3
- package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
- package/dist/hooks/defineRedboxHook.js +1 -4
- package/dist/index.d.ts +25 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -90
- package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
- package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
- package/dist/loader/bootstrapShimRuntime.js +12 -20
- package/dist/loader/index.d.ts +0 -9
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +4 -93
- package/dist/model/BuildResponse.d.ts +11 -25
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/model/BuildResponse.js +3 -4
- package/dist/model/DashboardTypeResponseModel.d.ts +0 -6
- package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
- package/dist/model/DashboardTypeResponseModel.js +1 -7
- package/dist/model/DashboardViewResponseModel.d.ts +1 -5
- package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
- package/dist/model/DashboardViewResponseModel.js +3 -6
- package/dist/model/RBValidationError.d.ts +0 -17
- package/dist/model/RBValidationError.d.ts.map +1 -1
- package/dist/model/RBValidationError.js +1 -37
- package/dist/model/RecordTypeResponseModel.d.ts +4 -12
- package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
- package/dist/model/RecordTypeResponseModel.js +2 -11
- package/dist/model/index.d.ts +1 -5
- package/dist/model/index.d.ts.map +1 -1
- package/dist/model/index.js +2 -5
- package/dist/model/storage/BrandingModel.d.ts +0 -7
- package/dist/model/storage/BrandingModel.d.ts.map +1 -1
- package/dist/model/storage/BrandingModel.js +1 -7
- package/dist/model/storage/DeletedRecordModel.d.ts +0 -35
- package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
- package/dist/model/storage/DeletedRecordModel.js +1 -62
- package/dist/model/storage/FigshareSyncModel.d.ts +126 -0
- package/dist/model/storage/FigshareSyncModel.d.ts.map +1 -0
- package/dist/model/storage/FigshareSyncModel.js +3 -0
- package/dist/model/storage/IntegrationAuditModel.d.ts +2 -16
- package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
- package/dist/model/storage/IntegrationAuditModel.js +1 -15
- package/dist/model/storage/RecordAuditModel.d.ts +4 -11
- package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
- package/dist/model/storage/RecordAuditModel.js +30 -8
- package/dist/model/storage/RecordModel.d.ts +3 -6
- package/dist/model/storage/RecordModel.d.ts.map +1 -1
- package/dist/model/storage/RecordTypeModel.d.ts +0 -6
- package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
- package/dist/model/storage/RecordTypeModel.js +1 -4
- package/dist/model/storage/index.d.ts +10 -12
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +2 -24
- package/dist/policies/checkAuth.d.ts +6 -2
- package/dist/policies/checkAuth.d.ts.map +1 -1
- package/dist/policies/checkAuth.js +9 -32
- package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
- package/dist/policies/contentSecurityPolicy.js +2 -85
- package/dist/policies/index.d.ts +2 -3
- package/dist/policies/index.d.ts.map +1 -1
- package/dist/policies/index.js +2 -4
- package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
- package/dist/policies/validateApiContractRequest.js +11 -49
- package/dist/services/AgendaQueueService.d.ts +1 -1
- package/dist/services/AgendaQueueService.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.js +7 -4
- package/dist/services/AppConfigService.d.ts +0 -6
- package/dist/services/AppConfigService.d.ts.map +1 -1
- package/dist/services/AppConfigService.js +1 -23
- package/dist/services/AttachmentMetadataService.d.ts +0 -58
- package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
- package/dist/services/AttachmentMetadataService.js +8 -643
- package/dist/services/BrandingLogoService.d.ts +1 -6
- package/dist/services/BrandingLogoService.d.ts.map +1 -1
- package/dist/services/BrandingLogoService.js +9 -77
- package/dist/services/BrandingService.d.ts +9 -171
- package/dist/services/BrandingService.d.ts.map +1 -1
- package/dist/services/BrandingService.js +68 -572
- package/dist/services/BrandingThemeCssService.d.ts +1 -17
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
- package/dist/services/BrandingThemeCssService.js +9 -71
- package/dist/services/DashboardConfigService.d.ts +54 -214
- package/dist/services/DashboardConfigService.d.ts.map +1 -1
- package/dist/services/DashboardConfigService.js +261 -829
- package/dist/services/DashboardTypesService.d.ts +4 -15
- package/dist/services/DashboardTypesService.d.ts.map +1 -1
- package/dist/services/DashboardTypesService.js +139 -72
- package/dist/services/DoiService.d.ts +1 -1
- package/dist/services/DoiService.d.ts.map +1 -1
- package/dist/services/DoiService.js +45 -71
- package/dist/services/FigshareService.d.ts +15 -10
- package/dist/services/FigshareService.d.ts.map +1 -1
- package/dist/services/FigshareService.js +82 -583
- package/dist/services/FormRecordConsistencyService.d.ts +23 -8
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
- package/dist/services/FormRecordConsistencyService.js +70 -54
- package/dist/services/FormsService.d.ts +2 -91
- package/dist/services/FormsService.d.ts.map +1 -1
- package/dist/services/FormsService.js +64 -324
- package/dist/services/HarvestRunService.d.ts +3 -6
- package/dist/services/HarvestRunService.d.ts.map +1 -1
- package/dist/services/HarvestRunService.js +97 -161
- package/dist/services/I18nEntriesService.d.ts +2 -1
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +45 -30
- package/dist/services/OniService.d.ts +62 -19
- package/dist/services/OniService.d.ts.map +1 -1
- package/dist/services/OniService.js +691 -223
- package/dist/services/RDMPService.d.ts +1 -1
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +5 -5
- package/dist/services/RaidService.d.ts +61 -19
- package/dist/services/RaidService.d.ts.map +1 -1
- package/dist/services/RaidService.js +530 -191
- package/dist/services/RecordTypesService.d.ts +0 -29
- package/dist/services/RecordTypesService.d.ts.map +1 -1
- package/dist/services/RecordTypesService.js +11 -106
- package/dist/services/RecordsService.d.ts +26 -313
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +763 -5089
- package/dist/services/SolrSearchService.d.ts +1 -1
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +12 -42
- package/dist/services/StandardDatastreamService.d.ts +5 -4
- package/dist/services/StandardDatastreamService.d.ts.map +1 -1
- package/dist/services/StandardDatastreamService.js +61 -106
- package/dist/services/TriggerService.d.ts.map +1 -1
- package/dist/services/TriggerService.js +30 -54
- package/dist/services/UsersService.d.ts +1 -2
- package/dist/services/UsersService.d.ts.map +1 -1
- package/dist/services/UsersService.js +283 -364
- package/dist/services/VocabularyService.d.ts +0 -2
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +2 -61
- package/dist/services/WorkflowStepsService.d.ts +0 -11
- package/dist/services/WorkflowStepsService.d.ts.map +1 -1
- package/dist/services/WorkflowStepsService.js +3 -32
- package/dist/services/WorkspaceService.d.ts +2 -2
- package/dist/services/WorkspaceService.d.ts.map +1 -1
- package/dist/services/WorkspaceService.js +5 -5
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +20 -3
- package/dist/services/doi-v2/config.d.ts +0 -1
- package/dist/services/doi-v2/config.d.ts.map +1 -1
- package/dist/services/doi-v2/config.js +5 -13
- package/dist/services/doi-v2/runtime.d.ts.map +1 -1
- package/dist/services/doi-v2/runtime.js +54 -14
- package/dist/services/figshare-v2/admin.d.ts +16 -0
- package/dist/services/figshare-v2/admin.d.ts.map +1 -0
- package/dist/services/figshare-v2/admin.js +283 -0
- package/dist/services/figshare-v2/assets.d.ts +20 -1
- package/dist/services/figshare-v2/assets.d.ts.map +1 -1
- package/dist/services/figshare-v2/assets.js +16 -1
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +20 -3
- package/dist/services/figshare-v2/config.d.ts +8 -2
- package/dist/services/figshare-v2/config.d.ts.map +1 -1
- package/dist/services/figshare-v2/config.js +31 -3
- package/dist/services/figshare-v2/execution.d.ts +25 -0
- package/dist/services/figshare-v2/execution.d.ts.map +1 -0
- package/dist/services/figshare-v2/execution.js +49 -0
- package/dist/services/figshare-v2/http.d.ts +6 -1
- package/dist/services/figshare-v2/http.d.ts.map +1 -1
- package/dist/services/figshare-v2/http.js +69 -12
- package/dist/services/figshare-v2/identity.d.ts +12 -0
- package/dist/services/figshare-v2/identity.d.ts.map +1 -0
- package/dist/services/figshare-v2/identity.js +78 -0
- package/dist/services/figshare-v2/managed-assets.d.ts +9 -0
- package/dist/services/figshare-v2/managed-assets.d.ts.map +1 -0
- package/dist/services/figshare-v2/managed-assets.js +229 -0
- package/dist/services/figshare-v2/plan.d.ts.map +1 -1
- package/dist/services/figshare-v2/plan.js +2 -9
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
- package/dist/services/figshare-v2/runtime.js +58 -11
- package/dist/services/figshare-v2/source-intent.d.ts +9 -0
- package/dist/services/figshare-v2/source-intent.d.ts.map +1 -0
- package/dist/services/figshare-v2/source-intent.js +93 -0
- package/dist/services/figshare-v2/status.d.ts +4 -0
- package/dist/services/figshare-v2/status.d.ts.map +1 -0
- package/dist/services/figshare-v2/status.js +29 -0
- package/dist/services/figshare-v2/sync-store.d.ts +27 -0
- package/dist/services/figshare-v2/sync-store.d.ts.map +1 -0
- package/dist/services/figshare-v2/sync-store.js +139 -0
- package/dist/services/figshare-v2/types.d.ts +3 -0
- package/dist/services/figshare-v2/types.d.ts.map +1 -1
- package/dist/services/figshare-v2/types.js +1 -1
- package/dist/services/figshare-v2/worker.d.ts +16 -0
- package/dist/services/figshare-v2/worker.d.ts.map +1 -0
- package/dist/services/figshare-v2/worker.js +572 -0
- package/dist/services/index.d.ts +0 -9
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -45
- package/dist/utilities/TranslationHtml.d.ts +3 -0
- package/dist/utilities/TranslationHtml.d.ts.map +1 -0
- package/dist/utilities/TranslationHtml.js +46 -0
- package/dist/visitor/client.visitor.d.ts +0 -6
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +14 -59
- package/dist/visitor/construct.visitor.d.ts +1 -27
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +177 -265
- package/dist/visitor/context-variables.visitor.d.ts +1 -3
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +1 -15
- package/dist/visitor/data-value.visitor.d.ts +0 -6
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +1 -10
- package/dist/visitor/json-type-def.visitor.d.ts +0 -6
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +1 -10
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +0 -11
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +133 -228
- package/dist/visitor/template.visitor.d.ts +2 -17
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +22 -60
- package/dist/visitor/validator.visitor.d.ts +7 -49
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +178 -275
- package/dist/waterline-models/AttachmentMetadata.d.ts +0 -22
- package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
- package/dist/waterline-models/AttachmentMetadata.js +3 -147
- package/dist/waterline-models/BrandingConfig.d.ts +0 -7
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfig.js +1 -16
- package/dist/waterline-models/BrandingConfigHistory.d.ts +2 -11
- package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfigHistory.js +1 -21
- package/dist/waterline-models/FigshareSync.d.ts +41 -0
- package/dist/waterline-models/FigshareSync.d.ts.map +1 -0
- package/dist/waterline-models/FigshareSync.js +168 -0
- package/dist/waterline-models/RecordType.d.ts +0 -9
- package/dist/waterline-models/RecordType.d.ts.map +1 -1
- package/dist/waterline-models/RecordType.js +1 -16
- package/dist/waterline-models/User.d.ts.map +1 -1
- package/dist/waterline-models/User.js +15 -10
- package/dist/waterline-models/index.d.ts +2 -2
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +4 -4
- package/package.json +46 -59
- package/dist/AttachmentStagingIdentity.d.ts +0 -3
- package/dist/AttachmentStagingIdentity.d.ts.map +0 -1
- package/dist/AttachmentStagingIdentity.js +0 -10
- package/dist/RecordConcurrencyObservability.d.ts +0 -51
- package/dist/RecordConcurrencyObservability.d.ts.map +0 -1
- package/dist/RecordConcurrencyObservability.js +0 -136
- package/dist/RecordEntityTag.d.ts +0 -31
- package/dist/RecordEntityTag.d.ts.map +0 -1
- package/dist/RecordEntityTag.js +0 -101
- package/dist/RecordFormFingerprint.d.ts +0 -7
- package/dist/RecordFormFingerprint.d.ts.map +0 -1
- package/dist/RecordFormFingerprint.js +0 -106
- package/dist/RecordHttpConcurrency.d.ts +0 -60
- package/dist/RecordHttpConcurrency.d.ts.map +0 -1
- package/dist/RecordHttpConcurrency.js +0 -181
- package/dist/RecordSaveResponse.d.ts +0 -219
- package/dist/RecordSaveResponse.d.ts.map +0 -1
- package/dist/RecordSaveResponse.js +0 -639
- package/dist/RecordStorageConcurrency.d.ts +0 -48
- package/dist/RecordStorageConcurrency.d.ts.map +0 -1
- package/dist/RecordStorageConcurrency.js +0 -103
- package/dist/RecordWriteClassification.d.ts +0 -12
- package/dist/RecordWriteClassification.d.ts.map +0 -1
- package/dist/RecordWriteClassification.js +0 -70
- package/dist/action-execution/audit.d.ts +0 -41
- package/dist/action-execution/audit.d.ts.map +0 -1
- package/dist/action-execution/audit.js +0 -122
- package/dist/action-execution/executor.d.ts +0 -24
- package/dist/action-execution/executor.d.ts.map +0 -1
- package/dist/action-execution/executor.js +0 -435
- package/dist/action-execution/failure.d.ts +0 -49
- package/dist/action-execution/failure.d.ts.map +0 -1
- package/dist/action-execution/failure.js +0 -129
- package/dist/action-execution/index.d.ts +0 -7
- package/dist/action-execution/index.d.ts.map +0 -1
- package/dist/action-execution/index.js +0 -23
- package/dist/action-execution/legacy-result.d.ts +0 -21
- package/dist/action-execution/legacy-result.d.ts.map +0 -1
- package/dist/action-execution/legacy-result.js +0 -70
- package/dist/action-execution/policy.d.ts +0 -12
- package/dist/action-execution/policy.d.ts.map +0 -1
- package/dist/action-execution/policy.js +0 -138
- package/dist/action-execution/types.d.ts +0 -121
- package/dist/action-execution/types.d.ts.map +0 -1
- package/dist/action-execution/types.js +0 -22
- package/dist/api-routes/groups/record-schemas.d.ts +0 -5
- package/dist/api-routes/groups/record-schemas.d.ts.map +0 -1
- package/dist/api-routes/groups/record-schemas.js +0 -181
- package/dist/api-routes/record-schema-openapi.d.ts +0 -26
- package/dist/api-routes/record-schema-openapi.d.ts.map +0 -1
- package/dist/api-routes/record-schema-openapi.js +0 -38
- package/dist/api-routes/record-schema-response.d.ts +0 -40
- package/dist/api-routes/record-schema-response.d.ts.map +0 -1
- package/dist/api-routes/record-schema-response.js +0 -89
- package/dist/config/recordSchema.config.d.ts +0 -68
- package/dist/config/recordSchema.config.d.ts.map +0 -1
- package/dist/config/recordSchema.config.js +0 -173
- package/dist/config/recordValidation.config.d.ts +0 -19
- package/dist/config/recordValidation.config.d.ts.map +0 -1
- package/dist/config/recordValidation.config.js +0 -10
- package/dist/configmodels/DashboardFieldCatalogue.d.ts +0 -67
- package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +0 -1
- package/dist/configmodels/DashboardFieldCatalogue.js +0 -174
- package/dist/configmodels/DashboardSettings.d.ts +0 -191
- package/dist/configmodels/DashboardSettings.d.ts.map +0 -1
- package/dist/configmodels/DashboardSettings.js +0 -705
- package/dist/configmodels/OniPublishing.d.ts +0 -205
- package/dist/configmodels/OniPublishing.d.ts.map +0 -1
- package/dist/configmodels/OniPublishing.js +0 -335
- package/dist/configmodels/RaidPublishing.d.ts +0 -97
- package/dist/configmodels/RaidPublishing.d.ts.map +0 -1
- package/dist/configmodels/RaidPublishing.js +0 -35
- package/dist/configmodels/WebAnalytics.d.ts +0 -55
- package/dist/configmodels/WebAnalytics.d.ts.map +0 -1
- package/dist/configmodels/WebAnalytics.js +0 -61
- package/dist/controllers/BrandingControllerSupport.d.ts +0 -20
- package/dist/controllers/BrandingControllerSupport.d.ts.map +0 -1
- package/dist/controllers/BrandingControllerSupport.js +0 -80
- package/dist/controllers/webservice/RecordSchemaController.d.ts +0 -32
- package/dist/controllers/webservice/RecordSchemaController.d.ts.map +0 -1
- package/dist/controllers/webservice/RecordSchemaController.js +0 -356
- package/dist/model/BrandingTypeface.d.ts +0 -70
- package/dist/model/BrandingTypeface.d.ts.map +0 -1
- package/dist/model/BrandingTypeface.js +0 -116
- package/dist/model/record-contract.d.ts +0 -42
- package/dist/model/record-contract.d.ts.map +0 -1
- package/dist/model/record-contract.js +0 -3
- package/dist/model/storage/record-schema.d.ts +0 -115
- package/dist/model/storage/record-schema.d.ts.map +0 -1
- package/dist/model/storage/record-schema.js +0 -3
- package/dist/record-contract/ajv-error-mapper.d.ts +0 -34
- package/dist/record-contract/ajv-error-mapper.d.ts.map +0 -1
- package/dist/record-contract/ajv-error-mapper.js +0 -153
- package/dist/record-contract/canonical-json.d.ts +0 -20
- package/dist/record-contract/canonical-json.d.ts.map +0 -1
- package/dist/record-contract/canonical-json.js +0 -126
- package/dist/record-contract/codes.d.ts +0 -36
- package/dist/record-contract/codes.d.ts.map +0 -1
- package/dist/record-contract/codes.js +0 -38
- package/dist/record-contract/contributor-registry.d.ts +0 -76
- package/dist/record-contract/contributor-registry.d.ts.map +0 -1
- package/dist/record-contract/contributor-registry.js +0 -126
- package/dist/record-contract/core-contributors.d.ts +0 -44
- package/dist/record-contract/core-contributors.d.ts.map +0 -1
- package/dist/record-contract/core-contributors.js +0 -395
- package/dist/record-contract/deep-freeze.d.ts +0 -3
- package/dist/record-contract/deep-freeze.d.ts.map +0 -1
- package/dist/record-contract/deep-freeze.js +0 -23
- package/dist/record-contract/index.d.ts +0 -13
- package/dist/record-contract/index.d.ts.map +0 -1
- package/dist/record-contract/index.js +0 -29
- package/dist/record-contract/json-pointer.d.ts +0 -20
- package/dist/record-contract/json-pointer.d.ts.map +0 -1
- package/dist/record-contract/json-pointer.js +0 -70
- package/dist/record-contract/json-schema-renderer.d.ts +0 -51
- package/dist/record-contract/json-schema-renderer.d.ts.map +0 -1
- package/dist/record-contract/json-schema-renderer.js +0 -450
- package/dist/record-contract/record-contract-compiler.d.ts +0 -42
- package/dist/record-contract/record-contract-compiler.d.ts.map +0 -1
- package/dist/record-contract/record-contract-compiler.js +0 -775
- package/dist/record-contract/record-contract-context.d.ts +0 -91
- package/dist/record-contract/record-contract-context.d.ts.map +0 -1
- package/dist/record-contract/record-contract-context.js +0 -39
- package/dist/record-contract/record-json-schema-artifact.d.ts +0 -74
- package/dist/record-contract/record-json-schema-artifact.d.ts.map +0 -1
- package/dist/record-contract/record-json-schema-artifact.js +0 -309
- package/dist/record-contract/record-json-schema-etag.d.ts +0 -15
- package/dist/record-contract/record-json-schema-etag.d.ts.map +0 -1
- package/dist/record-contract/record-json-schema-etag.js +0 -41
- package/dist/record-contract/types.d.ts +0 -151
- package/dist/record-contract/types.d.ts.map +0 -1
- package/dist/record-contract/types.js +0 -6
- package/dist/services/BrandingTypefaceService.d.ts +0 -74
- package/dist/services/BrandingTypefaceService.d.ts.map +0 -1
- package/dist/services/BrandingTypefaceService.js +0 -359
- package/dist/services/BrandingWoff2Inspector.d.ts +0 -17
- package/dist/services/BrandingWoff2Inspector.d.ts.map +0 -1
- package/dist/services/BrandingWoff2Inspector.js +0 -402
- package/dist/services/DashboardLegacyConversion.d.ts +0 -82
- package/dist/services/DashboardLegacyConversion.d.ts.map +0 -1
- package/dist/services/DashboardLegacyConversion.js +0 -427
- package/dist/services/RecordSchemaService.d.ts +0 -440
- package/dist/services/RecordSchemaService.d.ts.map +0 -1
- package/dist/services/RecordSchemaService.js +0 -3061
- package/dist/services/RecordValidationService.d.ts +0 -340
- package/dist/services/RecordValidationService.d.ts.map +0 -1
- package/dist/services/RecordValidationService.js +0 -1898
- package/dist/services/form-record-access-user.d.ts +0 -3
- package/dist/services/form-record-access-user.d.ts.map +0 -1
- package/dist/services/form-record-access-user.js +0 -23
- package/dist/services/integration-v2/bindings.d.ts +0 -3
- package/dist/services/integration-v2/bindings.d.ts.map +0 -1
- package/dist/services/integration-v2/bindings.js +0 -91
- package/dist/services/integration-v2/runtime.d.ts +0 -3
- package/dist/services/integration-v2/runtime.d.ts.map +0 -1
- package/dist/services/integration-v2/runtime.js +0 -50
- package/dist/services/internal-record-schema-authorization.d.ts +0 -8
- package/dist/services/internal-record-schema-authorization.d.ts.map +0 -1
- package/dist/services/internal-record-schema-authorization.js +0 -16
- package/dist/services/oni-v2/audit.d.ts +0 -19
- package/dist/services/oni-v2/audit.d.ts.map +0 -1
- package/dist/services/oni-v2/audit.js +0 -50
- package/dist/services/oni-v2/bindings.d.ts +0 -7
- package/dist/services/oni-v2/bindings.d.ts.map +0 -1
- package/dist/services/oni-v2/bindings.js +0 -31
- package/dist/services/oni-v2/config.d.ts +0 -12
- package/dist/services/oni-v2/config.d.ts.map +0 -1
- package/dist/services/oni-v2/config.js +0 -134
- package/dist/services/oni-v2/context.d.ts +0 -3
- package/dist/services/oni-v2/context.d.ts.map +0 -1
- package/dist/services/oni-v2/context.js +0 -17
- package/dist/services/oni-v2/crate.d.ts +0 -17
- package/dist/services/oni-v2/crate.d.ts.map +0 -1
- package/dist/services/oni-v2/crate.js +0 -504
- package/dist/services/oni-v2/flydriveOcflStore.d.ts +0 -69
- package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +0 -1
- package/dist/services/oni-v2/flydriveOcflStore.js +0 -325
- package/dist/services/oni-v2/ingestion.d.ts +0 -37
- package/dist/services/oni-v2/ingestion.d.ts.map +0 -1
- package/dist/services/oni-v2/ingestion.js +0 -91
- package/dist/services/oni-v2/mapping.d.ts +0 -17
- package/dist/services/oni-v2/mapping.d.ts.map +0 -1
- package/dist/services/oni-v2/mapping.js +0 -137
- package/dist/services/oni-v2/repository.d.ts +0 -9
- package/dist/services/oni-v2/repository.d.ts.map +0 -1
- package/dist/services/oni-v2/repository.js +0 -180
- package/dist/services/oni-v2/runtime.d.ts +0 -23
- package/dist/services/oni-v2/runtime.d.ts.map +0 -1
- package/dist/services/oni-v2/runtime.js +0 -121
- package/dist/services/oni-v2/templating.d.ts +0 -11
- package/dist/services/oni-v2/templating.d.ts.map +0 -1
- package/dist/services/oni-v2/templating.js +0 -27
- package/dist/services/oni-v2/types.d.ts +0 -100
- package/dist/services/oni-v2/types.d.ts.map +0 -1
- package/dist/services/oni-v2/types.js +0 -3
- package/dist/services/raid-v2/audit.d.ts +0 -10
- package/dist/services/raid-v2/audit.d.ts.map +0 -1
- package/dist/services/raid-v2/audit.js +0 -29
- package/dist/services/raid-v2/errors.d.ts +0 -85
- package/dist/services/raid-v2/errors.d.ts.map +0 -1
- package/dist/services/raid-v2/errors.js +0 -36
- package/dist/services/raid-v2/http.d.ts +0 -4
- package/dist/services/raid-v2/http.d.ts.map +0 -1
- package/dist/services/raid-v2/http.js +0 -84
- package/dist/services/raid-v2/logger.d.ts +0 -8
- package/dist/services/raid-v2/logger.d.ts.map +0 -1
- package/dist/services/raid-v2/logger.js +0 -30
- package/dist/services/raid-v2/mapping.d.ts +0 -9
- package/dist/services/raid-v2/mapping.d.ts.map +0 -1
- package/dist/services/raid-v2/mapping.js +0 -168
- package/dist/services/raid-v2/runtime.d.ts +0 -5
- package/dist/services/raid-v2/runtime.d.ts.map +0 -1
- package/dist/services/raid-v2/runtime.js +0 -135
- package/dist/services/raid-v2/tags.d.ts +0 -11
- package/dist/services/raid-v2/tags.d.ts.map +0 -1
- package/dist/services/raid-v2/tags.js +0 -12
- package/dist/services/raid-v2/types.d.ts +0 -66
- package/dist/services/raid-v2/types.d.ts.map +0 -1
- package/dist/services/raid-v2/types.js +0 -3
- package/dist/services/record-hooks/coordinator.d.ts +0 -64
- package/dist/services/record-hooks/coordinator.d.ts.map +0 -1
- package/dist/services/record-hooks/coordinator.js +0 -276
- package/dist/visitor/related-object-data-inline.visitor.d.ts +0 -31
- package/dist/visitor/related-object-data-inline.visitor.d.ts.map +0 -1
- package/dist/visitor/related-object-data-inline.visitor.js +0 -96
- package/dist/waterline-models/DashboardConfiguration.d.ts +0 -29
- package/dist/waterline-models/DashboardConfiguration.d.ts.map +0 -1
- package/dist/waterline-models/DashboardConfiguration.js +0 -52
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Services as services } from '../CoreService';
|
|
2
|
-
import { FormValidatorSummaryErrors, FormConfigFrame, TemplateCompileInput, FormModesConfig, ReusableFormDefinitions
|
|
2
|
+
import { FormValidatorSummaryErrors, FormConfigFrame, TemplateCompileInput, FormModesConfig, ReusableFormDefinitions } from "@researchdatabox/sails-ng-common";
|
|
3
3
|
export declare namespace Services {
|
|
4
4
|
type BasicRedboxRecord = {
|
|
5
5
|
redboxOid: string;
|
|
@@ -10,11 +10,31 @@ export declare namespace Services {
|
|
|
10
10
|
* The path from the root of the item to the key in the original, which has a change.
|
|
11
11
|
* Object property keys are strings, array indicies are integers.
|
|
12
12
|
*/
|
|
13
|
-
type FormRecordConsistencyChangePath =
|
|
13
|
+
type FormRecordConsistencyChangePath = (string | number)[];
|
|
14
14
|
/**
|
|
15
15
|
* The properties of one change.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
interface FormRecordConsistencyChange {
|
|
18
|
+
/**
|
|
19
|
+
* The kind of change:
|
|
20
|
+
* - "add": an object property or array index that was not previously present
|
|
21
|
+
* - "delete": an object property or array index that was previously present has been removed
|
|
22
|
+
* - "change": an object property or array index that already existed has a value that has changed
|
|
23
|
+
*/
|
|
24
|
+
kind: "add" | "delete" | "change";
|
|
25
|
+
/**
|
|
26
|
+
* The path from the root of the item to the key in the original.
|
|
27
|
+
*/
|
|
28
|
+
path: FormRecordConsistencyChangePath;
|
|
29
|
+
/**
|
|
30
|
+
* The original value of the property or array index before the change.
|
|
31
|
+
*/
|
|
32
|
+
original: unknown;
|
|
33
|
+
/**
|
|
34
|
+
* The new value of the property or array index after the change.
|
|
35
|
+
*/
|
|
36
|
+
changed: unknown;
|
|
37
|
+
}
|
|
18
38
|
/**
|
|
19
39
|
* A service for verifying that form config and one or two associated Records are consistent.
|
|
20
40
|
*
|
|
@@ -60,11 +80,6 @@ export declare namespace Services {
|
|
|
60
80
|
* @return The merged record.
|
|
61
81
|
*/
|
|
62
82
|
mergeRecordClientFormConfig(original: BasicRedboxRecord, changed: BasicRedboxRecord, clientFormConfig: FormConfigFrame, formMode: FormModesConfig, reusableFormDefs?: ReusableFormDefinitions): Promise<BasicRedboxRecord>;
|
|
63
|
-
/**
|
|
64
|
-
* Project authoritative metadata to the fields in an already filtered client form.
|
|
65
|
-
* This intentionally uses an empty original so server-only metadata is not retained.
|
|
66
|
-
*/
|
|
67
|
-
projectMetadataClientFormConfig(metadata: Record<string, unknown>, clientFormConfig: FormConfigFrame, formMode: FormModesConfig, reusableFormDefs?: ReusableFormDefinitions): Promise<Record<string, unknown>>;
|
|
68
83
|
/**
|
|
69
84
|
* Merge the original and changed records, using the client form config to know which changes to include.
|
|
70
85
|
* @param original The existing original record.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormRecordConsistencyService.d.ts","sourceRoot":"","sources":["../../src/services/FormRecordConsistencyService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EACQ,0BAA0B,EACrC,eAAe,EAAE,oBAAoB,EAAE,eAAe,EACtD,uBAAuB,
|
|
1
|
+
{"version":3,"file":"FormRecordConsistencyService.d.ts","sourceRoot":"","sources":["../../src/services/FormRecordConsistencyService.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,13 +37,6 @@ const construct_visitor_1 = require("../visitor/construct.visitor");
|
|
|
37
37
|
const client_visitor_1 = require("../visitor/client.visitor");
|
|
38
38
|
const vocab_inline_visitor_1 = require("../visitor/vocab-inline.visitor");
|
|
39
39
|
const context_variables_visitor_1 = require("../visitor/context-variables.visitor");
|
|
40
|
-
const isPermittedChangesSchemaObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
41
|
-
const requirePermittedChangesSchemaObject = (value) => {
|
|
42
|
-
if (!isPermittedChangesSchemaObject(value)) {
|
|
43
|
-
throw new Error(`Invalid permittedChanges object, schema definitions must be objects: ${JSON.stringify(value)}`);
|
|
44
|
-
}
|
|
45
|
-
return value;
|
|
46
|
-
};
|
|
47
40
|
var Services;
|
|
48
41
|
(function (Services) {
|
|
49
42
|
/**
|
|
@@ -121,20 +114,6 @@ var Services;
|
|
|
121
114
|
metadata: this.mergeRecordMetadataPermitted(originalMetadata, changedMetadata, permittedChanges, changes),
|
|
122
115
|
};
|
|
123
116
|
}
|
|
124
|
-
/**
|
|
125
|
-
* Project authoritative metadata to the fields in an already filtered client form.
|
|
126
|
-
* This intentionally uses an empty original so server-only metadata is not retained.
|
|
127
|
-
*/
|
|
128
|
-
async projectMetadataClientFormConfig(metadata, clientFormConfig, formMode, reusableFormDefs) {
|
|
129
|
-
const projected = await this.mergeRecordClientFormConfig({
|
|
130
|
-
redboxOid: '',
|
|
131
|
-
metadata: {},
|
|
132
|
-
}, {
|
|
133
|
-
redboxOid: '',
|
|
134
|
-
metadata,
|
|
135
|
-
}, clientFormConfig, formMode, reusableFormDefs);
|
|
136
|
-
return projected.metadata;
|
|
137
|
-
}
|
|
138
117
|
/**
|
|
139
118
|
* Merge the original and changed records, using the client form config to know which changes to include.
|
|
140
119
|
* @param original The existing original record.
|
|
@@ -160,17 +139,11 @@ var Services;
|
|
|
160
139
|
const originalRecord = original;
|
|
161
140
|
const changedRecord = changed;
|
|
162
141
|
const permittedChangesObj = permittedChanges;
|
|
163
|
-
if (permittedChangesObj?.type === 'object') {
|
|
164
|
-
return changedRecord;
|
|
165
|
-
}
|
|
166
142
|
// if (!('properties' in permittedChangesObj)) {
|
|
167
143
|
// throw new Error(`Permitted changes must have an object, a 'properties' property, at the top level ${JSON.stringify(permittedChanges)}`)
|
|
168
144
|
// }
|
|
169
|
-
const permittedChangesProps = (('properties' in permittedChangesObj
|
|
170
|
-
?
|
|
171
|
-
...(permittedChangesObj['properties'] ?? {}),
|
|
172
|
-
...(permittedChangesObj['optionalProperties'] ?? {}),
|
|
173
|
-
}
|
|
145
|
+
const permittedChangesProps = (('properties' in permittedChangesObj)
|
|
146
|
+
? permittedChangesObj['properties']
|
|
174
147
|
: permittedChangesObj);
|
|
175
148
|
// create a new record instance
|
|
176
149
|
const result = {
|
|
@@ -182,6 +155,7 @@ var Services;
|
|
|
182
155
|
// pre-calculate aspects of the original item
|
|
183
156
|
const isKeyInOriginal = key in originalRecord;
|
|
184
157
|
const originalValue = isKeyInOriginal ? originalRecord[key] : undefined;
|
|
158
|
+
const originalValueType = (0, sails_ng_common_1.guessType)(originalValue);
|
|
185
159
|
// pre-calculate aspects of the changed item
|
|
186
160
|
const isKeyInChanged = key in changedRecord;
|
|
187
161
|
const changedValue = isKeyInChanged ? changedRecord[key] : undefined;
|
|
@@ -189,22 +163,10 @@ var Services;
|
|
|
189
163
|
// pre-calculate aspects of the permitted changes
|
|
190
164
|
const isKeyInPermittedChange = key in permittedChangesProps;
|
|
191
165
|
const permittedChangesValue = permittedChangesProps?.[key];
|
|
192
|
-
const
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
const
|
|
196
|
-
&& ('properties' in permittedChangesValueObj || 'optionalProperties' in permittedChangesValueObj);
|
|
197
|
-
const isPermittedChangeArray = isKeyInPermittedChange && !!permittedChangesValueObj && 'elements' in permittedChangesValueObj;
|
|
198
|
-
const isPermittedChangeType = isKeyInPermittedChange && !!permittedChangesValueObj && 'type' in permittedChangesValueObj;
|
|
199
|
-
const isPermittedChangeEmpty = isKeyInPermittedChange && !!permittedChangesValueObj && Object.keys(permittedChangesValueObj).length === 0;
|
|
200
|
-
const originalValueForMerge = isKeyInOriginal
|
|
201
|
-
? originalValue
|
|
202
|
-
: isPermittedChangeArray
|
|
203
|
-
? []
|
|
204
|
-
: isPermittedChangeObject
|
|
205
|
-
? {}
|
|
206
|
-
: undefined;
|
|
207
|
-
const originalValueForMergeType = (0, sails_ng_common_1.guessType)(originalValueForMerge);
|
|
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;
|
|
208
170
|
// ensure the permitted changes item is valid
|
|
209
171
|
const isPermittedChangeMatches = {
|
|
210
172
|
isPermittedChangeObject: isPermittedChangeObject,
|
|
@@ -217,19 +179,17 @@ var Services;
|
|
|
217
179
|
}
|
|
218
180
|
// evaluate the combinations of original and changed values
|
|
219
181
|
if (isPermittedChangeArray
|
|
182
|
+
&& isKeyInOriginal
|
|
220
183
|
&& isKeyInChanged
|
|
221
|
-
&&
|
|
184
|
+
&& originalValueType === "array"
|
|
222
185
|
&& changedValueType === "array") {
|
|
223
186
|
// The change is permitted and an array, original and changed have the key and both are arrays.
|
|
224
187
|
// For an array, the merge logic is to replace the original array with the changed array.
|
|
225
188
|
// The whole array is replaced because there is no current way to distinguish what from the original should be kept.
|
|
226
189
|
// TODO: Consider how to replace each element in the array instead of the whole array.
|
|
227
190
|
// Replacing the whole array prevents use of constraints in components in the array elements.
|
|
228
|
-
const newPermittedChanges =
|
|
191
|
+
const newPermittedChanges = permittedChangesValue['elements'];
|
|
229
192
|
result[key] = changedValue.map((changedElement, index) => {
|
|
230
|
-
if (newPermittedChanges.type === 'object' || Object.keys(newPermittedChanges).length === 0) {
|
|
231
|
-
return changedElement;
|
|
232
|
-
}
|
|
233
193
|
// Evaluate the element in the array.
|
|
234
194
|
const guessedType = (0, sails_ng_common_1.guessType)(changedElement);
|
|
235
195
|
if (guessedType === "object") {
|
|
@@ -255,15 +215,16 @@ var Services;
|
|
|
255
215
|
});
|
|
256
216
|
}
|
|
257
217
|
else if (isPermittedChangeObject
|
|
218
|
+
&& isKeyInOriginal
|
|
258
219
|
&& isKeyInChanged
|
|
259
|
-
&&
|
|
220
|
+
&& originalValueType === "object"
|
|
260
221
|
&& changedValueType === "object") {
|
|
261
222
|
// The change is permitted and an object, original and changed have the key and both are objects.
|
|
262
223
|
// Evaluate the properties of the object.
|
|
263
224
|
const newPermittedChanges = permittedChangesValue;
|
|
264
225
|
const newPath = [...currentPath, key];
|
|
265
226
|
const keyChanges = relevantChanges?.filter(i => (0, sails_ng_common_1.arrayStartsWithArray)(newPath, i?.path));
|
|
266
|
-
result[key] = this.mergeRecordMetadataPermitted(
|
|
227
|
+
result[key] = this.mergeRecordMetadataPermitted(originalValue, changedValue, newPermittedChanges, keyChanges, newPath);
|
|
267
228
|
}
|
|
268
229
|
else if (isKeyInPermittedChange && isKeyInChanged) {
|
|
269
230
|
// The change is permitted and the key is in the changed.
|
|
@@ -318,7 +279,62 @@ var Services;
|
|
|
318
279
|
* @param path The current path of the original.
|
|
319
280
|
*/
|
|
320
281
|
compareRecords(original, changed, path) {
|
|
321
|
-
|
|
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;
|
|
322
338
|
}
|
|
323
339
|
// TODO: implement this
|
|
324
340
|
// /**
|
|
@@ -499,4 +515,4 @@ var Services;
|
|
|
499
515
|
], FormRecordConsistency);
|
|
500
516
|
Services.FormRecordConsistency = FormRecordConsistency;
|
|
501
517
|
})(Services || (exports.Services = Services = {}));
|
|
502
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVJlY29yZENvbnNpc3RlbmN5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9Gb3JtUmVjb3JkQ29uc2lzdGVuY3lTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7Ozs7O0FBRTlELGdEQUFzRDtBQUN0RCxzR0FBeUY7QUFDekYsc0VBSzBDO0FBQzFDLCtCQUFvQztBQUNwQyxvRUFBMEU7QUFDMUUsc0VBQTJFO0FBQzNFLDRFQUFzRjtBQUN0RixrRUFBd0U7QUFDeEUsb0VBQTBFO0FBQzFFLDhEQUFvRTtBQUNwRSwwRUFBK0U7QUFDL0Usb0ZBQXlGO0FBRXpGLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxLQUFjLEVBQW9DLEVBQUUsQ0FDeEYsT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXpFLE1BQU0sbUNBQW1DLEdBQUcsQ0FBQyxLQUFjLEVBQTJCLEVBQUU7SUFDcEYsSUFBSSxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3RUFBd0UsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUtGLElBQWlCLFFBQVEsQ0FpakJ4QjtBQWpqQkQsV0FBaUIsUUFBUTtJQW1CckI7Ozs7Ozs7Ozs7O09BV0c7SUFFSCxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFzQixTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDNUQ7Ozs7Ozs7Ozs7O1dBV0c7UUFDSSxLQUFLLENBQUMsV0FBVyxDQUNwQixPQUEwQixFQUFFLFFBQXlCLEVBQUUsZ0JBQTBDO1lBRWpHLDBCQUEwQjtZQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWpFLHdDQUF3QztZQUN4QyxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQztZQUM3RSxNQUFNLFVBQVUsR0FBRyxRQUFRLEtBQUssTUFBTSxDQUFDO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqSCxNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsYUFBYSxDQUFDO1lBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFFRCwrQkFBK0I7WUFDL0IsTUFBTSxTQUFTLEdBQXlCLFNBQVMsQ0FBQztZQUNsRCxNQUFNLGNBQWMsR0FBRyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQzFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxZQUFZLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFFckksdUdBQXVHO1lBQ3ZHLE9BQU8sTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBd0MsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbkosQ0FBQztRQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztXQWlCRztRQUNJLEtBQUssQ0FBQywyQkFBMkIsQ0FDcEMsUUFBMkIsRUFDM0IsT0FBMEIsRUFDMUIsZ0JBQWlDLEVBQ2pDLFFBQXlCLEVBQ3pCLGdCQUEwQztZQUUxQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDM0csTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNsRCxNQUFNLGVBQWUsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RCxPQUFPO2dCQUNILEdBQUcsUUFBUTtnQkFDWCxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsSUFBSSxFQUFFO2dCQUNwQyxRQUFRLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7YUFDNUcsQ0FBQTtRQUNMLENBQUM7UUFFRDs7O1dBR0c7UUFDSSxLQUFLLENBQUMsK0JBQStCLENBQ3hDLFFBQWlDLEVBQ2pDLGdCQUFpQyxFQUNqQyxRQUF5QixFQUN6QixnQkFBMEM7WUFFMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQ3BEO2dCQUNJLFNBQVMsRUFBRSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxFQUFFO2FBQ2YsRUFDRDtnQkFDSSxTQUFTLEVBQUUsRUFBRTtnQkFDYixRQUFRO2FBQ1gsRUFDRCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLGdCQUFnQixDQUNuQixDQUFDO1lBQ0YsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQzlCLENBQUM7UUFFRDs7Ozs7OztXQU9HO1FBQ0ksNEJBQTRCLENBQy9CLFFBQWdCLEVBQ2hCLE9BQWUsRUFDZixnQkFBbUQsRUFDbkQsT0FBc0MsRUFDdEMsV0FBNkM7WUFFN0MsaUNBQWlDO1lBQ2pDLFdBQVcsR0FBRyxXQUFXLElBQUksRUFBRSxDQUFDO1lBRWhDLGdFQUFnRTtZQUNoRSxNQUFNLGVBQWUsR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUEsc0NBQW9CLEVBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztZQUVILDJEQUEyRDtZQUMzRCxNQUFNLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUQsTUFBTSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFrQixZQUFZLENBQUMsQ0FBQztZQUN2RCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXpDLDhDQUE4QztZQUM5Qyw2RUFBNkU7WUFDN0UsTUFBTSxjQUFjLEdBQUcsUUFBNEMsQ0FBQztZQUNwRSxNQUFNLGFBQWEsR0FBRyxPQUEyQyxDQUFDO1lBQ2xFLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQW9ELENBQUM7WUFDakYsSUFBSSxtQkFBbUIsRUFBRSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sYUFBYSxDQUFDO1lBQ3pCLENBQUM7WUFDRCxnREFBZ0Q7WUFDaEQsOElBQThJO1lBQzlJLElBQUk7WUFDSixNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxZQUFZLElBQUksbUJBQW1CLElBQUksb0JBQW9CLElBQUksbUJBQW1CLENBQUM7Z0JBQ2pILENBQUMsQ0FBQztvQkFDRSxHQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFzQztvQkFDbEYsR0FBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFzQztpQkFDM0Y7Z0JBQ0gsQ0FBQyxDQUFDLG1CQUFtQixDQUFxQyxDQUFDO1lBRzdELCtCQUErQjtZQUMvQixNQUFNLE1BQU0sR0FBcUM7WUFDN0MsaUJBQWlCO1lBQ2pCLDZEQUE2RDthQUNoRSxDQUFDO1lBRUYsbUNBQW1DO1lBQ25DLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLDZDQUE2QztnQkFDN0MsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLGNBQWMsQ0FBQztnQkFDOUMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFeEUsNENBQTRDO2dCQUM1QyxNQUFNLGNBQWMsR0FBRyxHQUFHLElBQUksYUFBYSxDQUFDO2dCQUM1QyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNyRSxNQUFNLGdCQUFnQixHQUFHLElBQUEsMkJBQVMsRUFBQyxZQUFZLENBQUMsQ0FBQztnQkFFakQsaURBQWlEO2dCQUNqRCxNQUFNLHNCQUFzQixHQUFHLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQztnQkFDNUQsTUFBTSxxQkFBcUIsR0FBRyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzRCxNQUFNLHdCQUF3QixHQUFHLHNCQUFzQjtvQkFDckQsQ0FBQyxDQUFDLG1DQUFtQyxDQUFDLHFCQUFxQixDQUFDO29CQUM1RCxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNkLE1BQU0sdUJBQXVCLEdBQUcsc0JBQXNCLElBQUksQ0FBQyxDQUFDLHdCQUF3Qjt1QkFDL0UsQ0FBQyxZQUFZLElBQUksd0JBQXdCLElBQUksb0JBQW9CLElBQUksd0JBQXdCLENBQUMsQ0FBQztnQkFDcEcsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsSUFBSSxDQUFDLENBQUMsd0JBQXdCLElBQUksVUFBVSxJQUFJLHdCQUF3QixDQUFDO2dCQUM5SCxNQUFNLHFCQUFxQixHQUFHLHNCQUFzQixJQUFJLENBQUMsQ0FBQyx3QkFBd0IsSUFBSSxNQUFNLElBQUksd0JBQXdCLENBQUM7Z0JBQ3pILE1BQU0sc0JBQXNCLEdBQUcsc0JBQXNCLElBQUksQ0FBQyxDQUFDLHdCQUF3QixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO2dCQUMxSSxNQUFNLHFCQUFxQixHQUFHLGVBQWU7b0JBQzNDLENBQUMsQ0FBQyxhQUFhO29CQUNmLENBQUMsQ0FBQyxzQkFBc0I7d0JBQ3RCLENBQUMsQ0FBQyxFQUFFO3dCQUNKLENBQUMsQ0FBQyx1QkFBdUI7NEJBQ3ZCLENBQUMsQ0FBQyxFQUFFOzRCQUNKLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ2xCLE1BQU0seUJBQXlCLEdBQUcsSUFBQSwyQkFBUyxFQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBRW5FLDZDQUE2QztnQkFDN0MsTUFBTSx3QkFBd0IsR0FBRztvQkFDN0IsdUJBQXVCLEVBQUUsdUJBQXVCO29CQUNoRCxzQkFBc0IsRUFBRSxzQkFBc0I7b0JBQzlDLHFCQUFxQixFQUFFLHFCQUFxQjtvQkFDNUMsc0JBQXNCLEVBQUUsc0JBQXNCO2lCQUNqRCxDQUFDO2dCQUNGLElBQUksc0JBQXNCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDcEgsTUFBTSxJQUFJLEtBQUssQ0FBQyxrSUFBa0ksSUFBSSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQzdPLENBQUM7Z0JBRUQsMkRBQTJEO2dCQUMzRCxJQUNJLHNCQUFzQjt1QkFDbkIsY0FBYzt1QkFDZCx5QkFBeUIsS0FBSyxPQUFPO3VCQUNyQyxnQkFBZ0IsS0FBSyxPQUFPLEVBQ2pDLENBQUM7b0JBQ0MsK0ZBQStGO29CQUMvRix5RkFBeUY7b0JBQ3pGLG9IQUFvSDtvQkFDcEgsc0ZBQXNGO29CQUN0RixtR0FBbUc7b0JBQ25HLE1BQU0sbUJBQW1CLEdBQUcsbUNBQW1DLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUN4RyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUksWUFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUF1QixFQUFFLEtBQWEsRUFBRSxFQUFFO3dCQUNyRixJQUFJLG1CQUFtQixDQUFDLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzs0QkFDekYsT0FBTyxjQUFjLENBQUM7d0JBQzFCLENBQUM7d0JBQ0QscUNBQXFDO3dCQUNyQyxNQUFNLFdBQVcsR0FBRyxJQUFBLDJCQUFTLEVBQUMsY0FBYyxDQUFDLENBQUM7d0JBQzlDLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRCQUMzQixtREFBbUQ7NEJBQ25ELGdGQUFnRjs0QkFDaEYsdUVBQXVFOzRCQUN2RSxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7NEJBQzNCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDOzRCQUM3QyxNQUFNLFVBQVUsR0FBRyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSxzQ0FBb0IsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7NEJBQ3hGLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxFQUFFO2dDQUN0RCxlQUFlLEVBQUUsZUFBZTtnQ0FDaEMsY0FBYyxFQUFFLGNBQWM7Z0NBQzlCLG1CQUFtQixFQUFFLG1CQUFtQjtnQ0FDeEMsVUFBVSxFQUFFLFVBQVU7Z0NBQ3RCLE9BQU8sRUFBRSxPQUFPOzZCQUNuQixDQUFDLENBQUM7NEJBQ0gsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsZUFBZSxFQUFFLGNBQXdCLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE9BQTBDLENBQUMsQ0FBQzt3QkFDckssQ0FBQzs2QkFBTSxDQUFDOzRCQUNKLDRFQUE0RTs0QkFDNUUsT0FBTyxjQUFjLENBQUM7d0JBQzFCLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7Z0JBRVAsQ0FBQztxQkFBTSxJQUNILHVCQUF1Qjt1QkFDcEIsY0FBYzt1QkFDZCx5QkFBeUIsS0FBSyxRQUFRO3VCQUN0QyxnQkFBZ0IsS0FBSyxRQUFRLEVBQ2xDLENBQUM7b0JBQ0MsaUdBQWlHO29CQUNqRyx5Q0FBeUM7b0JBQ3pDLE1BQU0sbUJBQW1CLEdBQUcscUJBQWdELENBQUM7b0JBQzdFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ3RDLE1BQU0sVUFBVSxHQUFHLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNDQUFvQixFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDeEYsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxxQkFBK0IsRUFBRSxZQUFzQixFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxPQUEwQyxDQUFDLENBQUM7Z0JBRTFMLENBQUM7cUJBQU0sSUFBSSxzQkFBc0IsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbEQseURBQXlEO29CQUN6RCxxREFBcUQ7b0JBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7Z0JBRS9CLENBQUM7cUJBQU0sSUFBSSxlQUFlLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4RCx1REFBdUQ7b0JBQ3ZELDJCQUEyQjtvQkFDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsQ0FBQztZQUNMLENBQUM7WUFFRDs7Ozs7Ozs7ZUFRRztZQUVILE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRDs7Ozs7V0FLRztRQUNJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FDM0MsSUFBcUIsRUFBRSxRQUF5QixFQUFFLGdCQUEwQztZQUU1RixNQUFNLFdBQVcsR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7WUFFdEYsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQ7Ozs7O1dBS0c7UUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQ2pDLElBQXFCLEVBQUUsUUFBeUIsRUFBRSxnQkFBMEM7WUFFNUYsTUFBTSxXQUFXLEdBQUcsSUFBSSw4Q0FBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO1lBRXRGLE1BQU0sT0FBTyxHQUFHLElBQUksMERBQWtDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0ksY0FBYyxDQUNqQixRQUFpQixFQUNqQixPQUFnQixFQUNoQixJQUFzQztZQUV0QyxPQUFPLElBQUEsa0NBQWdCLEVBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLE1BQU07UUFDTiwyRkFBMkY7UUFDM0YsS0FBSztRQUNMLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsK0NBQStDO1FBQy9DLDZEQUE2RDtRQUM3RCxNQUFNO1FBQ04sMENBQTBDO1FBQzFDLCtEQUErRDtRQUMvRCw4Q0FBOEM7UUFDOUMsZ0NBQWdDO1FBQ2hDLGdHQUFnRztRQUNoRyxxRUFBcUU7UUFDckUsbUJBQW1CO1FBQ25CLDBDQUEwQztRQUMxQyxJQUFJO1FBRUosdUJBQXVCO1FBQ3ZCLE1BQU07UUFDTiwyRkFBMkY7UUFDM0YsS0FBSztRQUNMLCtEQUErRDtRQUMvRCxtRUFBbUU7UUFDbkUsTUFBTTtRQUNOLHlHQUF5RztRQUN6RyxTQUFTO1FBQ1Qsb0NBQW9DO1FBQ3BDLHVEQUF1RDtRQUN2RCw4SEFBOEg7UUFDOUgsK0JBQStCO1FBQy9CLHNDQUFzQztRQUN0QyxpR0FBaUc7UUFDakcsNkNBQTZDO1FBQzdDLGdFQUFnRTtRQUNoRSwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLFNBQVM7UUFDVCwwQ0FBMEM7UUFDMUMsSUFBSTtRQUVKOzs7Ozs7V0FNRztRQUNJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FDMUMsTUFBeUIsRUFDekIsdUJBQWtDLEVBQ2xDLGdCQUEwQztZQUUxQyw2QkFBNkI7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWhELHVFQUF1RTtZQUN2RSxrREFBa0Q7WUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFFdkMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQztZQUM1RSwrQkFBK0I7WUFDL0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pILE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUVELDhGQUE4RjtZQUM5RixNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztZQUVqRSxNQUFNLFdBQVcsR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQzFDLElBQUksRUFBRSxVQUFVO2dCQUNoQixRQUFRO2dCQUNSLGdCQUFnQjtnQkFDaEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksRUFBRTthQUMvQixDQUFDLENBQUM7WUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ25CLElBQUksRUFBRSxXQUFXO2dCQUNqQix1QkFBdUIsRUFBRSx1QkFBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDM0Qsb0JBQW9CO2FBQ3JCLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRDs7OztXQUlHO1FBQ0ssOEJBQThCLENBQUMsSUFBcUI7WUFDeEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXVDLENBQUM7WUFFdkUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFrQyxFQUFFLEVBQUU7Z0JBQzFELE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUE0QyxDQUFDO2dCQUN0RSxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsTUFBNkMsQ0FBQztnQkFDekUsSUFBSSxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUM1RSxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQzdCLENBQUM7Z0JBRUQsTUFBTSxlQUFlLEdBQUksU0FBUyxFQUFFLFNBQWlELEVBQUUsTUFFMUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ25CLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDaEUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdkIsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNwQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUErQixDQUFDLENBQUMsQ0FBQztvQkFDNUUsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFFSCxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO2dCQUN4RCxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztvQkFDbkMsY0FBYyxDQUFDLGVBQTBDLENBQUMsQ0FBQztnQkFDL0QsQ0FBQztZQUNMLENBQUMsQ0FBQztZQUVGLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1lBQ3pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUErQixDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDO1lBRUQsT0FBTyxNQUFvQyxDQUFDO1FBQ2hELENBQUM7UUFFRDs7Ozs7Ozs7O1dBU0c7UUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQzlCLElBQXFCLEVBQ3JCLFFBQXlCLEVBQ3pCLFNBQW9CLEVBQ3BCLGNBQStDLEVBQy9DLGdCQUEwQztZQUUxQyxNQUFNLFdBQVcsR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLGVBQWUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUNwSCxNQUFNLFlBQVksR0FBRyxJQUFJLG1EQUE0QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRSxNQUFNLFlBQVksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRTtnQkFDM0QsdUJBQXVCLEVBQUUsY0FBYyxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssU0FBUzthQUNqRixDQUFDLENBQUM7WUFDSCxNQUFNLHVCQUF1QixHQUFHLElBQUksNkRBQWlDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25GLE1BQU0sdUJBQXVCLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFOUQsTUFBTSxhQUFhLEdBQUcsSUFBSSx3Q0FBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxhQUFhLENBQUMsS0FBSyxDQUFDO2dCQUMzQyxJQUFJLEVBQUUsZUFBZTtnQkFDckIsUUFBUTtnQkFDUixTQUFTO2dCQUNULGdCQUFnQjthQUNqQixDQUFDLENBQUM7WUFFSCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7WUFFaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSw0Q0FBeUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRDs7OztXQUlHO1FBQ0ssYUFBYSxDQUFDLElBQWE7WUFJL0IsTUFBTSxXQUFXLEdBQUcsSUFBQSwyQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQStCLENBQUMsQ0FBQztnQkFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sSUFBSSxXQUFXLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sT0FBTyxHQUFrQyxJQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDO1FBRUQ7Ozs7O1dBS0c7UUFDSyxvQkFBb0IsQ0FBQyxJQUFlLEVBQUUsS0FBZ0I7WUFDMUQsT0FBTyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDM0YsQ0FBQztLQUNKLENBQUE7SUFoaEJZLHFCQUFxQjtRQURqQywyREFBdUI7T0FDWCxxQkFBcUIsQ0FnaEJqQztJQWhoQlksOEJBQXFCLHdCQWdoQmpDLENBQUE7QUFDTCxDQUFDLEVBampCZ0IsUUFBUSx3QkFBUixRQUFRLFFBaWpCeEIifQ==
|
|
518
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVJlY29yZENvbnNpc3RlbmN5U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9Gb3JtUmVjb3JkQ29uc2lzdGVuY3lTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7Ozs7Ozs7O0FBRTlELGdEQUFzRDtBQUN0RCxzR0FBeUY7QUFDekYsc0VBSTBDO0FBQzFDLCtCQUFvQztBQUNwQyxvRUFBMEU7QUFDMUUsc0VBQTJFO0FBQzNFLDRFQUFzRjtBQUN0RixrRUFBd0U7QUFDeEUsb0VBQTBFO0FBQzFFLDhEQUFvRTtBQUNwRSwwRUFBK0U7QUFDL0Usb0ZBQXlGO0FBS3pGLElBQWlCLFFBQVEsQ0FxbEJ4QjtBQXJsQkQsV0FBaUIsUUFBUTtJQTBDckI7Ozs7Ozs7Ozs7O09BV0c7SUFFSCxJQUFhLHFCQUFxQixHQUFsQyxNQUFhLHFCQUFzQixTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDNUQ7Ozs7Ozs7Ozs7O1dBV0c7UUFDSSxLQUFLLENBQUMsV0FBVyxDQUNwQixPQUEwQixFQUFFLFFBQXlCLEVBQUUsZ0JBQTBDO1lBRWpHLDBCQUEwQjtZQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBRWpFLHdDQUF3QztZQUN4QyxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQztZQUM3RSxNQUFNLFVBQVUsR0FBRyxRQUFRLEtBQUssTUFBTSxDQUFDO1lBQ3ZDLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqSCxNQUFNLFVBQVUsR0FBRyxVQUFVLEVBQUUsYUFBYSxDQUFDO1lBQzdDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFFRCwrQkFBK0I7WUFDL0IsTUFBTSxTQUFTLEdBQXlCLFNBQVMsQ0FBQztZQUNsRCxNQUFNLGNBQWMsR0FBRyxRQUFRLEVBQUUsUUFBUSxDQUFDO1lBQzFDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxZQUFZLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFFckksdUdBQXVHO1lBQ3ZHLE9BQU8sTUFBTSxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBd0MsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDbkosQ0FBQztRQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztXQWlCRztRQUNJLEtBQUssQ0FBQywyQkFBMkIsQ0FDcEMsUUFBMkIsRUFDM0IsT0FBMEIsRUFDMUIsZ0JBQWlDLEVBQ2pDLFFBQXlCLEVBQ3pCLGdCQUEwQztZQUUxQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDM0csTUFBTSxnQkFBZ0IsR0FBRyxRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNsRCxNQUFNLGVBQWUsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RCxPQUFPO2dCQUNILEdBQUcsUUFBUTtnQkFDWCxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsSUFBSSxFQUFFO2dCQUNwQyxRQUFRLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7YUFDNUcsQ0FBQTtRQUNMLENBQUM7UUFFRDs7Ozs7OztXQU9HO1FBQ0ksNEJBQTRCLENBQy9CLFFBQWdCLEVBQ2hCLE9BQWUsRUFDZixnQkFBbUQsRUFDbkQsT0FBc0MsRUFDdEMsV0FBNkM7WUFFN0MsaUNBQWlDO1lBQ2pDLFdBQVcsR0FBRyxXQUFXLElBQUksRUFBRSxDQUFDO1lBRWhDLGdFQUFnRTtZQUNoRSxNQUFNLGVBQWUsR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN4QyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUEsc0NBQW9CLEVBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztZQUVILDJEQUEyRDtZQUMzRCxNQUFNLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUQsTUFBTSxFQUFDLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFrQixZQUFZLENBQUMsQ0FBQztZQUN2RCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXpDLDhDQUE4QztZQUM5Qyw2RUFBNkU7WUFDN0UsTUFBTSxjQUFjLEdBQUcsUUFBNEMsQ0FBQztZQUNwRSxNQUFNLGFBQWEsR0FBRyxPQUEyQyxDQUFDO1lBQ2xFLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQW9ELENBQUM7WUFDakYsZ0RBQWdEO1lBQ2hELDhJQUE4STtZQUM5SSxJQUFJO1lBQ0osTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsWUFBWSxJQUFJLG1CQUFtQixDQUFDO2dCQUNsRSxDQUFDLENBQUUsbUJBQW1CLENBQUMsWUFBWSxDQUFzQztnQkFDekUsQ0FBQyxDQUFDLG1CQUFtQixDQUFxQyxDQUFDO1lBRzdELCtCQUErQjtZQUMvQixNQUFNLE1BQU0sR0FBcUM7WUFDN0MsaUJBQWlCO1lBQ2pCLDZEQUE2RDthQUNoRSxDQUFDO1lBRUYsbUNBQW1DO1lBQ25DLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLDZDQUE2QztnQkFDN0MsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLGNBQWMsQ0FBQztnQkFDOUMsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDeEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFBLDJCQUFTLEVBQUMsYUFBYSxDQUFDLENBQUM7Z0JBRW5ELDRDQUE0QztnQkFDNUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxJQUFJLGFBQWEsQ0FBQztnQkFDNUMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDckUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDJCQUFTLEVBQUMsWUFBWSxDQUFDLENBQUM7Z0JBRWpELGlEQUFpRDtnQkFDakQsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLElBQUkscUJBQXFCLENBQUM7Z0JBQzVELE1BQU0scUJBQXFCLEdBQUcscUJBQXFCLEVBQUUsQ0FBQyxHQUFHLENBQXdDLENBQUM7Z0JBQ2xHLE1BQU0sdUJBQXVCLEdBQUcsc0JBQXNCLElBQUksQ0FBQyxDQUFDLHFCQUFxQixJQUFJLFlBQVksSUFBSSxxQkFBcUIsQ0FBQztnQkFDM0gsTUFBTSxzQkFBc0IsR0FBRyxzQkFBc0IsSUFBSSxDQUFDLENBQUMscUJBQXFCLElBQUksVUFBVSxJQUFJLHFCQUFxQixDQUFDO2dCQUN4SCxNQUFNLHFCQUFxQixHQUFHLHNCQUFzQixJQUFJLENBQUMsQ0FBQyxxQkFBcUIsSUFBSSxNQUFNLElBQUkscUJBQXFCLENBQUM7Z0JBQ25ILE1BQU0sc0JBQXNCLEdBQUcsc0JBQXNCLElBQUksQ0FBQyxDQUFDLHFCQUFxQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO2dCQUVwSSw2Q0FBNkM7Z0JBQzdDLE1BQU0sd0JBQXdCLEdBQUc7b0JBQzdCLHVCQUF1QixFQUFFLHVCQUF1QjtvQkFDaEQsc0JBQXNCLEVBQUUsc0JBQXNCO29CQUM5QyxxQkFBcUIsRUFBRSxxQkFBcUI7b0JBQzVDLHNCQUFzQixFQUFFLHNCQUFzQjtpQkFDakQsQ0FBQztnQkFDRixJQUFJLHNCQUFzQixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ3BILE1BQU0sSUFBSSxLQUFLLENBQUMsa0lBQWtJLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUMsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUM3TyxDQUFDO2dCQUVELDJEQUEyRDtnQkFDM0QsSUFDSSxzQkFBc0I7dUJBQ25CLGVBQWU7dUJBQ2YsY0FBYzt1QkFDZCxpQkFBaUIsS0FBSyxPQUFPO3VCQUM3QixnQkFBZ0IsS0FBSyxPQUFPLEVBQ2pDLENBQUM7b0JBQ0MsK0ZBQStGO29CQUMvRix5RkFBeUY7b0JBQ3pGLG9IQUFvSDtvQkFDcEgsc0ZBQXNGO29CQUN0RixtR0FBbUc7b0JBQ25HLE1BQU0sbUJBQW1CLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUE0QixDQUFDO29CQUN6RixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUksWUFBMEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUF1QixFQUFFLEtBQWEsRUFBRSxFQUFFO3dCQUNyRixxQ0FBcUM7d0JBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUEsMkJBQVMsRUFBQyxjQUFjLENBQUMsQ0FBQzt3QkFDOUMsSUFBSSxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7NEJBQzNCLG1EQUFtRDs0QkFDbkQsZ0ZBQWdGOzRCQUNoRix1RUFBdUU7NEJBQ3ZFLE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQzs0QkFDM0IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFdBQVcsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQzdDLE1BQU0sVUFBVSxHQUFHLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNDQUFvQixFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDeEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0NBQXNDLEVBQUU7Z0NBQ3RELGVBQWUsRUFBRSxlQUFlO2dDQUNoQyxjQUFjLEVBQUUsY0FBYztnQ0FDOUIsbUJBQW1CLEVBQUUsbUJBQW1CO2dDQUN4QyxVQUFVLEVBQUUsVUFBVTtnQ0FDdEIsT0FBTyxFQUFFLE9BQU87NkJBQ25CLENBQUMsQ0FBQzs0QkFDSCxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLEVBQUUsY0FBd0IsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsT0FBMEMsQ0FBQyxDQUFDO3dCQUNySyxDQUFDOzZCQUFNLENBQUM7NEJBQ0osNEVBQTRFOzRCQUM1RSxPQUFPLGNBQWMsQ0FBQzt3QkFDMUIsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFFUCxDQUFDO3FCQUFNLElBQ0gsdUJBQXVCO3VCQUNwQixlQUFlO3VCQUNmLGNBQWM7dUJBQ2QsaUJBQWlCLEtBQUssUUFBUTt1QkFDOUIsZ0JBQWdCLEtBQUssUUFBUSxFQUNsQyxDQUFDO29CQUNDLGlHQUFpRztvQkFDakcseUNBQXlDO29CQUN6QyxNQUFNLG1CQUFtQixHQUFHLHFCQUFnRCxDQUFDO29CQUM3RSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUN0QyxNQUFNLFVBQVUsR0FBRyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSxzQ0FBb0IsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7b0JBQ3hGLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsYUFBdUIsRUFBRSxZQUFzQixFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxPQUEwQyxDQUFDLENBQUM7Z0JBRWxMLENBQUM7cUJBQU0sSUFBSSxzQkFBc0IsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbEQseURBQXlEO29CQUN6RCxxREFBcUQ7b0JBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7Z0JBRS9CLENBQUM7cUJBQU0sSUFBSSxlQUFlLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN4RCx1REFBdUQ7b0JBQ3ZELDJCQUEyQjtvQkFDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQztnQkFDaEMsQ0FBQztZQUNMLENBQUM7WUFFRDs7Ozs7Ozs7ZUFRRztZQUVILE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7UUFFRDs7Ozs7V0FLRztRQUNJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FDM0MsSUFBcUIsRUFBRSxRQUF5QixFQUFFLGdCQUEwQztZQUU1RixNQUFNLFdBQVcsR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7WUFFdEYsTUFBTSxPQUFPLEdBQUcsSUFBSSwrQ0FBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUQsT0FBTyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBRUQ7Ozs7O1dBS0c7UUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQ2pDLElBQXFCLEVBQUUsUUFBeUIsRUFBRSxnQkFBMEM7WUFFNUYsTUFBTSxXQUFXLEdBQUcsSUFBSSw4Q0FBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFDO1lBRXRGLE1BQU0sT0FBTyxHQUFHLElBQUksMERBQWtDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sTUFBTSxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0ksY0FBYyxDQUNqQixRQUFpQixFQUNqQixPQUFnQixFQUNoQixJQUFzQztZQUV0QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixNQUFNLE1BQU0sR0FBa0MsRUFBRSxDQUFDO1lBQ2pELE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDaEQsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM5QyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsZUFBZSxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDL0UsTUFBTSxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BGLE1BQU0sRUFBQyxPQUFPLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRixNQUFNLGNBQWMsR0FBRyxRQUE0QyxDQUFDO2dCQUNwRSxNQUFNLGFBQWEsR0FBRyxPQUEyQyxDQUFDO2dCQUVsRSxTQUFTO2dCQUNULEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxlQUFlLEVBQUUsQ0FBQztvQkFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDL0IsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDakQsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFFckUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNsQixxQkFBcUI7d0JBQ3JCLE1BQU0sQ0FBQyxJQUFJLENBQUM7NEJBQ1IsSUFBSSxFQUFFLFFBQVE7NEJBQ2QsSUFBSSxFQUFFLE9BQU87NEJBQ2IsUUFBUSxFQUFFLEtBQUs7NEJBQ2YsT0FBTyxFQUFFLFlBQVk7eUJBQ3hCLENBQUMsQ0FBQztvQkFDUCxDQUFDO3lCQUFNLElBQUksY0FBYyxJQUFJLFlBQVksS0FBSyxLQUFLLEVBQUUsQ0FBQzt3QkFDbEQsMkJBQTJCO3dCQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDOzZCQUM1QyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RDLENBQUM7Z0JBQ0wsQ0FBQztnQkFFRCxNQUFNO2dCQUNOLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztvQkFDL0IsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDbkQsTUFBTSxhQUFhLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQkFDeEUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO3dCQUNuQixrQkFBa0I7d0JBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUM7NEJBQ1IsSUFBSSxFQUFFLEtBQUs7NEJBQ1gsSUFBSSxFQUFFLE9BQU87NEJBQ2IsUUFBUSxFQUFFLGFBQWE7NEJBQ3ZCLE9BQU8sRUFBRSxLQUFLO3lCQUNqQixDQUFDLENBQUM7b0JBQ1AsQ0FBQztnQkFDTCxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDUixJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsSUFBSTtvQkFDVixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsT0FBTyxFQUFFLE9BQU87aUJBQ25CLENBQUMsQ0FBQztZQUNQLENBQUM7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLE1BQU07UUFDTiwyRkFBMkY7UUFDM0YsS0FBSztRQUNMLDBDQUEwQztRQUMxQyxLQUFLO1FBQ0wsK0NBQStDO1FBQy9DLDZEQUE2RDtRQUM3RCxNQUFNO1FBQ04sMENBQTBDO1FBQzFDLCtEQUErRDtRQUMvRCw4Q0FBOEM7UUFDOUMsZ0NBQWdDO1FBQ2hDLGdHQUFnRztRQUNoRyxxRUFBcUU7UUFDckUsbUJBQW1CO1FBQ25CLDBDQUEwQztRQUMxQyxJQUFJO1FBRUosdUJBQXVCO1FBQ3ZCLE1BQU07UUFDTiwyRkFBMkY7UUFDM0YsS0FBSztRQUNMLCtEQUErRDtRQUMvRCxtRUFBbUU7UUFDbkUsTUFBTTtRQUNOLHlHQUF5RztRQUN6RyxTQUFTO1FBQ1Qsb0NBQW9DO1FBQ3BDLHVEQUF1RDtRQUN2RCw4SEFBOEg7UUFDOUgsK0JBQStCO1FBQy9CLHNDQUFzQztRQUN0QyxpR0FBaUc7UUFDakcsNkNBQTZDO1FBQzdDLGdFQUFnRTtRQUNoRSwwRUFBMEU7UUFDMUUsaUJBQWlCO1FBQ2pCLFNBQVM7UUFDVCwwQ0FBMEM7UUFDMUMsSUFBSTtRQUVKOzs7Ozs7V0FNRztRQUNJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FDMUMsTUFBeUIsRUFDekIsdUJBQWtDLEVBQ2xDLGdCQUEwQztZQUUxQyw2QkFBNkI7WUFDN0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWhELHVFQUF1RTtZQUN2RSxrREFBa0Q7WUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLE1BQU0sVUFBVSxHQUFHLFFBQVEsS0FBSyxNQUFNLENBQUM7WUFFdkMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQztZQUM1RSwrQkFBK0I7WUFDL0IsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ2pILE1BQU0sVUFBVSxHQUFHLFVBQVUsRUFBRSxhQUFhLENBQUM7WUFDN0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDMUUsQ0FBQztZQUVELDhGQUE4RjtZQUM5RixNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztZQUVqRSxNQUFNLFdBQVcsR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLFdBQVcsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQzFDLElBQUksRUFBRSxVQUFVO2dCQUNoQixRQUFRO2dCQUNSLGdCQUFnQjtnQkFDaEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksRUFBRTthQUMvQixDQUFDLENBQUM7WUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1RCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ25CLElBQUksRUFBRSxXQUFXO2dCQUNqQix1QkFBdUIsRUFBRSx1QkFBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDM0Qsb0JBQW9CO2FBQ3JCLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRDs7OztXQUlHO1FBQ0ssOEJBQThCLENBQUMsSUFBcUI7WUFDeEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQXVDLENBQUM7WUFFdkUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFrQyxFQUFFLEVBQUU7Z0JBQzFELE1BQU0sS0FBSyxHQUFHLFNBQVMsRUFBRSxLQUE0QyxDQUFDO2dCQUN0RSxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsTUFBNkMsQ0FBQztnQkFDekUsSUFBSSxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUM1RSxPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7Z0JBQzdCLENBQUM7Z0JBRUQsTUFBTSxlQUFlLEdBQUksU0FBUyxFQUFFLFNBQWlELEVBQUUsTUFFMUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ25CLE9BQU87Z0JBQ1gsQ0FBQztnQkFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDaEUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDdkIsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNwQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzt3QkFDeEIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUErQixDQUFDLENBQUMsQ0FBQztvQkFDNUUsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFFSCxNQUFNLGVBQWUsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO2dCQUN4RCxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztvQkFDbkMsY0FBYyxDQUFDLGVBQTBDLENBQUMsQ0FBQztnQkFDL0QsQ0FBQztZQUNMLENBQUMsQ0FBQztZQUVGLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDO1lBQ3pELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUErQixDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDO1lBRUQsT0FBTyxNQUFvQyxDQUFDO1FBQ2hELENBQUM7UUFFRDs7Ozs7Ozs7O1dBU0c7UUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQzlCLElBQXFCLEVBQ3JCLFFBQXlCLEVBQ3pCLFNBQW9CLEVBQ3BCLGNBQStDLEVBQy9DLGdCQUEwQztZQUUxQyxNQUFNLFdBQVcsR0FBRyxJQUFJLDhDQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNoRSxNQUFNLGVBQWUsR0FBRyxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUNwSCxNQUFNLFlBQVksR0FBRyxJQUFJLG1EQUE0QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRSxNQUFNLFlBQVksQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRTtnQkFDM0QsdUJBQXVCLEVBQUUsY0FBYyxLQUFLLElBQUksSUFBSSxjQUFjLEtBQUssU0FBUzthQUNqRixDQUFDLENBQUM7WUFDSCxNQUFNLHVCQUF1QixHQUFHLElBQUksNkRBQWlDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25GLE1BQU0sdUJBQXVCLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDckUsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFOUQsTUFBTSxhQUFhLEdBQUcsSUFBSSx3Q0FBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxhQUFhLENBQUMsS0FBSyxDQUFDO2dCQUMzQyxJQUFJLEVBQUUsZUFBZTtnQkFDckIsUUFBUTtnQkFDUixTQUFTO2dCQUNULGdCQUFnQjthQUNqQixDQUFDLENBQUM7WUFFSCxNQUFNLElBQUksR0FBRyxVQUFVLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUM7WUFFaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSw0Q0FBeUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxNQUFNLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRDs7OztXQUlHO1FBQ0ssYUFBYSxDQUFDLElBQWE7WUFJL0IsTUFBTSxXQUFXLEdBQUcsSUFBQSwyQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksV0FBVyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQStCLENBQUMsQ0FBQztnQkFDaEUsT0FBTyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO1lBQzVELENBQUM7aUJBQU0sSUFBSSxXQUFXLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sT0FBTyxHQUFrQyxJQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osT0FBTyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQyxDQUFDO1lBQ25DLENBQUM7UUFDTCxDQUFDO1FBRUQ7Ozs7O1dBS0c7UUFDSyxvQkFBb0IsQ0FBQyxJQUFlLEVBQUUsS0FBZ0I7WUFDMUQsT0FBTyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFDM0YsQ0FBQztLQUNKLENBQUE7SUE3aEJZLHFCQUFxQjtRQURqQywyREFBdUI7T0FDWCxxQkFBcUIsQ0E2aEJqQztJQTdoQlksOEJBQXFCLHdCQTZoQmpDLENBQUE7QUFDTCxDQUFDLEVBcmxCZ0IsUUFBUSx3QkFBUixRQUFRLFFBcWxCeEIifQ==
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { Services as services } from '../CoreService';
|
|
3
3
|
import { BrandingModel } from '../model/storage/BrandingModel';
|
|
4
|
-
import { UserModel } from '../model/storage/UserModel';
|
|
5
4
|
import { FormAttributes } from '../waterline-models/Form';
|
|
6
|
-
import { FormConfigFrame, FormConfigOutline, FormModesConfig, ReusableFormDefinitions
|
|
7
|
-
import type { RecordContractContext, RecordContractFormBuildResult } from '../record-contract/record-contract-context';
|
|
5
|
+
import { FormConfigFrame, FormConfigOutline, FormModesConfig, ReusableFormDefinitions } from "@researchdatabox/sails-ng-common";
|
|
8
6
|
type WorkflowStepLike = {
|
|
9
7
|
id: string;
|
|
10
8
|
config: {
|
|
@@ -13,25 +11,11 @@ type WorkflowStepLike = {
|
|
|
13
11
|
starting?: boolean;
|
|
14
12
|
};
|
|
15
13
|
type RecordLike = {
|
|
16
|
-
redboxOid?: string;
|
|
17
14
|
metaMetadata?: {
|
|
18
|
-
brandId?: string;
|
|
19
15
|
form?: string;
|
|
20
16
|
type?: string;
|
|
21
17
|
};
|
|
22
18
|
metadata?: Record<string, unknown>;
|
|
23
|
-
workflow?: {
|
|
24
|
-
stage?: string;
|
|
25
|
-
stageLabel?: string;
|
|
26
|
-
};
|
|
27
|
-
authorization?: {
|
|
28
|
-
edit?: string[];
|
|
29
|
-
view?: string[];
|
|
30
|
-
editRoles?: string[];
|
|
31
|
-
viewRoles?: string[];
|
|
32
|
-
editPending?: string[];
|
|
33
|
-
viewPending?: string[];
|
|
34
|
-
};
|
|
35
19
|
};
|
|
36
20
|
type FormFieldLike = {
|
|
37
21
|
definition?: {
|
|
@@ -41,42 +25,6 @@ type FormFieldLike = {
|
|
|
41
25
|
needsEditAccess?: boolean;
|
|
42
26
|
[key: string]: unknown;
|
|
43
27
|
};
|
|
44
|
-
export interface FormRecordAccessContext {
|
|
45
|
-
readonly user: FormRecordAccessUser;
|
|
46
|
-
readonly brand: BrandingModel;
|
|
47
|
-
}
|
|
48
|
-
/** Populated role facts available on an authenticated request user. */
|
|
49
|
-
export interface FormRecordAccessRole {
|
|
50
|
-
readonly id: string;
|
|
51
|
-
readonly name: string;
|
|
52
|
-
}
|
|
53
|
-
/** Required Waterline user facts used by record and form access checks. */
|
|
54
|
-
export interface FormRecordAccessUser extends Record<string, unknown> {
|
|
55
|
-
readonly id: string;
|
|
56
|
-
readonly username: string;
|
|
57
|
-
readonly type: string;
|
|
58
|
-
readonly name: string;
|
|
59
|
-
readonly email: string;
|
|
60
|
-
readonly roles: FormRecordAccessRole[];
|
|
61
|
-
}
|
|
62
|
-
export interface ValidationOperationDiscoveryOptions {
|
|
63
|
-
readonly brand: BrandingModel;
|
|
64
|
-
readonly form: FormAttributes;
|
|
65
|
-
readonly recordType?: string;
|
|
66
|
-
readonly record?: RecordLike | null;
|
|
67
|
-
readonly user?: UserModel | Record<string, unknown> | null;
|
|
68
|
-
readonly editable: boolean;
|
|
69
|
-
readonly targetStep?: string;
|
|
70
|
-
}
|
|
71
|
-
/** Detached configured-form input for candidate-independent record-contract startup compilation. */
|
|
72
|
-
export interface ConfiguredRecordContractFormCandidate {
|
|
73
|
-
readonly name: string;
|
|
74
|
-
readonly form: unknown;
|
|
75
|
-
readonly reusableFormDefinitions: unknown;
|
|
76
|
-
}
|
|
77
|
-
export type PublicFormAttributes = FormAttributes & {
|
|
78
|
-
validationOperations?: ValidationOperationDiscovery[];
|
|
79
|
-
};
|
|
80
28
|
export declare namespace Services {
|
|
81
29
|
/**
|
|
82
30
|
* Forms related functions...
|
|
@@ -89,41 +37,14 @@ export declare namespace Services {
|
|
|
89
37
|
protected _exportedMethods: string[];
|
|
90
38
|
bootstrap(workflowStep: WorkflowStepLike, brandingId: string): Promise<unknown>;
|
|
91
39
|
private getFormConfigRegistry;
|
|
92
|
-
/**
|
|
93
|
-
* Snapshot every registered form without selecting a record, actor, workflow,
|
|
94
|
-
* or operation. RecordSchemaService owns validation and compilation of these
|
|
95
|
-
* detached candidates during its awaited startup phase.
|
|
96
|
-
*/
|
|
97
|
-
listConfiguredRecordContractForms(): readonly ConfiguredRecordContractFormCandidate[];
|
|
98
40
|
listForms: (brandingId?: string) => Observable<FormAttributes[]>;
|
|
99
41
|
getFormByName: (formName: string, editMode: boolean, brandingId?: string) => Observable<FormAttributes | null>;
|
|
100
42
|
getForm(branding: BrandingModel, formParam: string, editMode: boolean, recordType: string, currentRec: RecordLike): Promise<FormAttributes | null>;
|
|
101
|
-
/**
|
|
102
|
-
* Remove the server-owned operation policy and add only caller-filtered
|
|
103
|
-
* discovery metadata. Nested form configuration is otherwise preserved for
|
|
104
|
-
* compatibility with existing form clients.
|
|
105
|
-
*/
|
|
106
|
-
toPublicForm(form: FormAttributes, validationOperations?: readonly ValidationOperationDiscovery[]): PublicFormAttributes;
|
|
107
|
-
/**
|
|
108
|
-
* Discover operations using the same form/type/stage policy resolver as a
|
|
109
|
-
* save, after applying existing record-edit and workflow-transition access.
|
|
110
|
-
* Missing services, actor data, or context fail safely to no operations.
|
|
111
|
-
*/
|
|
112
|
-
discoverValidationOperations(options: ValidationOperationDiscoveryOptions): Promise<ValidationOperationDiscovery[]>;
|
|
113
43
|
getFormByStartingWorkflowStep(branding: BrandingModel, recordType: string, _editMode: boolean): Observable<FormAttributes>;
|
|
114
44
|
inferSchemaFromMetadata(record: RecordLike): Record<string, unknown>;
|
|
115
45
|
generateFormFromSchema(branding: BrandingModel, recordType: string, record: RecordLike): Promise<FormConfigFrame | Record<string, unknown>>;
|
|
116
46
|
filterFieldsHasEditAccess(fields: FormFieldLike[], hasEditAccess: boolean): void;
|
|
117
47
|
flattenFields(fields: FormFieldLike[], fieldArr: FormFieldLike[]): void;
|
|
118
|
-
/**
|
|
119
|
-
* Build the translation lookup used to resolve form config default values.
|
|
120
|
-
*
|
|
121
|
-
* Returns undefined when the translation service is not available, so the form
|
|
122
|
-
* config values are left as they are rather than failing to build the form.
|
|
123
|
-
*
|
|
124
|
-
* @param branding The branding name.
|
|
125
|
-
*/
|
|
126
|
-
private buildFormConfigTranslator;
|
|
127
48
|
/**
|
|
128
49
|
* Convert a server-side form config to a client-side form config.
|
|
129
50
|
*
|
|
@@ -133,17 +54,7 @@ export declare namespace Services {
|
|
|
133
54
|
* @param recordMetadata The record metadata.
|
|
134
55
|
* @param reusableFormDefs The reusable form definitions.
|
|
135
56
|
*/
|
|
136
|
-
buildClientFormConfig(item: FormConfigFrame, formMode?: FormModesConfig, userRoles?: string[], recordMetadata?: Record<string, unknown> | null, reusableFormDefs?: ReusableFormDefinitions, branding?: string, contextVariablesMap?: Record<string, unknown
|
|
137
|
-
/**
|
|
138
|
-
* Build the effective form used to compile a record contract.
|
|
139
|
-
*
|
|
140
|
-
* Create contracts deliberately use the form defaults rather than a synthetic
|
|
141
|
-
* record candidate. This keeps candidate-dependent form branches available to
|
|
142
|
-
* the contract compiler. Update contracts use the authoritative existing record.
|
|
143
|
-
*/
|
|
144
|
-
buildContractFormConfig(context: RecordContractContext, recordAccessContext?: FormRecordAccessContext): Promise<RecordContractFormBuildResult>;
|
|
145
|
-
/** Prune known display-only core leaves and structural shells emptied by that pruning. */
|
|
146
|
-
private retainSubmittableContractComponents;
|
|
57
|
+
buildClientFormConfig(item: FormConfigFrame, formMode?: FormModesConfig, userRoles?: string[], recordMetadata?: Record<string, unknown> | null, reusableFormDefs?: ReusableFormDefinitions, branding?: string, contextVariablesMap?: Record<string, unknown>): Promise<FormConfigOutline>;
|
|
147
58
|
private findComponentDefinitionByName;
|
|
148
59
|
}
|
|
149
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormsService.d.ts","sourceRoot":"","sources":["../../src/services/FormsService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAsB,MAAM,MAAM,CAAC;AAEtD,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FormsService.d.ts","sourceRoot":"","sources":["../../src/services/FormsService.ts"],"names":[],"mappings":"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"}
|