@researchdatabox/redbox-core 0.0.1-beta.10213 → 0.0.1-beta.10760
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 +8 -0
- package/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +87 -52
- package/dist/RecordsService.d.ts +2 -0
- package/dist/RecordsService.d.ts.map +1 -1
- package/dist/SearchService.d.ts +1 -1
- package/dist/SearchService.d.ts.map +1 -1
- package/dist/StorageService.d.ts +2 -0
- package/dist/StorageService.d.ts.map +1 -1
- package/dist/api-routes/groups/branding.d.ts +1 -0
- package/dist/api-routes/groups/branding.d.ts.map +1 -1
- package/dist/api-routes/groups/branding.js +19 -2
- package/dist/api-routes/groups/export.js +2 -2
- package/dist/api-routes/groups/figshare-crosswalks.d.ts +11 -0
- package/dist/api-routes/groups/figshare-crosswalks.d.ts.map +1 -0
- package/dist/api-routes/groups/figshare-crosswalks.js +171 -0
- package/dist/api-routes/groups/figshare-vocabulary.d.ts +12 -0
- package/dist/api-routes/groups/figshare-vocabulary.d.ts.map +1 -0
- package/dist/api-routes/groups/figshare-vocabulary.js +248 -0
- package/dist/api-routes/groups/search.js +4 -4
- package/dist/api-routes/groups/users.js +3 -3
- package/dist/api-routes/index.d.ts +2 -0
- package/dist/api-routes/index.d.ts.map +1 -1
- package/dist/api-routes/index.js +3 -1
- package/dist/api-routes/route-registry.d.ts.map +1 -1
- package/dist/api-routes/route-registry.js +5 -1
- package/dist/api-routes/schemas/common.d.ts +1 -0
- package/dist/api-routes/schemas/common.d.ts.map +1 -1
- package/dist/api-routes/schemas/common.js +3 -2
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +5 -1
- package/dist/config/agendaQueue.config.d.ts +3 -0
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +13 -1
- package/dist/config/auth.config.d.ts.map +1 -1
- package/dist/config/auth.config.js +4 -1
- package/dist/config/brandingConfigurationDefaults.config.d.ts +1 -1
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +22 -230
- package/dist/config/dashboardtype.config.d.ts +7 -0
- package/dist/config/dashboardtype.config.d.ts.map +1 -1
- package/dist/config/dashboardtype.config.js +9 -89
- package/dist/config/dashboardview.config.d.ts +7 -0
- package/dist/config/dashboardview.config.d.ts.map +1 -1
- package/dist/config/dashboardview.config.js +9 -134
- package/dist/config/http.config.d.ts +2 -0
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +47 -1
- package/dist/config/jsonld.config.d.ts.map +1 -1
- package/dist/config/jsonld.config.js +2 -21
- package/dist/config/record.config.d.ts.map +1 -1
- package/dist/config/record.config.js +2 -9
- package/dist/config/recordtype.config.d.ts +8 -0
- package/dist/config/recordtype.config.d.ts.map +1 -1
- package/dist/config/recordtype.config.js +10 -660
- package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
- package/dist/config/reusableContributorFormDefinitions.config.js +1 -2
- package/dist/config/reusableViewFormDefinitions.config.d.ts.map +1 -1
- package/dist/config/reusableViewFormDefinitions.config.js +12 -1
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +12 -3
- package/dist/config/solr.config.d.ts +1 -0
- package/dist/config/solr.config.d.ts.map +1 -1
- package/dist/config/solr.config.js +3 -2
- package/dist/config/static_assets.config.d.ts +2 -0
- package/dist/config/static_assets.config.d.ts.map +1 -1
- package/dist/config/static_assets.config.js +4 -2
- package/dist/config/storage.config.d.ts.map +1 -1
- package/dist/config/storage.config.js +7 -1
- package/dist/config/views.config.d.ts.map +1 -1
- package/dist/config/views.config.js +2 -6
- package/dist/config/vocab.config.d.ts +4 -0
- package/dist/config/vocab.config.d.ts.map +1 -1
- package/dist/config/vocab.config.js +1 -1
- package/dist/config/workflow.config.d.ts +7 -0
- package/dist/config/workflow.config.d.ts.map +1 -1
- package/dist/config/workflow.config.js +9 -194
- package/dist/config/workspacetype.config.d.ts +7 -0
- package/dist/config/workspacetype.config.d.ts.map +1 -1
- package/dist/config/workspacetype.config.js +9 -10
- package/dist/configmodels/DoiPublishing.d.ts +1 -1
- package/dist/configmodels/DoiPublishing.d.ts.map +1 -1
- package/dist/configmodels/FigsharePublishing.d.ts +746 -217
- package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
- package/dist/configmodels/FigsharePublishing.js +181 -190
- package/dist/constants/export.d.ts +2 -0
- package/dist/constants/export.d.ts.map +1 -0
- package/dist/constants/export.js +8 -0
- package/dist/controllers/AsynchController.d.ts +4 -1
- package/dist/controllers/AsynchController.d.ts.map +1 -1
- package/dist/controllers/AsynchController.js +118 -9
- package/dist/controllers/BrandingAppController.d.ts +2 -0
- package/dist/controllers/BrandingAppController.d.ts.map +1 -1
- package/dist/controllers/BrandingAppController.js +40 -2
- package/dist/controllers/BrandingController.d.ts +8 -0
- package/dist/controllers/BrandingController.d.ts.map +1 -1
- package/dist/controllers/BrandingController.js +45 -1
- package/dist/controllers/ExportController.d.ts.map +1 -1
- package/dist/controllers/ExportController.js +4 -3
- package/dist/controllers/RecordController.d.ts +1 -1
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +47 -21
- package/dist/controllers/UserController.d.ts.map +1 -1
- package/dist/controllers/UserController.js +3 -2
- package/dist/controllers/VocabularyController.js +4 -4
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +7 -1
- package/dist/controllers/webservice/BrandingController.d.ts +1 -0
- package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
- package/dist/controllers/webservice/BrandingController.js +69 -10
- package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
- package/dist/controllers/webservice/ExportController.js +4 -3
- package/dist/controllers/webservice/FigshareCrosswalkController.d.ts +20 -0
- package/dist/controllers/webservice/FigshareCrosswalkController.d.ts.map +1 -0
- package/dist/controllers/webservice/FigshareCrosswalkController.js +184 -0
- package/dist/controllers/webservice/FigshareVocabularyController.d.ts +21 -0
- package/dist/controllers/webservice/FigshareVocabularyController.d.ts.map +1 -0
- package/dist/controllers/webservice/FigshareVocabularyController.js +223 -0
- package/dist/controllers/webservice/RecordController.d.ts +2 -0
- package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
- package/dist/controllers/webservice/RecordController.js +60 -12
- package/dist/controllers/webservice/UserManagementController.d.ts +5 -3
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/UserManagementController.js +140 -9
- package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts +14 -0
- package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts.map +1 -0
- package/dist/controllers/webservice/figshare-vocabulary-errors.js +39 -0
- package/dist/form-config/index.d.ts +7 -0
- package/dist/form-config/index.d.ts.map +1 -1
- package/dist/form-config/index.js +8 -5
- package/dist/hooks/hookDiscovery.d.ts +20 -0
- package/dist/hooks/hookDiscovery.d.ts.map +1 -0
- package/dist/hooks/hookDiscovery.js +186 -0
- package/dist/hooks/hookResources.d.ts +23 -0
- package/dist/hooks/hookResources.d.ts.map +1 -0
- package/dist/hooks/hookResources.js +136 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +14 -2
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- package/dist/loader/index.d.ts.map +1 -1
- package/dist/loader/index.js +21 -62
- package/dist/model/storage/BrandingModel.d.ts +2 -0
- package/dist/model/storage/BrandingModel.d.ts.map +1 -1
- package/dist/model/storage/BrandingModel.js +3 -1
- package/dist/services/AgendaQueueService.d.ts.map +1 -1
- package/dist/services/AgendaQueueService.js +6 -2
- package/dist/services/BrandingLogoService.d.ts +20 -1
- package/dist/services/BrandingLogoService.d.ts.map +1 -1
- package/dist/services/BrandingLogoService.js +51 -5
- package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
- package/dist/services/BrandingThemeTokens.js +2 -1
- package/dist/services/EmailService.d.ts +2 -8
- package/dist/services/EmailService.d.ts.map +1 -1
- package/dist/services/EmailService.js +8 -26
- package/dist/services/FigshareService.d.ts.map +1 -1
- package/dist/services/FigshareService.js +5 -4
- package/dist/services/FigshareVocabularyService.d.ts +442 -0
- package/dist/services/FigshareVocabularyService.d.ts.map +1 -0
- package/dist/services/FigshareVocabularyService.js +1802 -0
- package/dist/services/FormVocabularyService.d.ts.map +1 -1
- package/dist/services/FormVocabularyService.js +28 -7
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +21 -2
- package/dist/services/IntegrationAuditService.js +4 -4
- package/dist/services/NamedQueryService.d.ts.map +1 -1
- package/dist/services/NamedQueryService.js +3 -16
- package/dist/services/RDMPService.d.ts.map +1 -1
- package/dist/services/RDMPService.js +9 -1
- package/dist/services/RecordsService.d.ts +4 -0
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +62 -45
- package/dist/services/ReportsService.d.ts +0 -5
- package/dist/services/ReportsService.d.ts.map +1 -1
- package/dist/services/ReportsService.js +22 -31
- package/dist/services/SolrSearchService.d.ts +10 -2
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +110 -52
- package/dist/services/StandardDatastreamService.d.ts +7 -0
- package/dist/services/StandardDatastreamService.d.ts.map +1 -1
- package/dist/services/StandardDatastreamService.js +127 -27
- package/dist/services/TemplateService.d.ts +0 -14
- package/dist/services/TemplateService.d.ts.map +1 -1
- package/dist/services/TemplateService.js +4 -45
- package/dist/services/UsersService.d.ts.map +1 -1
- package/dist/services/UsersService.js +19 -16
- package/dist/services/ViewUtilsService.d.ts +5 -1
- package/dist/services/ViewUtilsService.d.ts.map +1 -1
- package/dist/services/ViewUtilsService.js +38 -46
- package/dist/services/VocabularyService.d.ts +11 -2
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +46 -20
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +2 -11
- package/dist/services/figshare-v2/assets.d.ts +2 -1
- package/dist/services/figshare-v2/assets.d.ts.map +1 -1
- package/dist/services/figshare-v2/assets.js +144 -89
- package/dist/services/figshare-v2/bindings.d.ts +28 -3
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +75 -17
- package/dist/services/figshare-v2/categories.d.ts +142 -0
- package/dist/services/figshare-v2/categories.d.ts.map +1 -0
- package/dist/services/figshare-v2/categories.js +408 -0
- package/dist/services/figshare-v2/config.d.ts +10 -0
- package/dist/services/figshare-v2/config.d.ts.map +1 -1
- package/dist/services/figshare-v2/config.js +39 -1
- package/dist/services/figshare-v2/context.d.ts +18 -1
- package/dist/services/figshare-v2/context.d.ts.map +1 -1
- package/dist/services/figshare-v2/context.js +34 -2
- package/dist/services/figshare-v2/embargo.d.ts.map +1 -1
- package/dist/services/figshare-v2/embargo.js +6 -4
- package/dist/services/figshare-v2/http.d.ts +3 -1
- package/dist/services/figshare-v2/http.d.ts.map +1 -1
- package/dist/services/figshare-v2/http.js +26 -4
- package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
- package/dist/services/figshare-v2/metadata.js +74 -26
- package/dist/services/figshare-v2/observability.d.ts +1 -2
- package/dist/services/figshare-v2/observability.d.ts.map +1 -1
- package/dist/services/figshare-v2/observability.js +7 -47
- package/dist/services/figshare-v2/types.d.ts +13 -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/vocabulary-errors.d.ts +39 -0
- package/dist/services/figshare-v2/vocabulary-errors.d.ts.map +1 -0
- package/dist/services/figshare-v2/vocabulary-errors.js +68 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -3
- package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
- package/dist/storage/TusStorageManagerDataStore.js +14 -1
- package/dist/utilities/ContextVariableUtils.d.ts +3 -1
- package/dist/utilities/ContextVariableUtils.d.ts.map +1 -1
- package/dist/utilities/ContextVariableUtils.js +25 -7
- package/dist/utilities/PromiseUtils.d.ts +9 -0
- package/dist/utilities/PromiseUtils.d.ts.map +1 -0
- package/dist/utilities/PromiseUtils.js +27 -0
- package/dist/utilities/RedactionUtils.d.ts +3 -0
- package/dist/utilities/RedactionUtils.d.ts.map +1 -0
- package/dist/utilities/RedactionUtils.js +55 -0
- package/dist/visitor/client.visitor.d.ts +3 -0
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +102 -17
- package/dist/visitor/construct.visitor.d.ts +3 -0
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +51 -38
- package/dist/visitor/json-type-def.visitor.d.ts +1 -0
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +20 -4
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +6 -3
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +94 -44
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +1 -1
- package/dist/visitor/visitor-helpers.js +2 -2
- package/dist/waterline-models/BrandingConfig.d.ts +2 -0
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfig.js +6 -1
- package/dist/waterline-models/FigshareVocabularyCategory.d.ts +38 -0
- package/dist/waterline-models/FigshareVocabularyCategory.d.ts.map +1 -0
- package/dist/waterline-models/FigshareVocabularyCategory.js +157 -0
- package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts +37 -0
- package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts.map +1 -0
- package/dist/waterline-models/FigshareVocabularyCrosswalk.js +153 -0
- package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts +37 -0
- package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts.map +1 -0
- package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.js +138 -0
- package/dist/waterline-models/FigshareVocabularySource.d.ts +45 -0
- package/dist/waterline-models/FigshareVocabularySource.d.ts.map +1 -0
- package/dist/waterline-models/FigshareVocabularySource.js +149 -0
- package/dist/waterline-models/FigshareVocabularySyncRun.d.ts +70 -0
- package/dist/waterline-models/FigshareVocabularySyncRun.d.ts.map +1 -0
- package/dist/waterline-models/FigshareVocabularySyncRun.js +237 -0
- package/dist/waterline-models/Vocabulary.d.ts +3 -1
- package/dist/waterline-models/Vocabulary.d.ts.map +1 -1
- package/dist/waterline-models/Vocabulary.js +9 -3
- package/dist/waterline-models/index.d.ts +10 -0
- package/dist/waterline-models/index.d.ts.map +1 -1
- package/dist/waterline-models/index.js +16 -1
- package/package.json +19 -19
- package/dist/form-config/dataRecord-1.0-draft.d.ts +0 -4
- package/dist/form-config/dataRecord-1.0-draft.d.ts.map +0 -1
- package/dist/form-config/dataRecord-1.0-draft.js +0 -1042
- package/dist/form-config/default-1.0-draft.d.ts +0 -4
- package/dist/form-config/default-1.0-draft.d.ts.map +0 -1
- package/dist/form-config/default-1.0-draft.js +0 -1156
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.syncEmbargoPhase = syncEmbargoPhase;
|
|
4
4
|
const bindings_1 = require("./bindings");
|
|
5
|
+
const context_1 = require("./context");
|
|
5
6
|
function isEmptyEmbargo(payload) {
|
|
6
7
|
return Object.values(payload).every((value) => value == null || value === '');
|
|
7
8
|
}
|
|
@@ -15,10 +16,11 @@ async function syncEmbargoPhase(client, config, record, articleId) {
|
|
|
15
16
|
return {};
|
|
16
17
|
}
|
|
17
18
|
const recordData = record;
|
|
19
|
+
const bindingContext = (0, context_1.createBindingContext)(record);
|
|
18
20
|
const embargoPayload = {
|
|
19
|
-
access_type: await (0, bindings_1.evaluateBinding)(config.embargo.accessRights.accessRights, recordData),
|
|
20
|
-
embargo_date: await (0, bindings_1.evaluateBinding)(config.embargo.accessRights.fullEmbargoUntil, recordData),
|
|
21
|
-
embargo_reason: await (0, bindings_1.evaluateBinding)(config.embargo.accessRights.reason, recordData)
|
|
21
|
+
access_type: await (0, bindings_1.evaluateBinding)(config.embargo.accessRights.accessRights, recordData, bindingContext),
|
|
22
|
+
embargo_date: await (0, bindings_1.evaluateBinding)(config.embargo.accessRights.fullEmbargoUntil, recordData, bindingContext),
|
|
23
|
+
embargo_reason: await (0, bindings_1.evaluateBinding)(config.embargo.accessRights.reason, recordData, bindingContext)
|
|
22
24
|
};
|
|
23
25
|
const article = await client.getArticle(articleId);
|
|
24
26
|
const emptyEmbargo = isEmptyEmbargo(embargoPayload);
|
|
@@ -33,4 +35,4 @@ async function syncEmbargoPhase(client, config, record, articleId) {
|
|
|
33
35
|
}
|
|
34
36
|
return client.setEmbargo(articleId, embargoPayload);
|
|
35
37
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iYXJnby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9lbWJhcmdvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLDRDQTRCQztBQTNDRCx5Q0FBNkM7QUFDN0MsdUNBQWlEO0FBRWpELFNBQVMsY0FBYyxDQUFDLE9BQStCO0lBQ3JELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUErQixFQUFFLE9BQXdCO0lBQy9FLE9BQU8sQ0FDTCxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7UUFDdkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDO1FBQ3pFLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxDQUM5RSxDQUFDO0FBQ0osQ0FBQztBQUVNLEtBQUssVUFBVSxnQkFBZ0IsQ0FBQyxNQUFzQixFQUFFLE1BQW9DLEVBQUUsTUFBbUIsRUFBRSxTQUFpQjtJQUN6SSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFHLE1BQWlDLENBQUM7SUFDckQsTUFBTSxjQUFjLEdBQUcsSUFBQSw4QkFBb0IsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxNQUFNLGNBQWMsR0FBMkI7UUFDN0MsV0FBVyxFQUFFLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDO1FBQ3hHLFlBQVksRUFBRSxNQUFNLElBQUEsMEJBQWUsRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDO1FBQzdHLGNBQWMsRUFBRSxNQUFNLElBQUEsMEJBQWUsRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQztLQUN0RyxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksWUFBWSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDL0UsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMxRSxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ3RELENBQUMifQ==
|
|
@@ -2,7 +2,7 @@ import { type AxiosResponse } from 'axios';
|
|
|
2
2
|
import { Context, Layer } from 'effect';
|
|
3
3
|
import { FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
|
|
4
4
|
import { ResolvedFigsharePublishingConfigData } from './config';
|
|
5
|
-
import { FigshareRunContext, FigshareArticle, FigshareFile, FigshareUploadInit, FigshareUploadDescriptor, FigshareLicense, FigshareInstitutionAccount, FigsharePublishResult, FigshareArticlePayload, FigshareCreateFilePayload, FigshareEmbargoPayload } from './types';
|
|
5
|
+
import { FigshareRunContext, FigshareArticle, FigshareFile, FigshareUploadInit, FigshareUploadDescriptor, FigshareLicense, FigshareInstitutionAccount, FigsharePublishResult, FigshareArticlePayload, FigshareCreateFilePayload, FigshareEmbargoPayload, FigshareCategory } from './types';
|
|
6
6
|
export declare class FigshareHttpError extends Error {
|
|
7
7
|
statusCode?: number;
|
|
8
8
|
responseBody?: unknown;
|
|
@@ -27,6 +27,8 @@ export interface FigshareClient {
|
|
|
27
27
|
publishArticle(articleId: string, payload?: Record<string, unknown>): Promise<FigsharePublishResult>;
|
|
28
28
|
listLicenses(): Promise<FigshareLicense[]>;
|
|
29
29
|
searchInstitutionAccounts(payload: Record<string, unknown>): Promise<FigshareInstitutionAccount[]>;
|
|
30
|
+
listPublicCategories(): Promise<FigshareCategory[]>;
|
|
31
|
+
listAccountCategories(): Promise<FigshareCategory[]>;
|
|
30
32
|
}
|
|
31
33
|
export declare const FigshareClientTag: Context.Tag<FigshareClient, FigshareClient>;
|
|
32
34
|
type FigshareResponseHeaders = Record<string, unknown> | AxiosResponse['headers'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/http.ts"],"names":[],"mappings":"AAAA,OAAc,EAAc,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,eAAe,EACf,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ exports.makeClientLayer = makeClientLayer;
|
|
|
11
11
|
const axios_1 = __importDefault(require("axios"));
|
|
12
12
|
const effect_1 = require("effect");
|
|
13
13
|
const observability_1 = require("./observability");
|
|
14
|
+
const RedactionUtils_1 = require("../../utilities/RedactionUtils");
|
|
14
15
|
class FigshareHttpError extends Error {
|
|
15
16
|
statusCode;
|
|
16
17
|
responseBody;
|
|
@@ -50,7 +51,7 @@ function sanitizePayloadForLogging(payload, headers) {
|
|
|
50
51
|
payloadClass: payload != null && typeof payload === 'object' ? payload.constructor?.name : undefined
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
|
-
return (0,
|
|
54
|
+
return (0, RedactionUtils_1.redactObject)(payload);
|
|
54
55
|
}
|
|
55
56
|
function assertNumericPathId(label, value) {
|
|
56
57
|
const normalized = value.trim();
|
|
@@ -86,7 +87,7 @@ async function requestWithRetry(config, runContext, options) {
|
|
|
86
87
|
url,
|
|
87
88
|
headers: {
|
|
88
89
|
'Content-Type': 'application/json',
|
|
89
|
-
'Authorization': `token ${config.connection.token}
|
|
90
|
+
...(options.anonymous === true ? {} : { 'Authorization': `token ${config.connection.token}` }),
|
|
90
91
|
...(options.headers || {})
|
|
91
92
|
},
|
|
92
93
|
timeout: options.timeoutMs ?? config.connection.timeoutMs,
|
|
@@ -107,7 +108,7 @@ async function requestWithRetry(config, runContext, options) {
|
|
|
107
108
|
(0, observability_1.logEvent)(retryable && attempt < retryConfig.maxAttempts ? 'warn' : 'error', `Figshare V2 request failed ${method} ${path}`, runContext, {
|
|
108
109
|
attempt,
|
|
109
110
|
status,
|
|
110
|
-
error: (0,
|
|
111
|
+
error: (0, RedactionUtils_1.redactObject)(error)
|
|
111
112
|
});
|
|
112
113
|
if (!retryable || attempt === retryConfig.maxAttempts) {
|
|
113
114
|
// Wrap instead of rethrowing the raw AxiosError: axios errors carry the full
|
|
@@ -233,6 +234,12 @@ function makeFixtureClient(config) {
|
|
|
233
234
|
},
|
|
234
235
|
async searchInstitutionAccounts(_payload) {
|
|
235
236
|
return (fixtures?.authors ?? []);
|
|
237
|
+
},
|
|
238
|
+
async listPublicCategories() {
|
|
239
|
+
return (fixtures?.categories ?? []);
|
|
240
|
+
},
|
|
241
|
+
async listAccountCategories() {
|
|
242
|
+
return (fixtures?.categories ?? []);
|
|
236
243
|
}
|
|
237
244
|
};
|
|
238
245
|
}
|
|
@@ -314,6 +321,21 @@ function makeLiveClient(config, runContext) {
|
|
|
314
321
|
payload,
|
|
315
322
|
timeoutMs: config.connection.operationTimeouts.metadataMs
|
|
316
323
|
});
|
|
324
|
+
},
|
|
325
|
+
listPublicCategories() {
|
|
326
|
+
return requestWithRetry(config, runContext, {
|
|
327
|
+
method: 'get',
|
|
328
|
+
path: '/categories',
|
|
329
|
+
timeoutMs: config.connection.operationTimeouts.metadataMs,
|
|
330
|
+
anonymous: true
|
|
331
|
+
});
|
|
332
|
+
},
|
|
333
|
+
listAccountCategories() {
|
|
334
|
+
return requestWithRetry(config, runContext, {
|
|
335
|
+
method: 'get',
|
|
336
|
+
path: '/account/categories',
|
|
337
|
+
timeoutMs: config.connection.operationTimeouts.metadataMs
|
|
338
|
+
});
|
|
317
339
|
}
|
|
318
340
|
};
|
|
319
341
|
}
|
|
@@ -321,4 +343,4 @@ function makeClientLayer(config, runContext) {
|
|
|
321
343
|
const client = config.runtime.mode === 'fixture' ? makeFixtureClient(config) : makeLiveClient(config, runContext);
|
|
322
344
|
return effect_1.Layer.succeed(exports.FigshareClientTag, client);
|
|
323
345
|
}
|
|
324
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQTRMQSw0REFjQztBQUVELDhDQXFGQztBQUVELHdDQWdGQztBQUVELDBDQUdDO0FBeFhELGtEQUE4RDtBQUM5RCxtQ0FBd0M7QUFnQnhDLG1EQUFtRTtBQUVuRSxNQUFhLGlCQUFrQixTQUFRLEtBQUs7SUFDMUMsVUFBVSxDQUFVO0lBQ3BCLFlBQVksQ0FBVztJQUV2QixZQUFZLE9BQWUsRUFBRSxVQUE0RSxFQUFFO1FBQ3pHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDekIsSUFBb0MsQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUM5RCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBYkQsOENBYUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLE9BQWdCO0lBQ3pDLE9BQU8sT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBUSxPQUE4QixDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7QUFDdEgsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLE9BQWlDO0lBQ3ZELE1BQU0saUJBQWlCLEdBQUcsT0FBTyxJQUFJLElBQUk7UUFDdkMsQ0FBQyxDQUFDLFNBQVM7UUFDWCxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8saUJB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
|
|
346
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWtNQSw0REFjQztBQUVELDhDQTJGQztBQUVELHdDQStGQztBQUVELDBDQUdDO0FBblpELGtEQUE4RDtBQUM5RCxtQ0FBd0M7QUFpQnhDLG1EQUFxRDtBQUNyRCxtRUFBOEQ7QUFFOUQsTUFBYSxpQkFBa0IsU0FBUSxLQUFLO0lBQzFDLFVBQVUsQ0FBVTtJQUNwQixZQUFZLENBQVc7SUFFdkIsWUFBWSxPQUFlLEVBQUUsVUFBNEUsRUFBRTtRQUN6RyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDekMsSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3pCLElBQW9DLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDOUQsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWJELDhDQWFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxPQUFnQjtJQUN6QyxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQVEsT0FBOEIsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQ3RILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFpQztJQUN2RCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sSUFBSSxJQUFJO1FBQ3ZDLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,WAAW,EACX,eAAe,EACf,uBAAuB,EAGvB,sBAAsB,EAGvB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/metadata.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EACL,WAAW,EACX,eAAe,EACf,uBAAuB,EAGvB,sBAAsB,EAGvB,MAAM,SAAS,CAAC;AAwSjB,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwD9J;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAiBlL"}
|
|
@@ -9,6 +9,8 @@ const lodash_1 = __importDefault(require("lodash"));
|
|
|
9
9
|
const RBValidationError_1 = require("../../model/RBValidationError");
|
|
10
10
|
const types_1 = require("./types");
|
|
11
11
|
const bindings_1 = require("./bindings");
|
|
12
|
+
const context_1 = require("./context");
|
|
13
|
+
const categories_1 = require("./categories");
|
|
12
14
|
const figshareLicenseCache = new Map();
|
|
13
15
|
const relatedMaterialTitleKeys = ['related_title', 'title', 'name'];
|
|
14
16
|
const relatedMaterialIdentifierKeys = ['related_doi', 'doi', 'related_url', 'url', 'identifier'];
|
|
@@ -50,7 +52,7 @@ function applyAuthorLookupTransform(config, matchBy, value) {
|
|
|
50
52
|
}
|
|
51
53
|
return normalized;
|
|
52
54
|
}
|
|
53
|
-
async function resolveAuthors(client, config, record) {
|
|
55
|
+
async function resolveAuthors(client, config, record, context) {
|
|
54
56
|
const contributors = getDefaultContributors(config, record);
|
|
55
57
|
if (contributors.length === 0) {
|
|
56
58
|
return [];
|
|
@@ -62,7 +64,9 @@ async function resolveAuthors(client, config, record) {
|
|
|
62
64
|
for (const contributor of uniqueContributors.slice(0, config.authors.maxInlineAuthors)) {
|
|
63
65
|
let matched = false;
|
|
64
66
|
for (const rule of config.authors.lookup) {
|
|
65
|
-
|
|
67
|
+
// The evaluation target is the contributor, so the brand can only come from
|
|
68
|
+
// the context.
|
|
69
|
+
const rawValue = await (0, bindings_1.evaluateBinding)(rule.value, contributor, context);
|
|
66
70
|
const value = typeof rawValue === 'string' ? applyAuthorLookupTransform(config, rule.matchBy, rawValue) : rawValue;
|
|
67
71
|
if (value == null || value === '') {
|
|
68
72
|
continue;
|
|
@@ -98,6 +102,11 @@ function matchesLicense(matchBy, rawValue, license) {
|
|
|
98
102
|
const candidate = `${license.url ?? ''} ${license.name} ${license.value ?? ''}`.toLowerCase();
|
|
99
103
|
return candidate.includes(normalized);
|
|
100
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Legacy mapping-table normalisation. Deliberately does NOT lowercase: mapping
|
|
107
|
+
* table rows are compared case-sensitively, so folding case here would silently
|
|
108
|
+
* stop alphanumeric source codes from matching.
|
|
109
|
+
*/
|
|
101
110
|
function normalizeCategorySourceCode(value) {
|
|
102
111
|
const rawValue = String(value ?? '').trim();
|
|
103
112
|
if (rawValue === '') {
|
|
@@ -107,6 +116,54 @@ function normalizeCategorySourceCode(value) {
|
|
|
107
116
|
const delimiterIndex = Math.max(withoutQuery.lastIndexOf('/'), withoutQuery.lastIndexOf('#'));
|
|
108
117
|
return delimiterIndex === -1 ? withoutQuery : withoutQuery.slice(delimiterIndex + 1);
|
|
109
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Build the article's numeric category list.
|
|
121
|
+
*
|
|
122
|
+
* A crosswalk binding selects crosswalk resolution; anything else falls back to
|
|
123
|
+
* the legacy mapping table. Crosswalk resolution fails closed — an invalid
|
|
124
|
+
* crosswalk never silently degrades to the preserved mapping-table rows.
|
|
125
|
+
*/
|
|
126
|
+
async function buildCategoriesPayload(config, recordData, context) {
|
|
127
|
+
const binding = config.metadata.categories.source;
|
|
128
|
+
if (binding?.kind === 'crosswalk') {
|
|
129
|
+
// `||` not `??`: an unset select in the editor arrives as an empty string, which
|
|
130
|
+
// means "the default" rather than "an invalid output mode".
|
|
131
|
+
if ((binding.outputs || 'categoryId') !== 'categoryId') {
|
|
132
|
+
throw validationError("The Figshare categories binding must use the 'categoryId' output");
|
|
133
|
+
}
|
|
134
|
+
let resolution;
|
|
135
|
+
try {
|
|
136
|
+
resolution = await (0, bindings_1.resolveCrosswalkBinding)(binding, recordData, context);
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
throw validationError(`Figshare crosswalk category resolution failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
140
|
+
}
|
|
141
|
+
if (resolution.historicalTargets.length > 0) {
|
|
142
|
+
const detail = resolution.historicalTargets
|
|
143
|
+
.map((target) => `${target.code} → ${target.sourceId} (${target.categoryId})`)
|
|
144
|
+
.join(', ');
|
|
145
|
+
if (!config.categories.allowUnmapped) {
|
|
146
|
+
throw validationError(`Figshare crosswalk maps to categories removed upstream: ${detail}`);
|
|
147
|
+
}
|
|
148
|
+
sails.log.warn(`Figshare crosswalk omitted historical category targets: ${detail}`);
|
|
149
|
+
}
|
|
150
|
+
if (!config.categories.allowUnmapped && resolution.sourceCodes.length > 0 && resolution.values.length === 0) {
|
|
151
|
+
throw validationError('No Figshare categories mapped for selected record categories');
|
|
152
|
+
}
|
|
153
|
+
return resolution.values;
|
|
154
|
+
}
|
|
155
|
+
const rawValue = await (0, bindings_1.evaluateBinding)(binding, recordData, context);
|
|
156
|
+
const sourceCodes = (0, categories_1.toSourceCodeCandidates)(rawValue)
|
|
157
|
+
.map(normalizeCategorySourceCode)
|
|
158
|
+
.filter((sourceCode) => sourceCode !== '');
|
|
159
|
+
const mappedCategories = sourceCodes
|
|
160
|
+
.map((sourceCode) => config.categories.mappingTable.find((entry) => entry.sourceCode === sourceCode)?.figshareCategoryId)
|
|
161
|
+
.filter((value) => value != null);
|
|
162
|
+
if (!config.categories.allowUnmapped && sourceCodes.length > 0 && mappedCategories.length === 0) {
|
|
163
|
+
throw validationError('No Figshare categories mapped for selected record categories');
|
|
164
|
+
}
|
|
165
|
+
return mappedCategories;
|
|
166
|
+
}
|
|
110
167
|
function toRelatedMaterialItems(value) {
|
|
111
168
|
if (value == null || value === '') {
|
|
112
169
|
return [];
|
|
@@ -152,8 +209,8 @@ function buildRelatedMaterials(titleValue, identifierValue) {
|
|
|
152
209
|
}
|
|
153
210
|
return relatedMaterials;
|
|
154
211
|
}
|
|
155
|
-
async function resolveLicense(client, config, record) {
|
|
156
|
-
const licenseValue = await (0, bindings_1.evaluateBinding)(config.metadata.license.source, record);
|
|
212
|
+
async function resolveLicense(client, config, record, context) {
|
|
213
|
+
const licenseValue = await (0, bindings_1.evaluateBinding)(config.metadata.license.source, record, context);
|
|
157
214
|
if (licenseValue == null || licenseValue === '') {
|
|
158
215
|
if (config.metadata.license.required) {
|
|
159
216
|
throw validationError('Figshare license is required');
|
|
@@ -206,45 +263,36 @@ function validatePayload(config, payload) {
|
|
|
206
263
|
}
|
|
207
264
|
async function buildMetadataPayload(config, record, client) {
|
|
208
265
|
const recordData = record;
|
|
266
|
+
// Built once: resolveBrandId hits BrandingService, and every binding shares it.
|
|
267
|
+
const bindingContext = (0, context_1.createBindingContext)(record);
|
|
209
268
|
const payload = {
|
|
210
|
-
title: await (0, bindings_1.evaluateBinding)(config.metadata.title, recordData),
|
|
211
|
-
description: await (0, bindings_1.evaluateBinding)(config.metadata.description, recordData),
|
|
212
|
-
keywords: await (0, bindings_1.evaluateBinding)(config.metadata.keywords, recordData),
|
|
269
|
+
title: await (0, bindings_1.evaluateBinding)(config.metadata.title, recordData, bindingContext),
|
|
270
|
+
description: await (0, bindings_1.evaluateBinding)(config.metadata.description, recordData, bindingContext),
|
|
271
|
+
keywords: await (0, bindings_1.evaluateBinding)(config.metadata.keywords, recordData, bindingContext),
|
|
213
272
|
defined_type: config.article.itemType
|
|
214
273
|
};
|
|
215
274
|
if (config.article.groupId != null) {
|
|
216
275
|
payload.group_id = config.article.groupId;
|
|
217
276
|
}
|
|
218
|
-
const funding = await (0, bindings_1.evaluateBinding)(config.metadata.funding, recordData);
|
|
277
|
+
const funding = await (0, bindings_1.evaluateBinding)(config.metadata.funding, recordData, bindingContext);
|
|
219
278
|
if (funding != null && funding !== '') {
|
|
220
279
|
payload.funding = funding;
|
|
221
280
|
}
|
|
222
|
-
|
|
223
|
-
const sourceItems = Array.isArray(categorySource) ? categorySource : categorySource != null ? [categorySource] : [];
|
|
224
|
-
const sourceCodes = sourceItems.filter(Boolean).map((item) => normalizeCategorySourceCode(typeof item === 'object' && item != null
|
|
225
|
-
? item.notation ?? item.code ?? ''
|
|
226
|
-
: item));
|
|
227
|
-
const mappedCategories = sourceCodes
|
|
228
|
-
.map((sourceCode) => config.categories.mappingTable.find((entry) => entry.sourceCode === sourceCode)?.figshareCategoryId)
|
|
229
|
-
.filter((value) => value != null);
|
|
230
|
-
payload.categories = mappedCategories;
|
|
231
|
-
if (!config.categories.allowUnmapped && sourceCodes.length > 0 && mappedCategories.length === 0) {
|
|
232
|
-
throw validationError('No Figshare categories mapped for selected record categories');
|
|
233
|
-
}
|
|
281
|
+
payload.categories = await buildCategoriesPayload(config, recordData, bindingContext);
|
|
234
282
|
const licenseValue = client == null
|
|
235
|
-
? await (0, bindings_1.evaluateBinding)(config.metadata.license.source, recordData)
|
|
236
|
-
: await resolveLicense(client, config, record);
|
|
283
|
+
? await (0, bindings_1.evaluateBinding)(config.metadata.license.source, recordData, bindingContext)
|
|
284
|
+
: await resolveLicense(client, config, record, bindingContext);
|
|
237
285
|
if (licenseValue != null && licenseValue !== '') {
|
|
238
286
|
payload.license = licenseValue;
|
|
239
287
|
}
|
|
240
288
|
if (client != null) {
|
|
241
|
-
const authors = await resolveAuthors(client, config, record);
|
|
289
|
+
const authors = await resolveAuthors(client, config, record, bindingContext);
|
|
242
290
|
if (authors.length > 0) {
|
|
243
291
|
payload.authors = authors;
|
|
244
292
|
}
|
|
245
293
|
}
|
|
246
294
|
if (config.metadata.relatedResource) {
|
|
247
|
-
const relatedMaterials = buildRelatedMaterials(await (0, bindings_1.evaluateBinding)(config.metadata.relatedResource.title, recordData), await (0, bindings_1.evaluateBinding)(config.metadata.relatedResource.doi, recordData));
|
|
295
|
+
const relatedMaterials = buildRelatedMaterials(await (0, bindings_1.evaluateBinding)(config.metadata.relatedResource.title, recordData, bindingContext), await (0, bindings_1.evaluateBinding)(config.metadata.relatedResource.doi, recordData, bindingContext));
|
|
248
296
|
if (relatedMaterials.length > 0) {
|
|
249
297
|
payload.related_materials = relatedMaterials;
|
|
250
298
|
}
|
|
@@ -252,7 +300,7 @@ async function buildMetadataPayload(config, record, client) {
|
|
|
252
300
|
if (config.metadata.customFields.length > 0) {
|
|
253
301
|
const customFieldsPayload = {};
|
|
254
302
|
for (const customField of config.metadata.customFields) {
|
|
255
|
-
customFieldsPayload[customField.figshareField] = await (0, bindings_1.evaluateBinding)(customField.value, recordData);
|
|
303
|
+
customFieldsPayload[customField.figshareField] = await (0, bindings_1.evaluateBinding)(customField.value, recordData, bindingContext);
|
|
256
304
|
}
|
|
257
305
|
payload.custom_fields = customFieldsPayload;
|
|
258
306
|
}
|
|
@@ -277,4 +325,4 @@ async function syncMetadataPhase(client, config, record, plan) {
|
|
|
277
325
|
id: articleId
|
|
278
326
|
};
|
|
279
327
|
}
|
|
280
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZmlnc2hhcmUtdjIvbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE4T0Esb0RBd0VDO0FBRUQsOENBaUJDO0FBelVELG9EQUF1QjtBQUV2QixxRUFBa0U7QUFFbEUsbUNBU2lCO0FBQ2pCLHlDQUE2QztBQUU3QyxNQUFNLG9CQUFvQixHQUFHLElBQUksR0FBRyxFQUE2QixDQUFDO0FBQ2xFLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3BFLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFakcsU0FBUyxlQUFlLENBQUMsT0FBZTtJQUN0QyxPQUFPLElBQUkscUNBQWlCLENBQUM7UUFDM0IsT0FBTztRQUNQLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7S0FDckQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsc0JBQXNCLENBQUMsTUFBb0MsRUFBRSxNQUFtQjtJQUN2RixNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDbkgsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCO1FBQ2pDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixFQUFFLG1DQUFtQyxFQUFFLG9CQUFvQixFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixDQUFDLENBQUM7SUFDbEosTUFBTSxZQUFZLEdBQUcsZ0JBQWdCO1NBQ2xDLE9BQU8s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
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZmlnc2hhcmUtdjIvbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFxVEEsb0RBd0RDO0FBRUQsOENBaUJDO0FBaFlELG9EQUF1QjtBQUV2QixxRUFBa0U7QUFFbEUsbUNBU2lCO0FBQ2pCLHlDQUFzRTtBQUN0RSx1Q0FBaUU7QUFDakUsNkNBQXNEO0FBRXRELE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEVBQTZCLENBQUM7QUFDbEUsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEUsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztBQUVqRyxTQUFTLGVBQWUsQ0FBQyxPQUFlO0lBQ3RDLE9BQU8sSUFBSSxxQ0FBaUIsQ0FBQztRQUMzQixPQUFPO1FBQ1AsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztLQUNyRCxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxNQUFvQyxFQUFFLE1BQW1CO0lBQ3ZGLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQztRQUNuSCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0I7UUFDakMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLEVBQUUsbUNBQW1DLEVBQUUsb0JBQW9CLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUNsSixNQUFNLFlBQVksR0FBRyxnQkFBZ0I7U0FDbEMsT0FBTyxDQUFDLENBQUMsZUFBdUIsRUFBRSxFQUFFO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUEsc0JBQWMsRUFBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDdEQsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNyRSxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBd0IsQ0FBQztJQUMxSCxPQUFPLFlBQVksQ0FBQztBQUN0QixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxNQUFvQyxFQUFFLE9BQWUsRUFBRSxLQUFhO0lBQ3RHLElBQUksT0FBTyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixJQUFJLFVBQVUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN0QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxjQUFjLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEYsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLEdBQUcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRCxJQUFJLE1BQU0sS0FBSyxFQUFFLElBQUksU0FBUyxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN2RSxVQUFVLEdBQUcsR0FBRyxNQUFNLEdBQUcsU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUNELElBQUksY0FBYyxLQUFLLEVBQUUsSUFBSSxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7UUFDNUQsVUFBVSxHQUFHLEdBQUcsYUFBYSxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDdkUsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFFRCxLQUFLLFVBQVUsY0FBYyxDQUFDLE1BQXNCLEVBQUUsTUFBb0MsRUFBRSxNQUFtQixFQUFFLE9BQXVCO0lBQ3RJLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM1RCxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDOUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxNQUFNO1FBQzNELENBQUMsQ0FBQyxZQUFZO1FBQ2QsQ0FBQyxDQUFDLGdCQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFcEYsTUFBTSxlQUFlLEdBQW1ELEVBQUUsQ0FBQztJQUMzRSxLQUFLLE1BQU0sV0FBVyxJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7UUFDdkYsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6Qyw0RUFBNEU7WUFDNUUsZUFBZTtZQUNmLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwwQkFBZSxFQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBc0MsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNwRyxNQUFNLEtBQUssR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDbkgsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDbEMsU0FBUztZQUNYLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBaUMsTUFBTSxNQUFNLENBQUMseUJBQXlCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ2hILE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixJQUFJLFVBQVUsRUFBRSxPQUFPLElBQUksSUFBSSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQzdELGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxXQUFXLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUM7WUFDckgsSUFBSSxZQUFZLElBQUksSUFBSSxJQUFJLFlBQVksS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUF1RSxFQUFFLFFBQWdCLEVBQUUsT0FBd0I7SUFDekksTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pELElBQUksVUFBVSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQzVCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQzdCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDdkYsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlGLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsMkJBQTJCLENBQUMsS0FBYztJQUNqRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLElBQUksUUFBUSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO0lBQ3hELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDOUYsT0FBTyxjQUFjLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILEtBQUssVUFBVSxzQkFBc0IsQ0FDbkMsTUFBb0MsRUFDcEMsVUFBbUMsRUFDbkMsT0FBdUI7SUFFdkIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBRWxELElBQUksT0FBTyxFQUFFLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxpRkFBaUY7UUFDakYsNERBQTREO1FBQzVELElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3ZELE1BQU0sZUFBZSxDQUFDLGtFQUFrRSxDQUFDLENBQUM7UUFDNUYsQ0FBQztRQUVELElBQUksVUFBVSxDQUFDO1FBQ2YsSUFBSSxDQUFDO1lBQ0gsVUFBVSxHQUFHLE1BQU0sSUFBQSxrQ0FBdUIsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxlQUFlLENBQ25CLGtEQUFrRCxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDM0csQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLGlCQUFpQjtpQkFDeEMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLE1BQU0sTUFBTSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUM7aUJBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUNyQyxNQUFNLGVBQWUsQ0FBQywyREFBMkQsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUM3RixDQUFDO1lBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsMkRBQTJELE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEYsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsSUFBSSxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDNUcsTUFBTSxlQUFlLENBQUMsOERBQThELENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUMsTUFBa0IsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBCQUFlLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxNQUFNLFdBQVcsR0FBRyxJQUFBLG1DQUFzQixFQUFDLFFBQVEsQ0FBQztTQUNqRCxHQUFHLENBQUMsMkJBQTJCLENBQUM7U0FDaEMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXO1NBQ2pDLEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUMxQixNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLEVBQUUsa0JBQWtCLENBQ3BHO1NBQ0EsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFtQixFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBRXJELElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEcsTUFBTSxlQUFlLENBQUMsOERBQThELENBQUMsQ0FBQztJQUN4RixDQUFDO0lBQ0QsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxLQUFjO0lBQzVDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDbEMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDaEQsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsS0FBYztJQUM3QyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RSxDQUFDO0FBRUQsU0FBUyw2QkFBNkIsQ0FBQyxLQUFjO0lBQ25ELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDOUIsQ0FBQztBQUVELFNBQVMsMkJBQTJCLENBQUMsS0FBYyxFQUFFLGFBQXVCO0lBQzFFLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sU0FBUyxHQUFHLDZCQUE2QixDQUFDLGdCQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25FLElBQUksU0FBUyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNyQixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELE9BQU8sNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsVUFBbUIsRUFBRSxlQUF3QjtJQUMxRSxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0RCxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNoRSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sZ0JBQWdCLEdBQTZELEVBQUUsQ0FBQztJQUV0RixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsU0FBUyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsTUFBTSxLQUFLLEdBQUcsMkJBQTJCLENBQUMsV0FBVyxFQUFFLHdCQUF3QixDQUFDO2VBQzNFLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEksTUFBTSxVQUFVLEdBQUcsMkJBQTJCLENBQUMsZ0JBQWdCLEVBQUUsNkJBQTZCLENBQUM7ZUFDMUYsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNILElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDdEMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLGdCQUFnQixDQUFDO0FBQzFCLENBQUM7QUFFRCxLQUFLLFVBQVUsY0FBYyxDQUFDLE1BQXNCLEVBQUUsTUFBb0MsRUFBRSxNQUFtQixFQUFFLE9BQXVCO0lBQ3RJLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFpQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZILElBQUksWUFBWSxJQUFJLElBQUksSUFBSSxZQUFZLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDaEQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQyxNQUFNLGVBQWUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzVFLElBQUksaUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNELElBQUksaUJBQWlCLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUIsaUJBQWlCLEdBQUcsTUFBTSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDaEQsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4RSxNQUFNLGVBQWUsQ0FBQyx1Q0FBdUMsWUFBWSxpREFBaUQsQ0FBQyxDQUFDO0lBQzlILENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUNqRCxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FDL0UsQ0FBQztJQUNGLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3BCLE1BQU0sZUFBZSxDQUFDLHVDQUF1QyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLEVBQUUsSUFBSSxZQUFZLENBQUM7QUFDckQsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE1BQW9DLEVBQUUsT0FBK0I7SUFDNUYsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM5QyxNQUFNLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3BELE1BQU0sZUFBZSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7UUFDaEUsTUFBTSxlQUFlLENBQUMsOEJBQThCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBQ0QsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUMzQyxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsTUFBTSxLQUFLLEdBQUcsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hELEtBQUssTUFBTSxVQUFVLElBQUksV0FBVyxDQUFDLFdBQVcsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN2RCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssVUFBVSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdEUsTUFBTSxlQUFlLENBQUMsMEJBQTBCLFdBQVcsQ0FBQyxhQUFhLGVBQWUsQ0FBQyxDQUFDO1lBQzVGLENBQUM7WUFDRCxJQUFJLFVBQVUsQ0FBQyxJQUFJLEtBQUssV0FBVyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDaEksTUFBTSxlQUFlLENBQUMsMEJBQTBCLFdBQVcsQ0FBQyxhQUFhLHdCQUF3QixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2SCxDQUFDO1lBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDM0csTUFBTSxlQUFlLENBQUMsMEJBQTBCLFdBQVcsQ0FBQyxhQUFhLGlCQUFpQixDQUFDLENBQUM7WUFDOUYsQ0FBQztZQUNELElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDNUcsTUFBTSxlQUFlLENBQUMsMEJBQTBCLFdBQVcsQ0FBQyxhQUFhLGlCQUFpQixDQUFDLENBQUM7WUFDOUYsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxNQUFvQyxFQUFFLE1BQW1CLEVBQUUsTUFBdUI7SUFDM0gsTUFBTSxVQUFVLEdBQUcsTUFBaUMsQ0FBQztJQUNyRCxnRkFBZ0Y7SUFDaEYsTUFBTSxjQUFjLEdBQUcsSUFBQSw4QkFBb0IsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxNQUFNLE9BQU8sR0FBMkI7UUFDdEMsS0FBSyxFQUFFLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUM7UUFDL0UsV0FBVyxFQUFFLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUM7UUFDM0YsUUFBUSxFQUFFLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUM7UUFDckYsWUFBWSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUTtLQUN0QyxDQUFDO0lBRUYsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQyxPQUFPLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsMEJBQWUsRUFBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0YsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLE9BQU8sS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN0QyxPQUFPLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxDQUFDLFVBQVUsR0FBRyxNQUFNLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFdEYsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLElBQUk7UUFDakMsQ0FBQyxDQUFDLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxNQUFNLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRSxJQUFJLFlBQVksSUFBSSxJQUFJLElBQUksWUFBWSxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuQixNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUM3RSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FDNUMsTUFBTSxJQUFBLDBCQUFlLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsRUFDeEYsTUFBTSxJQUFBLDBCQUFlLEVBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FDdkYsQ0FBQztRQUNGLElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVDLE1BQU0sbUJBQW1CLEdBQTRCLEVBQUUsQ0FBQztRQUN4RCxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkQsbUJBQW1CLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxHQUFHLE1BQU0sSUFBQSwwQkFBZSxFQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3hILENBQUM7UUFDRCxPQUFPLENBQUMsYUFBYSxHQUFHLG1CQUFtQixDQUFDO0lBQzlDLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFTSxLQUFLLFVBQVUsaUJBQWlCLENBQUMsTUFBc0IsRUFBRSxNQUFvQyxFQUFFLE1BQW1CLEVBQUUsSUFBNkI7SUFDdEosTUFBTSxPQUFPLEdBQUcsTUFBTSxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM3QixPQUFPLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RELElBQUksU0FBUyxLQUFLLEVBQUUsRUFBRSxDQUFDO1FBQ3JCLE1BQU0sZUFBZSxDQUFDLGdFQUFnRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMvRCxJQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDM0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUNELE9BQU87UUFDTCxHQUFHLE9BQU87UUFDVixFQUFFLEVBQUUsU0FBUztLQUNkLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { type Attributes } from '@opentelemetry/api';
|
|
2
2
|
import { FigshareRunContext } from './types';
|
|
3
|
-
export
|
|
4
|
-
export declare function redactObject(value: unknown, visited?: WeakSet<object>): unknown;
|
|
3
|
+
export { redactObject, redactSecret } from '../../utilities/RedactionUtils';
|
|
5
4
|
export declare function withSpan<T>(name: string, runContext: FigshareRunContext, attributes: Attributes, fn: () => Promise<T>): Promise<T>;
|
|
6
5
|
export declare function logEvent(level: string, message: string, runContext: FigshareRunContext, payload?: unknown): void;
|
|
7
6
|
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE5E,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAuBlI;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,GAAE,OAAY,GAAG,IAAI,CASpH"}
|
|
@@ -1,53 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.redactSecret =
|
|
4
|
-
exports.redactObject = redactObject;
|
|
3
|
+
exports.redactSecret = exports.redactObject = void 0;
|
|
5
4
|
exports.withSpan = withSpan;
|
|
6
5
|
exports.logEvent = logEvent;
|
|
7
6
|
const api_1 = require("@opentelemetry/api");
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
if (typeof value !== 'string') {
|
|
13
|
-
return value;
|
|
14
|
-
}
|
|
15
|
-
const trimmed = value.trim();
|
|
16
|
-
if (/^Bearer\s+/i.test(trimmed) ||
|
|
17
|
-
JWT_PATTERN.test(trimmed) ||
|
|
18
|
-
API_KEY_PATTERN.test(trimmed) ||
|
|
19
|
-
URI_CREDENTIAL_PATTERN.test(trimmed)) {
|
|
20
|
-
return 'REDACTED';
|
|
21
|
-
}
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
function redactObject(value, visited = new WeakSet()) {
|
|
25
|
-
if (Array.isArray(value)) {
|
|
26
|
-
if (visited.has(value)) {
|
|
27
|
-
return '[Circular]';
|
|
28
|
-
}
|
|
29
|
-
visited.add(value);
|
|
30
|
-
return value.map((entry) => redactObject(entry, visited));
|
|
31
|
-
}
|
|
32
|
-
if (value != null && typeof value === 'object' && !Array.isArray(value)) {
|
|
33
|
-
if (visited.has(value)) {
|
|
34
|
-
return '[Circular]';
|
|
35
|
-
}
|
|
36
|
-
visited.add(value);
|
|
37
|
-
const obj = value;
|
|
38
|
-
const result = {};
|
|
39
|
-
for (const [key, entry] of Object.entries(obj)) {
|
|
40
|
-
if (key.toLowerCase().includes('token') || key.toLowerCase().includes('authorization') || key.toLowerCase().includes('secret')) {
|
|
41
|
-
result[key] = 'REDACTED';
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
result[key] = redactObject(entry, visited);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
return redactSecret(value);
|
|
50
|
-
}
|
|
7
|
+
const RedactionUtils_1 = require("../../utilities/RedactionUtils");
|
|
8
|
+
var RedactionUtils_2 = require("../../utilities/RedactionUtils");
|
|
9
|
+
Object.defineProperty(exports, "redactObject", { enumerable: true, get: function () { return RedactionUtils_2.redactObject; } });
|
|
10
|
+
Object.defineProperty(exports, "redactSecret", { enumerable: true, get: function () { return RedactionUtils_2.redactSecret; } });
|
|
51
11
|
function withSpan(name, runContext, attributes, fn) {
|
|
52
12
|
const tracer = api_1.trace.getTracer('redbox.figshare-v2');
|
|
53
13
|
return tracer.startActiveSpan(name, {
|
|
@@ -81,7 +41,7 @@ function logEvent(level, message, runContext, payload = {}) {
|
|
|
81
41
|
brandName: runContext.brandName,
|
|
82
42
|
correlationId: runContext.correlationId,
|
|
83
43
|
triggerSource: runContext.triggerSource,
|
|
84
|
-
payload: redactObject(payload)
|
|
44
|
+
payload: (0, RedactionUtils_1.redactObject)(payload)
|
|
85
45
|
}, message);
|
|
86
46
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9vYnNlcnZhYmlsaXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLDRCQXVCQztBQUVELDRCQVNDO0FBeENELDRDQUE0RTtBQUU1RSxtRUFBOEQ7QUFFOUQsaUVBQTRFO0FBQW5FLDhHQUFBLFlBQVksT0FBQTtBQUFFLDhHQUFBLFlBQVksT0FBQTtBQUVuQyxTQUFnQixRQUFRLENBQUksSUFBWSxFQUFFLFVBQThCLEVBQUUsVUFBc0IsRUFBRSxFQUFvQjtJQUNwSCxNQUFNLE1BQU0sR0FBRyxXQUFLLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDckQsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRTtRQUNsQyxVQUFVLEVBQUU7WUFDVixHQUFHLFVBQVU7WUFDYixxQkFBcUIsRUFBRSxVQUFVLENBQUMsU0FBUztZQUMzQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsU0FBUztZQUN0Qyx5QkFBeUIsRUFBRSxVQUFVLENBQUMsYUFBYTtZQUNuRCx5QkFBeUIsRUFBRSxVQUFVLENBQUMsYUFBYTtTQUNwRDtLQUNGLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ2hCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxvQkFBYyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQWMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsb0JBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEgsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO2dCQUFTLENBQUM7WUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDYixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBZ0IsUUFBUSxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsVUFBOEIsRUFBRSxVQUFtQixFQUFFO0lBQzVHLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDbEQsTUFBTSxDQUFDO1FBQ0wsU0FBUyxFQUFFLFVBQVUsQ0FBQyxTQUFTO1FBQy9CLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUztRQUMvQixhQUFhLEVBQUUsVUFBVSxDQUFDLGFBQWE7UUFDdkMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhO1FBQ3ZDLE9BQU8sRUFBRSxJQUFBLDZCQUFZLEVBQUMsT0FBTyxDQUFDO0tBQy9CLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDZCxDQUFDIn0=
|
|
@@ -63,6 +63,19 @@ export interface FigshareInstitutionAccount {
|
|
|
63
63
|
last_name?: string;
|
|
64
64
|
[key: string]: unknown;
|
|
65
65
|
}
|
|
66
|
+
/** Figshare exposes an anonymous catalogue and an authenticated account catalogue. */
|
|
67
|
+
export type FigshareCategoryScope = 'public' | 'account';
|
|
68
|
+
export interface FigshareCategory {
|
|
69
|
+
id: number;
|
|
70
|
+
title: string;
|
|
71
|
+
parent_id?: number;
|
|
72
|
+
path?: string;
|
|
73
|
+
source_id?: string;
|
|
74
|
+
taxonomy_id?: number;
|
|
75
|
+
is_selectable?: boolean;
|
|
76
|
+
has_children?: boolean;
|
|
77
|
+
[key: string]: unknown;
|
|
78
|
+
}
|
|
66
79
|
export interface FigsharePublishResult {
|
|
67
80
|
id?: number | string;
|
|
68
81
|
status?: string;
|