@researchdatabox/redbox-core 0.0.1-beta.8936 → 0.0.1-beta.9018
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/IntegrationAuditParams.d.ts +11 -0
- package/dist/IntegrationAuditParams.d.ts.map +1 -0
- package/dist/IntegrationAuditParams.js +14 -0
- package/dist/RecordAuditParams.d.ts +2 -0
- package/dist/RecordAuditParams.d.ts.map +1 -1
- package/dist/RecordAuditParams.js +3 -1
- package/dist/RecordsService.d.ts +14 -0
- package/dist/RecordsService.d.ts.map +1 -1
- package/dist/StorageService.d.ts +3 -0
- package/dist/StorageService.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.d.ts.map +1 -1
- package/dist/config/agendaQueue.config.js +10 -1
- package/dist/config/auth.config.d.ts.map +1 -1
- package/dist/config/auth.config.js +2 -1
- package/dist/config/brandingConfigurationDefaults.config.d.ts +3 -0
- package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
- package/dist/config/brandingConfigurationDefaults.config.js +154 -3
- package/dist/config/figshareDev.config.d.ts +12 -0
- package/dist/config/figshareDev.config.d.ts.map +1 -0
- package/dist/config/figshareDev.config.js +9 -0
- package/dist/config/index.d.ts +4 -16
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -13
- package/dist/config/recordtype.config.d.ts.map +1 -1
- package/dist/config/recordtype.config.js +17 -1
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +47 -43
- package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
- package/dist/configmodels/AdminSidebarConfig.js +3 -2
- package/dist/configmodels/AuthorizedDomainsEmails.d.ts +48 -0
- package/dist/configmodels/AuthorizedDomainsEmails.d.ts.map +1 -1
- package/dist/configmodels/AuthorizedDomainsEmails.js +50 -2
- package/dist/configmodels/ConfigModels.d.ts +7 -1
- package/dist/configmodels/ConfigModels.d.ts.map +1 -1
- package/dist/configmodels/ConfigModels.js +25 -1
- package/dist/configmodels/DoiPublishing.d.ts +4711 -0
- package/dist/configmodels/DoiPublishing.d.ts.map +1 -0
- package/dist/configmodels/DoiPublishing.js +639 -0
- package/dist/configmodels/FigsharePublishing.d.ts +1376 -0
- package/dist/configmodels/FigsharePublishing.d.ts.map +1 -0
- package/dist/configmodels/FigsharePublishing.js +630 -0
- package/dist/configmodels/SystemMessage.d.ts +32 -0
- package/dist/configmodels/SystemMessage.d.ts.map +1 -1
- package/dist/configmodels/SystemMessage.js +34 -2
- package/dist/controllers/AppConfigController.js +3 -3
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +4 -1
- package/dist/controllers/RecordAuditController.d.ts +29 -14
- package/dist/controllers/RecordAuditController.d.ts.map +1 -1
- package/dist/controllers/RecordAuditController.js +455 -57
- package/dist/controllers/RecordController.d.ts +1 -16
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +20 -39
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +4 -1
- package/dist/controllers/webservice/AppConfigController.js +3 -3
- package/dist/controllers/webservice/IntegrationAuditController.d.ts +10 -0
- package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -0
- package/dist/controllers/webservice/IntegrationAuditController.js +98 -0
- package/dist/form-config/default-1.0-draft.d.ts.map +1 -1
- package/dist/form-config/default-1.0-draft.js +26 -2
- package/dist/form-config/index.d.ts.map +1 -1
- package/dist/form-config/index.js +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/model/storage/IntegrationAuditModel.d.ts +47 -0
- package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -0
- package/dist/model/storage/IntegrationAuditModel.js +104 -0
- package/dist/model/storage/index.d.ts +1 -0
- package/dist/model/storage/index.d.ts.map +1 -1
- package/dist/model/storage/index.js +7 -2
- package/dist/services/AppConfigService.d.ts +20 -2
- package/dist/services/AppConfigService.d.ts.map +1 -1
- package/dist/services/AppConfigService.js +129 -15
- package/dist/services/DoiService.d.ts +19 -25
- package/dist/services/DoiService.d.ts.map +1 -1
- package/dist/services/DoiService.js +258 -408
- package/dist/services/FigshareService.d.ts +35 -65
- package/dist/services/FigshareService.d.ts.map +1 -1
- package/dist/services/FigshareService.js +477 -2056
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
- package/dist/services/FormRecordConsistencyService.js +4 -2
- package/dist/services/FormsService.d.ts.map +1 -1
- package/dist/services/FormsService.js +4 -2
- package/dist/services/IntegrationAuditService.d.ts +100 -0
- package/dist/services/IntegrationAuditService.d.ts.map +1 -0
- package/dist/services/IntegrationAuditService.js +561 -0
- package/dist/services/RecordsService.d.ts +16 -0
- package/dist/services/RecordsService.d.ts.map +1 -1
- package/dist/services/RecordsService.js +54 -2
- package/dist/services/SolrSearchService.d.ts +1 -0
- package/dist/services/SolrSearchService.d.ts.map +1 -1
- package/dist/services/SolrSearchService.js +14 -3
- package/dist/services/VocabularyService.d.ts +1 -0
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +4 -1
- package/dist/services/doi-v2/audit.d.ts +7 -0
- package/dist/services/doi-v2/audit.d.ts.map +1 -0
- package/dist/services/doi-v2/audit.js +30 -0
- package/dist/services/doi-v2/bindings.d.ts +8 -0
- package/dist/services/doi-v2/bindings.d.ts.map +1 -0
- package/dist/services/doi-v2/bindings.js +85 -0
- package/dist/services/doi-v2/config.d.ts +7 -0
- package/dist/services/doi-v2/config.d.ts.map +1 -0
- package/dist/services/doi-v2/config.js +51 -0
- package/dist/services/doi-v2/context.d.ts +18 -0
- package/dist/services/doi-v2/context.d.ts.map +1 -0
- package/dist/services/doi-v2/context.js +41 -0
- package/dist/services/doi-v2/http.d.ts +21 -0
- package/dist/services/doi-v2/http.d.ts.map +1 -0
- package/dist/services/doi-v2/http.js +88 -0
- package/dist/services/doi-v2/payload.d.ts +4 -0
- package/dist/services/doi-v2/payload.d.ts.map +1 -0
- package/dist/services/doi-v2/payload.js +291 -0
- package/dist/services/doi-v2/profiles.d.ts +5 -0
- package/dist/services/doi-v2/profiles.d.ts.map +1 -0
- package/dist/services/doi-v2/profiles.js +31 -0
- package/dist/services/doi-v2/runtime.d.ts +16 -0
- package/dist/services/doi-v2/runtime.d.ts.map +1 -0
- package/dist/services/doi-v2/runtime.js +173 -0
- package/dist/services/doi-v2/types.d.ts +49 -0
- package/dist/services/doi-v2/types.d.ts.map +1 -0
- package/dist/services/doi-v2/types.js +3 -0
- package/dist/services/figshare-v2/assets.d.ts +5 -0
- package/dist/services/figshare-v2/assets.d.ts.map +1 -0
- package/dist/services/figshare-v2/assets.js +297 -0
- package/dist/services/figshare-v2/bindings.d.ts +6 -0
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -0
- package/dist/services/figshare-v2/bindings.js +60 -0
- package/dist/services/figshare-v2/config.d.ts +13 -0
- package/dist/services/figshare-v2/config.d.ts.map +1 -0
- package/dist/services/figshare-v2/config.js +81 -0
- package/dist/services/figshare-v2/context.d.ts +4 -0
- package/dist/services/figshare-v2/context.d.ts.map +1 -0
- package/dist/services/figshare-v2/context.js +20 -0
- package/dist/services/figshare-v2/embargo.d.ts +5 -0
- package/dist/services/figshare-v2/embargo.d.ts.map +1 -0
- package/dist/services/figshare-v2/embargo.js +36 -0
- package/dist/services/figshare-v2/http.d.ts +25 -0
- package/dist/services/figshare-v2/http.d.ts.map +1 -0
- package/dist/services/figshare-v2/http.js +270 -0
- package/dist/services/figshare-v2/metadata.d.ts +6 -0
- package/dist/services/figshare-v2/metadata.d.ts.map +1 -0
- package/dist/services/figshare-v2/metadata.js +221 -0
- package/dist/services/figshare-v2/observability.d.ts +7 -0
- package/dist/services/figshare-v2/observability.d.ts.map +1 -0
- package/dist/services/figshare-v2/observability.js +85 -0
- package/dist/services/figshare-v2/plan.d.ts +5 -0
- package/dist/services/figshare-v2/plan.d.ts.map +1 -0
- package/dist/services/figshare-v2/plan.js +51 -0
- package/dist/services/figshare-v2/publish.d.ts +5 -0
- package/dist/services/figshare-v2/publish.d.ts.map +1 -0
- package/dist/services/figshare-v2/publish.js +20 -0
- package/dist/services/figshare-v2/queue.d.ts +4 -0
- package/dist/services/figshare-v2/queue.d.ts.map +1 -0
- package/dist/services/figshare-v2/queue.js +11 -0
- package/dist/services/figshare-v2/runtime.d.ts +11 -0
- package/dist/services/figshare-v2/runtime.d.ts.map +1 -0
- package/dist/services/figshare-v2/runtime.js +116 -0
- package/dist/services/figshare-v2/types.d.ts +194 -0
- package/dist/services/figshare-v2/types.d.ts.map +1 -0
- package/dist/services/figshare-v2/types.js +37 -0
- package/dist/services/figshare-v2/workflow.d.ts +3 -0
- package/dist/services/figshare-v2/workflow.d.ts.map +1 -0
- package/dist/services/figshare-v2/workflow.js +7 -0
- package/dist/services/figshare-v2/writeback.d.ts +5 -0
- package/dist/services/figshare-v2/writeback.d.ts.map +1 -0
- package/dist/services/figshare-v2/writeback.js +45 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +7 -2
- 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 +8 -1
- 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 +95 -70
- package/dist/visitor/data-value.visitor.d.ts +3 -0
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +5 -1
- package/dist/visitor/json-type-def.visitor.d.ts +3 -0
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +5 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +3 -0
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +77 -64
- package/dist/visitor/template.visitor.d.ts +3 -0
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +5 -1
- package/dist/visitor/validator.visitor.d.ts +3 -1
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +6 -1
- package/dist/visitor/vocab-inline.visitor.d.ts +16 -1
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +109 -14
- package/package.json +23 -16
- package/dist/config/datacite.config.d.ts +0 -51
- package/dist/config/datacite.config.d.ts.map +0 -1
- package/dist/config/datacite.config.js +0 -44
- package/dist/config/figshareAPI.config.d.ts +0 -116
- package/dist/config/figshareAPI.config.d.ts.map +0 -1
- package/dist/config/figshareAPI.config.js +0 -857
- package/dist/config/figshareAPIEnv.config.d.ts +0 -11
- package/dist/config/figshareAPIEnv.config.d.ts.map +0 -1
- package/dist/config/figshareAPIEnv.config.js +0 -13
- package/dist/config/figshareRedboxFORMapping.config.d.ts +0 -15
- package/dist/config/figshareRedboxFORMapping.config.d.ts.map +0 -1
- package/dist/config/figshareRedboxFORMapping.config.js +0 -7458
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ensureHandlebarsHelpersRegistered = ensureHandlebarsHelpersRegistered;
|
|
7
|
+
exports.validateHandlebarsTemplate = validateHandlebarsTemplate;
|
|
8
|
+
exports.evaluateBinding = evaluateBinding;
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const jsonata_1 = __importDefault(require("jsonata"));
|
|
11
|
+
const handlebars_1 = __importDefault(require("handlebars"));
|
|
12
|
+
const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
|
|
13
|
+
let handlebarsHelpersRegistered = false;
|
|
14
|
+
function ensureHandlebarsHelpersRegistered() {
|
|
15
|
+
if (!handlebarsHelpersRegistered) {
|
|
16
|
+
(0, sails_ng_common_1.registerSharedHandlebarsHelpers)(handlebars_1.default);
|
|
17
|
+
handlebarsHelpersRegistered = true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function validateHandlebarsTemplate(template) {
|
|
21
|
+
const allowedHelpers = new Set(['default', 'join', 'lower', 'upper', 'trim', 'formatDate']);
|
|
22
|
+
const tagPattern = /{{{?\s*([#/!>]?)\s*([A-Za-z_][A-Za-z0-9_]*)?/g;
|
|
23
|
+
let match;
|
|
24
|
+
while ((match = tagPattern.exec(template)) != null) {
|
|
25
|
+
const sigil = match[1];
|
|
26
|
+
const token = match[2];
|
|
27
|
+
if (sigil === '!' || sigil === '>' || !token) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
if (sigil === '#') {
|
|
31
|
+
throw new Error(`Unsupported Handlebars block helper '${token}' in Figshare binding`);
|
|
32
|
+
}
|
|
33
|
+
const afterToken = template.slice(tagPattern.lastIndex).trimStart();
|
|
34
|
+
const isSimpleLookup = afterToken.startsWith('}}') || afterToken.startsWith('}}}') || afterToken.startsWith('.');
|
|
35
|
+
if (isSimpleLookup || allowedHelpers.has(token)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`Unsupported Handlebars helper '${token}' in Figshare binding`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
async function evaluateBinding(binding, record) {
|
|
42
|
+
if (binding == null) {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
if (binding.kind === 'path') {
|
|
46
|
+
return lodash_1.default.get(record, binding.path, binding.defaultValue);
|
|
47
|
+
}
|
|
48
|
+
if (binding.kind === 'handlebars') {
|
|
49
|
+
ensureHandlebarsHelpersRegistered();
|
|
50
|
+
validateHandlebarsTemplate(binding.template);
|
|
51
|
+
const compiled = handlebars_1.default.compile(binding.template);
|
|
52
|
+
const value = compiled(record);
|
|
53
|
+
return value === '' ? binding.defaultValue : value;
|
|
54
|
+
}
|
|
55
|
+
const compiled = (0, jsonata_1.default)(binding.expression);
|
|
56
|
+
compiled.registerFunction('eval', () => undefined);
|
|
57
|
+
const value = await compiled.evaluate(record);
|
|
58
|
+
return value ?? binding.defaultValue;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmluZGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZmlnc2hhcmUtdjIvYmluZGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSw4RUFLQztBQUVELGdFQW9CQztBQUVELDBDQXFCQztBQTNERCxvREFBdUI7QUFDdkIsc0RBQThCO0FBQzlCLDREQUFvQztBQUNwQyxzRUFBbUY7QUFJbkYsSUFBSSwyQkFBMkIsR0FBRyxLQUFLLENBQUM7QUFFeEMsU0FBZ0IsaUNBQWlDO0lBQy9DLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ2pDLElBQUEsaURBQStCLEVBQUMsb0JBQVUsQ0FBQyxDQUFDO1FBQzVDLDJCQUEyQixHQUFHLElBQUksQ0FBQztJQUNyQyxDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLDBCQUEwQixDQUFDLFFBQWdCO0lBQ3pELE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sVUFBVSxHQUFHLCtDQUErQyxDQUFDO0lBQ25FLElBQUksS0FBNkIsQ0FBQztJQUNsQyxPQUFPLENBQUMsS0FBSyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNuRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksS0FBSyxLQUFLLEdBQUcsSUFBSSxLQUFLLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDN0MsU0FBUztRQUNYLENBQUM7UUFDRCxJQUFJLEtBQUssS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxLQUFLLHVCQUF1QixDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BFLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pILElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxTQUFTO1FBQ1gsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEtBQUssdUJBQXVCLENBQUMsQ0FBQztJQUNsRixDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxlQUFlLENBQUMsT0FBaUMsRUFBRSxNQUFpQjtJQUN4RixJQUFJLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwQixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQzVCLE9BQU8sZ0JBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUM7UUFDbEMsaUNBQWlDLEVBQUUsQ0FBQztRQUNwQywwQkFBMEIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsTUFBTSxRQUFRLEdBQUcsb0JBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixPQUFPLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBQSxpQkFBTyxFQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sS0FBSyxHQUFHLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QyxPQUFPLEtBQUssSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQ3ZDLENBQUMifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type FigshareFixtureConfig, type FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
|
|
2
|
+
import { FigshareSyncState, RecordModel } from './types';
|
|
3
|
+
export interface ResolvedFigsharePublishingConfigData extends FigsharePublishingConfigData {
|
|
4
|
+
runtime: {
|
|
5
|
+
mode: 'live' | 'fixture';
|
|
6
|
+
fixtures?: FigshareFixtureConfig;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare function getBrandName(record?: RecordModel): string;
|
|
10
|
+
export declare function resolveFigsharePublishingConfig(record?: RecordModel): ResolvedFigsharePublishingConfigData | null;
|
|
11
|
+
export declare function getSyncState(config: FigsharePublishingConfigData, record: RecordModel): FigshareSyncState;
|
|
12
|
+
export declare function setSyncState(config: FigsharePublishingConfigData, record: RecordModel, syncState: FigshareSyncState): void;
|
|
13
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/config.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EAClC,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAkC,WAAW,EAAE,MAAM,SAAS,CAAC;AAGzF,MAAM,WAAW,oCAAqC,SAAQ,4BAA4B;IACxF,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;KAClC,CAAC;CACH;AAED,wBAAgB,YAAY,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAIzD;AAkBD,wBAAgB,+BAA+B,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,oCAAoC,GAAG,IAAI,CAkCjH;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAEzG;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAO1H"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getBrandName = getBrandName;
|
|
7
|
+
exports.resolveFigsharePublishingConfig = resolveFigsharePublishingConfig;
|
|
8
|
+
exports.getSyncState = getSyncState;
|
|
9
|
+
exports.setSyncState = setSyncState;
|
|
10
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
11
|
+
const FigsharePublishing_1 = require("../../configmodels/FigsharePublishing");
|
|
12
|
+
const types_1 = require("./types");
|
|
13
|
+
const index_1 = require("../index");
|
|
14
|
+
function getBrandName(record) {
|
|
15
|
+
if (record == null)
|
|
16
|
+
return 'default';
|
|
17
|
+
const rm = record;
|
|
18
|
+
return rm.metaMetadata?.brandId ?? record.branding ?? 'default';
|
|
19
|
+
}
|
|
20
|
+
function resolveFigshareDevConfig() {
|
|
21
|
+
const rawConfig = sails.config?.figshareDev;
|
|
22
|
+
if (rawConfig == null || typeof rawConfig !== 'object') {
|
|
23
|
+
return { enabled: false, mode: 'live' };
|
|
24
|
+
}
|
|
25
|
+
return rawConfig;
|
|
26
|
+
}
|
|
27
|
+
function shouldUseFixtureRuntime(figshareDev) {
|
|
28
|
+
const environment = String(sails.config?.environment ?? process.env.NODE_ENV ?? '').toLowerCase();
|
|
29
|
+
if (environment === 'production') {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return figshareDev.enabled === true && figshareDev.mode === 'fixture';
|
|
33
|
+
}
|
|
34
|
+
function resolveFigsharePublishingConfig(record) {
|
|
35
|
+
const brandName = getBrandName(record);
|
|
36
|
+
const appConfigService = index_1.ServiceExports.AppConfigService;
|
|
37
|
+
const brandConfig = appConfigService?.getAppConfigurationForBrand?.(brandName) ?? appConfigService?.getAppConfigurationForBrand?.('default');
|
|
38
|
+
const brandConfigRecord = brandConfig != null && typeof brandConfig === 'object' ? brandConfig : undefined;
|
|
39
|
+
const figsharePublishing = brandConfigRecord?.figsharePublishing;
|
|
40
|
+
const figsharePublishingConfig = figsharePublishing != null && typeof figsharePublishing === 'object'
|
|
41
|
+
? figsharePublishing
|
|
42
|
+
: undefined;
|
|
43
|
+
if (figsharePublishingConfig?.enabled === true) {
|
|
44
|
+
const resolvedConfig = lodash_1.default.merge(new FigsharePublishing_1.FigsharePublishing(), lodash_1.default.cloneDeep(figsharePublishingConfig));
|
|
45
|
+
const figshareDev = resolveFigshareDevConfig();
|
|
46
|
+
const useFixtureRuntime = shouldUseFixtureRuntime(figshareDev);
|
|
47
|
+
resolvedConfig.runtime = {
|
|
48
|
+
mode: useFixtureRuntime ? 'fixture' : 'live',
|
|
49
|
+
fixtures: useFixtureRuntime ? lodash_1.default.cloneDeep(figshareDev.fixtures) : undefined
|
|
50
|
+
};
|
|
51
|
+
const resolvedConnection = resolvedConfig.connection != null && typeof resolvedConfig.connection === 'object'
|
|
52
|
+
? resolvedConfig.connection
|
|
53
|
+
: { ...new FigsharePublishing_1.FigsharePublishing().connection };
|
|
54
|
+
resolvedConfig.connection = resolvedConnection;
|
|
55
|
+
const connectionToken = resolvedConfig.connection?.token;
|
|
56
|
+
const allowEmpty = resolvedConfig.runtime.mode === 'fixture';
|
|
57
|
+
if (typeof connectionToken === 'string' && connectionToken.trim() !== '') {
|
|
58
|
+
resolvedConfig.connection.token = (0, FigsharePublishing_1.resolveFigshareConnectionToken)(connectionToken, { allowEmpty });
|
|
59
|
+
}
|
|
60
|
+
else if (!allowEmpty) {
|
|
61
|
+
resolvedConfig.connection.token = (0, FigsharePublishing_1.resolveFigshareConnectionToken)('', { allowEmpty: false });
|
|
62
|
+
}
|
|
63
|
+
else if (resolvedConfig.connection != null) {
|
|
64
|
+
resolvedConfig.connection.token = '';
|
|
65
|
+
}
|
|
66
|
+
return resolvedConfig;
|
|
67
|
+
}
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
function getSyncState(config, record) {
|
|
71
|
+
return (0, types_1.getRecordField)(record, config.record.syncStatePath) ?? { status: 'idle' };
|
|
72
|
+
}
|
|
73
|
+
function setSyncState(config, record, syncState) {
|
|
74
|
+
(0, types_1.setRecordField)(record, config.record.syncStatePath, {
|
|
75
|
+
...syncState,
|
|
76
|
+
lastSyncAt: syncState.lastSyncAt ?? new Date().toISOString()
|
|
77
|
+
});
|
|
78
|
+
(0, types_1.setRecordField)(record, config.record.statusPath, syncState.status);
|
|
79
|
+
(0, types_1.setRecordField)(record, config.record.errorPath, syncState.lastError ?? '');
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2ZpZ3NoYXJlLXYyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWtCQSxvQ0FJQztBQWtCRCwwRUFrQ0M7QUFFRCxvQ0FFQztBQUVELG9DQU9DO0FBdkZELG9EQUF1QjtBQUN2Qiw4RUFLK0M7QUFFL0MsbUNBQXlGO0FBQ3pGLG9DQUEwQztBQVMxQyxTQUFnQixZQUFZLENBQUMsTUFBb0I7SUFDL0MsSUFBSSxNQUFNLElBQUksSUFBSTtRQUFFLE9BQU8sU0FBUyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxHQUFHLE1BQXFCLENBQUM7SUFDakMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSyxNQUFrQyxDQUFDLFFBQWtCLElBQUksU0FBUyxDQUFDO0FBQ3pHLENBQUM7QUFFRCxTQUFTLHdCQUF3QjtJQUMvQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUM1QyxJQUFJLFNBQVMsSUFBSSxJQUFJLElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLFNBQThCLENBQUM7QUFDeEMsQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQUMsV0FBOEI7SUFDN0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2xHLElBQUksV0FBVyxLQUFLLFlBQVksRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDLE9BQU8sS0FB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
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
|
|
2
|
+
import { FigshareRunContext, RecordModel } from './types';
|
|
3
|
+
export declare function createRunContext(record: RecordModel, config: FigsharePublishingConfigData, jobId?: string, triggerSource?: string): FigshareRunContext;
|
|
4
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAkB,MAAM,SAAS,CAAC;AAG1E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,aAAa,GAAE,MAAiB,GAAG,kBAAkB,CAahK"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createRunContext = createRunContext;
|
|
4
|
+
const types_1 = require("./types");
|
|
5
|
+
const config_1 = require("./config");
|
|
6
|
+
function createRunContext(record, config, jobId, triggerSource = 'manual') {
|
|
7
|
+
const rm = record;
|
|
8
|
+
const recordOid = rm.redboxOid ?? rm.id ?? '';
|
|
9
|
+
const articleId = (0, types_1.getRecordField)(rm, config.record.articleIdPath);
|
|
10
|
+
const correlationId = jobId || `${recordOid || 'record'}-${Date.now()}`;
|
|
11
|
+
return {
|
|
12
|
+
recordOid: String(recordOid),
|
|
13
|
+
brandName: (0, config_1.getBrandName)(record),
|
|
14
|
+
articleId: articleId == null || articleId === '' ? undefined : String(articleId),
|
|
15
|
+
jobId,
|
|
16
|
+
correlationId,
|
|
17
|
+
triggerSource
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsNENBYUM7QUFoQkQsbUNBQTBFO0FBQzFFLHFDQUF3QztBQUV4QyxTQUFnQixnQkFBZ0IsQ0FBQyxNQUFtQixFQUFFLE1BQW9DLEVBQUUsS0FBYyxFQUFFLGdCQUF3QixRQUFRO0lBQzFJLE1BQU0sRUFBRSxHQUFHLE1BQXFCLENBQUM7SUFDakMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFBLHNCQUFjLEVBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbEUsTUFBTSxhQUFhLEdBQUcsS0FBSyxJQUFJLEdBQUcsU0FBUyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUN4RSxPQUFPO1FBQ0wsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDNUIsU0FBUyxFQUFFLElBQUEscUJBQVksRUFBQyxNQUFNLENBQUM7UUFDL0IsU0FBUyxFQUFFLFNBQVMsSUFBSSxJQUFJLElBQUksU0FBUyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2hGLEtBQUs7UUFDTCxhQUFhO1FBQ2IsYUFBYTtLQUNkLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
|
|
2
|
+
import { FigshareClient } from './http';
|
|
3
|
+
import { RecordModel } from './types';
|
|
4
|
+
export declare function syncEmbargoPhase(client: FigshareClient, config: FigsharePublishingConfigData, record: RecordModel, articleId: string): Promise<Record<string, unknown>>;
|
|
5
|
+
//# sourceMappingURL=embargo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embargo.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/embargo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,WAAW,EAA2C,MAAM,SAAS,CAAC;AAe/E,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA2B7K"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.syncEmbargoPhase = syncEmbargoPhase;
|
|
4
|
+
const bindings_1 = require("./bindings");
|
|
5
|
+
function isEmptyEmbargo(payload) {
|
|
6
|
+
return Object.values(payload).every((value) => value == null || value === '');
|
|
7
|
+
}
|
|
8
|
+
function embargoChanged(payload, article) {
|
|
9
|
+
return (String(payload.access_type ?? '') !== String(article.access_type ?? '') ||
|
|
10
|
+
String(payload.embargo_date ?? '') !== String(article.embargo_date ?? '') ||
|
|
11
|
+
String(payload.embargo_reason ?? '') !== String(article.embargo_reason ?? ''));
|
|
12
|
+
}
|
|
13
|
+
async function syncEmbargoPhase(client, config, record, articleId) {
|
|
14
|
+
if (config.embargo.mode !== 'recordDriven') {
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
const recordData = record;
|
|
18
|
+
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)
|
|
22
|
+
};
|
|
23
|
+
const article = await client.getArticle(articleId);
|
|
24
|
+
const emptyEmbargo = isEmptyEmbargo(embargoPayload);
|
|
25
|
+
if (!config.embargo.forceSync && emptyEmbargo && article.is_embargoed !== true) {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
if (emptyEmbargo) {
|
|
29
|
+
return client.clearEmbargo(articleId);
|
|
30
|
+
}
|
|
31
|
+
if (!config.embargo.forceSync && !embargoChanged(embargoPayload, article)) {
|
|
32
|
+
return {};
|
|
33
|
+
}
|
|
34
|
+
return client.setEmbargo(articleId, embargoPayload);
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iYXJnby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9lbWJhcmdvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBaUJBLDRDQTJCQztBQXpDRCx5Q0FBNkM7QUFFN0MsU0FBUyxjQUFjLENBQUMsT0FBK0I7SUFDckQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUFDLE9BQStCLEVBQUUsT0FBd0I7SUFDL0UsT0FBTyxDQUNMLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUN2RSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDekUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDLENBQzlFLENBQUM7QUFDSixDQUFDO0FBRU0sS0FBSyxVQUFVLGdCQUFnQixDQUFDLE1BQXNCLEVBQUUsTUFBb0MsRUFBRSxNQUFtQixFQUFFLFNBQWlCO0lBQ3pJLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFLENBQUM7UUFDM0MsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsTUFBaUMsQ0FBQztJQUNyRCxNQUFNLGNBQWMsR0FBMkI7UUFDN0MsV0FBVyxFQUFFLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7UUFDeEYsWUFBWSxFQUFFLE1BQU0sSUFBQSwwQkFBZSxFQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQztRQUM3RixjQUFjLEVBQUUsTUFBTSxJQUFBLDBCQUFlLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztLQUN0RixDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNwRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLElBQUksWUFBWSxJQUFJLE9BQU8sQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDL0UsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUMxRSxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0FBQ3RELENBQUMifQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Context, Layer } from 'effect';
|
|
2
|
+
import { FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
|
|
3
|
+
import { ResolvedFigsharePublishingConfigData } from './config';
|
|
4
|
+
import { FigshareRunContext, FigshareArticle, FigshareFile, FigshareUploadInit, FigshareUploadDescriptor, FigshareLicense, FigshareInstitutionAccount, FigsharePublishResult, FigshareArticlePayload, FigshareCreateFilePayload, FigshareEmbargoPayload } from './types';
|
|
5
|
+
export interface FigshareClient {
|
|
6
|
+
createArticle(payload: FigshareArticlePayload): Promise<FigshareArticle>;
|
|
7
|
+
updateArticle(articleId: string, payload: FigshareArticlePayload): Promise<FigshareArticle>;
|
|
8
|
+
getArticle(articleId: string): Promise<FigshareArticle>;
|
|
9
|
+
listArticleFiles(articleId: string, page?: number, pageSize?: number): Promise<FigshareFile[]>;
|
|
10
|
+
createArticleFile(articleId: string, payload: FigshareCreateFilePayload): Promise<FigshareUploadInit>;
|
|
11
|
+
getLocation(locationUrl: string): Promise<FigshareUploadDescriptor>;
|
|
12
|
+
uploadFilePart(uploadUrl: string, partNo: number, data: unknown): Promise<Record<string, unknown>>;
|
|
13
|
+
completeFileUpload(articleId: string, fileId: string, payload?: Record<string, unknown>): Promise<FigshareFile>;
|
|
14
|
+
deleteArticleFile(articleId: string, fileId: string): Promise<Record<string, unknown>>;
|
|
15
|
+
setEmbargo(articleId: string, payload: FigshareEmbargoPayload): Promise<Record<string, unknown>>;
|
|
16
|
+
clearEmbargo(articleId: string): Promise<Record<string, unknown>>;
|
|
17
|
+
publishArticle(articleId: string, payload?: Record<string, unknown>): Promise<FigsharePublishResult>;
|
|
18
|
+
listLicenses(): Promise<FigshareLicense[]>;
|
|
19
|
+
searchInstitutionAccounts(payload: Record<string, unknown>): Promise<FigshareInstitutionAccount[]>;
|
|
20
|
+
}
|
|
21
|
+
export declare const FigshareClientTag: Context.Tag<FigshareClient, FigshareClient>;
|
|
22
|
+
export declare function makeFixtureClient(config: ResolvedFigsharePublishingConfigData): FigshareClient;
|
|
23
|
+
export declare function makeLiveClient(config: FigsharePublishingConfigData, runContext: FigshareRunContext): FigshareClient;
|
|
24
|
+
export declare function makeClientLayer(config: ResolvedFigsharePublishingConfigData, runContext: FigshareRunContext): Layer.Layer<FigshareClient, never, never>;
|
|
25
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/http.ts"],"names":[],"mappings":"AACA,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,EACvB,MAAM,SAAS,CAAC;AAyCjB,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACzE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5F,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACxD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC/F,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACpE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAChH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACvF,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAClE,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACrG,YAAY,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC3C,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;CACpG;AAED,eAAO,MAAM,iBAAiB,6CAA8D,CAAC;AAwE7F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oCAAoC,GAAG,cAAc,CAqF9F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,4BAA4B,EAAE,UAAU,EAAE,kBAAkB,GAAG,cAAc,CA0EnH;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,oCAAoC,EAAE,UAAU,EAAE,kBAAkB,6CAG3G"}
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.FigshareClientTag = void 0;
|
|
7
|
+
exports.makeFixtureClient = makeFixtureClient;
|
|
8
|
+
exports.makeLiveClient = makeLiveClient;
|
|
9
|
+
exports.makeClientLayer = makeClientLayer;
|
|
10
|
+
const axios_1 = __importDefault(require("axios"));
|
|
11
|
+
const effect_1 = require("effect");
|
|
12
|
+
const observability_1 = require("./observability");
|
|
13
|
+
function isReadablePayload(payload) {
|
|
14
|
+
return payload != null && typeof payload === 'object' && typeof payload.pipe === 'function';
|
|
15
|
+
}
|
|
16
|
+
function getContentType(headers) {
|
|
17
|
+
const contentTypeHeader = headers == null
|
|
18
|
+
? undefined
|
|
19
|
+
: headers['Content-Type'] ?? headers['content-type'];
|
|
20
|
+
return typeof contentTypeHeader === 'string' ? contentTypeHeader.toLowerCase() : '';
|
|
21
|
+
}
|
|
22
|
+
function sanitizePayloadForLogging(payload, headers) {
|
|
23
|
+
const contentType = getContentType(headers);
|
|
24
|
+
if (Buffer.isBuffer(payload)) {
|
|
25
|
+
return {
|
|
26
|
+
type: 'buffer',
|
|
27
|
+
byteLength: payload.length,
|
|
28
|
+
contentType: contentType || undefined
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
if (isReadablePayload(payload) || contentType.includes('application/octet-stream')) {
|
|
32
|
+
return {
|
|
33
|
+
type: isReadablePayload(payload) ? 'stream' : 'binary',
|
|
34
|
+
contentType: contentType || undefined,
|
|
35
|
+
payloadClass: payload != null && typeof payload === 'object' ? payload.constructor?.name : undefined
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return (0, observability_1.redactObject)(payload);
|
|
39
|
+
}
|
|
40
|
+
function assertNumericPathId(label, value) {
|
|
41
|
+
const normalized = value.trim();
|
|
42
|
+
if (!/^\d+$/.test(normalized)) {
|
|
43
|
+
throw new Error(`Invalid Figshare ${label}: '${value}'`);
|
|
44
|
+
}
|
|
45
|
+
return normalized;
|
|
46
|
+
}
|
|
47
|
+
exports.FigshareClientTag = effect_1.Context.GenericTag('redbox/FigshareClient');
|
|
48
|
+
function getRetryDelay(baseDelayMs, maxDelayMs, attempt) {
|
|
49
|
+
const delay = Math.min(maxDelayMs, baseDelayMs * Math.pow(2, Math.max(0, attempt - 1)));
|
|
50
|
+
return delay + Math.floor(Math.random() * Math.min(250, Math.max(1, baseDelayMs)));
|
|
51
|
+
}
|
|
52
|
+
async function requestWithRetry(config, runContext, options) {
|
|
53
|
+
const retryConfig = config.connection.retry;
|
|
54
|
+
const method = options.method;
|
|
55
|
+
const methodLower = method.toLowerCase();
|
|
56
|
+
const retryOnMethods = (Array.isArray(retryConfig.retryOnMethods) && retryConfig.retryOnMethods.length > 0
|
|
57
|
+
? retryConfig.retryOnMethods
|
|
58
|
+
: ['get', 'put', 'delete']).map((entry) => entry.toLowerCase());
|
|
59
|
+
const path = options.path ?? '';
|
|
60
|
+
const url = options.url ?? `${config.connection.baseUrl.replace(/\/+$/, '')}${path}`;
|
|
61
|
+
for (let attempt = 1; attempt <= retryConfig.maxAttempts; attempt++) {
|
|
62
|
+
try {
|
|
63
|
+
return await (0, observability_1.withSpan)(`figshare.http.${method.toLowerCase()}`, runContext, {
|
|
64
|
+
'http.method': method,
|
|
65
|
+
'http.url': url
|
|
66
|
+
}, async () => {
|
|
67
|
+
const sanitizedPayload = sanitizePayloadForLogging(options.payload, options.headers);
|
|
68
|
+
(0, observability_1.logEvent)('debug', `Figshare V2 request ${method} ${path}`, runContext, { attempt, payload: sanitizedPayload });
|
|
69
|
+
const response = await (0, axios_1.default)({
|
|
70
|
+
method,
|
|
71
|
+
url,
|
|
72
|
+
headers: {
|
|
73
|
+
'Content-Type': 'application/json',
|
|
74
|
+
'Authorization': `token ${config.connection.token}`,
|
|
75
|
+
...(options.headers || {})
|
|
76
|
+
},
|
|
77
|
+
timeout: options.timeoutMs ?? config.connection.timeoutMs,
|
|
78
|
+
data: options.payload,
|
|
79
|
+
params: options.params,
|
|
80
|
+
maxContentLength: options.maxContentLength,
|
|
81
|
+
maxBodyLength: options.maxBodyLength
|
|
82
|
+
});
|
|
83
|
+
return response.data;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
const axiosErr = error;
|
|
88
|
+
const status = axiosErr?.response?.status;
|
|
89
|
+
const retryableStatus = status == null || retryConfig.retryOnStatusCodes.includes(Number(status));
|
|
90
|
+
const retryableMethod = retryOnMethods.includes(methodLower);
|
|
91
|
+
const retryable = retryableStatus && retryableMethod;
|
|
92
|
+
(0, observability_1.logEvent)(retryable && attempt < retryConfig.maxAttempts ? 'warn' : 'error', `Figshare V2 request failed ${method} ${path}`, runContext, {
|
|
93
|
+
attempt,
|
|
94
|
+
status,
|
|
95
|
+
error: (0, observability_1.redactObject)(error)
|
|
96
|
+
});
|
|
97
|
+
if (!retryable || attempt === retryConfig.maxAttempts) {
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
await new Promise((resolve) => setTimeout(resolve, getRetryDelay(retryConfig.baseDelayMs, retryConfig.maxDelayMs, attempt)));
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
throw new Error(`Figshare request failed for ${method} ${path}`);
|
|
104
|
+
}
|
|
105
|
+
function makeFixtureClient(config) {
|
|
106
|
+
const fixtures = config.runtime.fixtures;
|
|
107
|
+
return {
|
|
108
|
+
async createArticle(payload) {
|
|
109
|
+
return {
|
|
110
|
+
id: fixtures?.article?.id ?? 'fixture-article-id',
|
|
111
|
+
...(fixtures?.article ?? {}),
|
|
112
|
+
...payload
|
|
113
|
+
};
|
|
114
|
+
},
|
|
115
|
+
async updateArticle(articleId, payload) {
|
|
116
|
+
return {
|
|
117
|
+
id: articleId || fixtures?.article?.id || 'fixture-article-id',
|
|
118
|
+
...(fixtures?.article ?? {}),
|
|
119
|
+
...payload
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
async getArticle(articleId) {
|
|
123
|
+
return {
|
|
124
|
+
id: articleId || fixtures?.article?.id || 'fixture-article-id',
|
|
125
|
+
...(fixtures?.article ?? {})
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
async listArticleFiles(_articleId, _page = 1, _pageSize = 20) {
|
|
129
|
+
return (fixtures?.articleFiles ?? []);
|
|
130
|
+
},
|
|
131
|
+
async createArticleFile(_articleId, payload) {
|
|
132
|
+
if (payload.link != null) {
|
|
133
|
+
return {
|
|
134
|
+
id: fixtures?.linkFile != null
|
|
135
|
+
? fixtures.linkFile.id ?? 'fixture-link-id'
|
|
136
|
+
: 'fixture-link-id',
|
|
137
|
+
location: String(payload.link ?? '')
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
const upload = fixtures?.upload;
|
|
141
|
+
return {
|
|
142
|
+
location: upload?.location ?? 'https://upload-location.example/files/fixture-file-id'
|
|
143
|
+
};
|
|
144
|
+
},
|
|
145
|
+
async getLocation(locationUrl) {
|
|
146
|
+
const upload = fixtures?.upload;
|
|
147
|
+
if (locationUrl.includes('/upload/')) {
|
|
148
|
+
return {
|
|
149
|
+
parts: (upload?.parts ?? [{ partNo: 1, startOffset: 0, endOffset: 0 }])
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
const file = upload?.file;
|
|
153
|
+
return {
|
|
154
|
+
id: file?.id ?? 'fixture-file-id',
|
|
155
|
+
upload_url: file?.upload_url ?? 'https://upload-location.example/upload/fixture-file-id',
|
|
156
|
+
download_url: file?.download_url ?? 'https://download-location.example/files/fixture-file-id',
|
|
157
|
+
status: 'available'
|
|
158
|
+
};
|
|
159
|
+
},
|
|
160
|
+
async uploadFilePart(_uploadUrl, _partNo, _data) {
|
|
161
|
+
return {};
|
|
162
|
+
},
|
|
163
|
+
async completeFileUpload(articleId, fileId, _payload) {
|
|
164
|
+
return {
|
|
165
|
+
id: fileId,
|
|
166
|
+
name: '',
|
|
167
|
+
article_id: articleId,
|
|
168
|
+
status: 'available'
|
|
169
|
+
};
|
|
170
|
+
},
|
|
171
|
+
async deleteArticleFile(_articleId, fileId) {
|
|
172
|
+
return { id: fileId, deleted: true };
|
|
173
|
+
},
|
|
174
|
+
async setEmbargo(_articleId, payload) {
|
|
175
|
+
return { ...payload };
|
|
176
|
+
},
|
|
177
|
+
async clearEmbargo(articleId) {
|
|
178
|
+
return { id: articleId, cleared: true };
|
|
179
|
+
},
|
|
180
|
+
async publishArticle(articleId, _payload) {
|
|
181
|
+
return (fixtures?.publishResult ?? { id: articleId, status: 'published' });
|
|
182
|
+
},
|
|
183
|
+
async listLicenses() {
|
|
184
|
+
return (fixtures?.licenses ?? []);
|
|
185
|
+
},
|
|
186
|
+
async searchInstitutionAccounts(_payload) {
|
|
187
|
+
return (fixtures?.authors ?? []);
|
|
188
|
+
}
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
function makeLiveClient(config, runContext) {
|
|
192
|
+
return {
|
|
193
|
+
createArticle(payload) {
|
|
194
|
+
return requestWithRetry(config, runContext, { method: 'post', path: '/account/articles', payload, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
195
|
+
},
|
|
196
|
+
updateArticle(articleId, payload) {
|
|
197
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
198
|
+
return requestWithRetry(config, runContext, { method: 'put', path: `/account/articles/${normalizedArticleId}`, payload, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
199
|
+
},
|
|
200
|
+
getArticle(articleId) {
|
|
201
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
202
|
+
return requestWithRetry(config, runContext, { method: 'get', path: `/account/articles/${normalizedArticleId}`, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
203
|
+
},
|
|
204
|
+
listArticleFiles(articleId, page = 1, pageSize = 20) {
|
|
205
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
206
|
+
return requestWithRetry(config, runContext, { method: 'get', path: `/account/articles/${normalizedArticleId}/files?page_size=${pageSize}&page=${page}`, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
207
|
+
},
|
|
208
|
+
createArticleFile(articleId, payload) {
|
|
209
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
210
|
+
return requestWithRetry(config, runContext, { method: 'post', path: `/account/articles/${normalizedArticleId}/files`, payload, timeoutMs: config.connection.operationTimeouts.uploadInitMs });
|
|
211
|
+
},
|
|
212
|
+
getLocation(locationUrl) {
|
|
213
|
+
return requestWithRetry(config, runContext, { method: 'get', url: locationUrl, timeoutMs: config.connection.operationTimeouts.uploadInitMs });
|
|
214
|
+
},
|
|
215
|
+
uploadFilePart(uploadUrl, partNo, data) {
|
|
216
|
+
return requestWithRetry(config, runContext, {
|
|
217
|
+
method: 'put',
|
|
218
|
+
url: `${uploadUrl}/${partNo}`,
|
|
219
|
+
payload: data,
|
|
220
|
+
headers: { 'Content-Type': 'application/octet-stream' },
|
|
221
|
+
timeoutMs: config.connection.operationTimeouts.uploadPartMs,
|
|
222
|
+
maxContentLength: Infinity,
|
|
223
|
+
maxBodyLength: Infinity
|
|
224
|
+
});
|
|
225
|
+
},
|
|
226
|
+
completeFileUpload(articleId, fileId, payload = {}) {
|
|
227
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
228
|
+
const normalizedFileId = assertNumericPathId('fileId', fileId);
|
|
229
|
+
return requestWithRetry(config, runContext, {
|
|
230
|
+
method: 'post',
|
|
231
|
+
path: `/account/articles/${normalizedArticleId}/files/${normalizedFileId}`,
|
|
232
|
+
payload,
|
|
233
|
+
timeoutMs: config.connection.operationTimeouts.uploadInitMs
|
|
234
|
+
});
|
|
235
|
+
},
|
|
236
|
+
deleteArticleFile(articleId, fileId) {
|
|
237
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
238
|
+
const normalizedFileId = assertNumericPathId('fileId', fileId);
|
|
239
|
+
return requestWithRetry(config, runContext, { method: 'delete', path: `/account/articles/${normalizedArticleId}/files/${normalizedFileId}`, payload: {}, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
240
|
+
},
|
|
241
|
+
setEmbargo(articleId, payload) {
|
|
242
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
243
|
+
return requestWithRetry(config, runContext, { method: 'put', path: `/account/articles/${normalizedArticleId}/embargo`, payload, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
244
|
+
},
|
|
245
|
+
clearEmbargo(articleId) {
|
|
246
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
247
|
+
return requestWithRetry(config, runContext, { method: 'delete', path: `/account/articles/${normalizedArticleId}/embargo`, payload: {}, timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
248
|
+
},
|
|
249
|
+
publishArticle(articleId, payload = {}) {
|
|
250
|
+
const normalizedArticleId = assertNumericPathId('articleId', articleId);
|
|
251
|
+
return requestWithRetry(config, runContext, { method: 'post', path: `/account/articles/${normalizedArticleId}/publish`, payload, timeoutMs: config.connection.operationTimeouts.publishMs });
|
|
252
|
+
},
|
|
253
|
+
listLicenses() {
|
|
254
|
+
return requestWithRetry(config, runContext, { method: 'get', path: '/account/licenses', timeoutMs: config.connection.operationTimeouts.metadataMs });
|
|
255
|
+
},
|
|
256
|
+
searchInstitutionAccounts(payload) {
|
|
257
|
+
return requestWithRetry(config, runContext, {
|
|
258
|
+
method: 'post',
|
|
259
|
+
path: '/account/institution/accounts/search',
|
|
260
|
+
payload,
|
|
261
|
+
timeoutMs: config.connection.operationTimeouts.metadataMs
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
function makeClientLayer(config, runContext) {
|
|
267
|
+
const client = config.runtime.mode === 'fixture' ? makeFixtureClient(config) : makeLiveClient(config, runContext);
|
|
268
|
+
return effect_1.Layer.succeed(exports.FigshareClientTag, client);
|
|
269
|
+
}
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9maWdzaGFyZS12Mi9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQWtKQSw4Q0FxRkM7QUFFRCx3Q0EwRUM7QUFFRCwwQ0FHQztBQXhURCxrREFBMEM7QUFDMUMsbUNBQXdDO0FBZ0J4QyxtREFBbUU7QUFFbkUsU0FBUyxpQkFBaUIsQ0FBQyxPQUFnQjtJQUN6QyxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLE9BQVEsT0FBOEIsQ0FBQyxJQUFJLEtBQUssVUFBVSxDQUFDO0FBQ3RILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFpQztJQUN2RCxNQUFNLGlCQUFpQixHQUFHLE9BQU8sSUFBSSxJQUFJO1FBQ3ZDLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsT0FBTyxPQUFPLGlCQUFpQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN0RixDQUFDO0FBRUQsU0FBUyx5QkFBeUIsQ0FBQyxPQUFnQixFQUFFLE9BQWlDO0lBQ3BGLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPO1lBQ0wsSUFBSSxFQUFFLFFBQVE7WUFDZCxVQUFVLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDMUIsV0FBVyxFQUFFLFdBQVcsSUFBSSxTQUFTO1NBQ3RDLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFD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
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
|
|
2
|
+
import { FigshareClient } from './http';
|
|
3
|
+
import { RecordModel, FigshareArticle, FigsharePublicationPlan, FigshareArticlePayload } from './types';
|
|
4
|
+
export declare function buildMetadataPayload(config: FigsharePublishingConfigData, record: RecordModel, client?: FigshareClient): Promise<FigshareArticlePayload>;
|
|
5
|
+
export declare function syncMetadataPhase(client: FigshareClient, config: FigsharePublishingConfigData, record: RecordModel, plan: FigsharePublicationPlan): Promise<FigshareArticle>;
|
|
6
|
+
//# sourceMappingURL=metadata.d.ts.map
|
|
@@ -0,0 +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;AAiKjB,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuE9J;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,4BAA4B,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,eAAe,CAAC,CAUlL"}
|