@researchdatabox/redbox-core 0.0.0-bootstrap.0 → 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.
Files changed (185) hide show
  1. package/dist/IntegrationAuditParams.d.ts +11 -0
  2. package/dist/IntegrationAuditParams.js +14 -0
  3. package/dist/RecordAuditParams.d.ts +2 -0
  4. package/dist/RecordAuditParams.d.ts.map +1 -1
  5. package/dist/RecordAuditParams.js +3 -1
  6. package/dist/RecordsService.d.ts +14 -0
  7. package/dist/RecordsService.d.ts.map +1 -1
  8. package/dist/StorageService.d.ts +3 -0
  9. package/dist/StorageService.d.ts.map +1 -1
  10. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  11. package/dist/config/agendaQueue.config.js +10 -1
  12. package/dist/config/auth.config.d.ts.map +1 -1
  13. package/dist/config/auth.config.js +2 -1
  14. package/dist/config/brandingConfigurationDefaults.config.d.ts +3 -0
  15. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  16. package/dist/config/brandingConfigurationDefaults.config.js +154 -3
  17. package/dist/config/figshareDev.config.d.ts +12 -0
  18. package/dist/config/figshareDev.config.js +9 -0
  19. package/dist/config/index.d.ts +4 -16
  20. package/dist/config/index.d.ts.map +1 -1
  21. package/dist/config/index.js +4 -13
  22. package/dist/config/recordtype.config.d.ts.map +1 -1
  23. package/dist/config/recordtype.config.js +17 -1
  24. package/dist/config/routes.config.d.ts.map +1 -1
  25. package/dist/config/routes.config.js +47 -43
  26. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  27. package/dist/configmodels/AdminSidebarConfig.js +3 -2
  28. package/dist/configmodels/AuthorizedDomainsEmails.d.ts +48 -0
  29. package/dist/configmodels/AuthorizedDomainsEmails.d.ts.map +1 -1
  30. package/dist/configmodels/AuthorizedDomainsEmails.js +50 -2
  31. package/dist/configmodels/ConfigModels.d.ts +7 -1
  32. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  33. package/dist/configmodels/ConfigModels.js +25 -1
  34. package/dist/configmodels/DoiPublishing.d.ts +4711 -0
  35. package/dist/configmodels/DoiPublishing.js +639 -0
  36. package/dist/configmodels/FigsharePublishing.d.ts +1376 -0
  37. package/dist/configmodels/FigsharePublishing.js +630 -0
  38. package/dist/configmodels/SystemMessage.d.ts +32 -0
  39. package/dist/configmodels/SystemMessage.d.ts.map +1 -1
  40. package/dist/configmodels/SystemMessage.js +34 -2
  41. package/dist/controllers/AppConfigController.js +3 -3
  42. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  43. package/dist/controllers/FormVocabularyController.js +4 -1
  44. package/dist/controllers/RecordAuditController.d.ts +29 -14
  45. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  46. package/dist/controllers/RecordAuditController.js +455 -57
  47. package/dist/controllers/RecordController.d.ts +1 -16
  48. package/dist/controllers/RecordController.d.ts.map +1 -1
  49. package/dist/controllers/RecordController.js +20 -39
  50. package/dist/controllers/index.d.ts.map +1 -1
  51. package/dist/controllers/index.js +4 -1
  52. package/dist/controllers/webservice/AppConfigController.js +3 -3
  53. package/dist/controllers/webservice/IntegrationAuditController.d.ts +10 -0
  54. package/dist/controllers/webservice/IntegrationAuditController.js +98 -0
  55. package/dist/form-config/default-1.0-draft.d.ts.map +1 -1
  56. package/dist/form-config/default-1.0-draft.js +26 -2
  57. package/dist/form-config/index.d.ts.map +1 -1
  58. package/dist/form-config/index.js +1 -1
  59. package/dist/index.d.ts +4 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +12 -2
  62. package/dist/model/storage/IntegrationAuditModel.d.ts +47 -0
  63. package/dist/model/storage/IntegrationAuditModel.js +104 -0
  64. package/dist/model/storage/index.d.ts +1 -0
  65. package/dist/model/storage/index.d.ts.map +1 -1
  66. package/dist/model/storage/index.js +7 -2
  67. package/dist/services/AppConfigService.d.ts +20 -2
  68. package/dist/services/AppConfigService.d.ts.map +1 -1
  69. package/dist/services/AppConfigService.js +129 -15
  70. package/dist/services/DoiService.d.ts +19 -25
  71. package/dist/services/DoiService.d.ts.map +1 -1
  72. package/dist/services/DoiService.js +258 -408
  73. package/dist/services/FigshareService.d.ts +35 -65
  74. package/dist/services/FigshareService.d.ts.map +1 -1
  75. package/dist/services/FigshareService.js +477 -2056
  76. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  77. package/dist/services/FormRecordConsistencyService.js +4 -2
  78. package/dist/services/FormsService.d.ts.map +1 -1
  79. package/dist/services/FormsService.js +4 -2
  80. package/dist/services/IntegrationAuditService.d.ts +100 -0
  81. package/dist/services/IntegrationAuditService.d.ts.map +1 -1
  82. package/dist/services/IntegrationAuditService.js +561 -0
  83. package/dist/services/RecordsService.d.ts +16 -0
  84. package/dist/services/RecordsService.d.ts.map +1 -1
  85. package/dist/services/RecordsService.js +54 -2
  86. package/dist/services/SolrSearchService.d.ts +1 -0
  87. package/dist/services/SolrSearchService.d.ts.map +1 -1
  88. package/dist/services/SolrSearchService.js +14 -3
  89. package/dist/services/VocabularyService.d.ts +1 -0
  90. package/dist/services/VocabularyService.d.ts.map +1 -1
  91. package/dist/services/VocabularyService.js +4 -1
  92. package/dist/services/doi-v2/audit.d.ts +7 -0
  93. package/dist/services/doi-v2/audit.js +30 -0
  94. package/dist/services/doi-v2/bindings.d.ts +8 -0
  95. package/dist/services/doi-v2/bindings.js +85 -0
  96. package/dist/services/doi-v2/config.d.ts +7 -0
  97. package/dist/services/doi-v2/config.js +51 -0
  98. package/dist/services/doi-v2/context.d.ts +18 -0
  99. package/dist/services/doi-v2/context.js +41 -0
  100. package/dist/services/doi-v2/http.d.ts +21 -0
  101. package/dist/services/doi-v2/http.js +88 -0
  102. package/dist/services/doi-v2/payload.d.ts +4 -0
  103. package/dist/services/doi-v2/payload.js +291 -0
  104. package/dist/services/doi-v2/profiles.d.ts +5 -0
  105. package/dist/services/doi-v2/profiles.js +31 -0
  106. package/dist/services/doi-v2/runtime.d.ts +16 -0
  107. package/dist/services/doi-v2/runtime.js +173 -0
  108. package/dist/services/doi-v2/types.d.ts +49 -0
  109. package/dist/services/doi-v2/types.js +3 -0
  110. package/dist/services/figshare-v2/assets.d.ts +5 -0
  111. package/dist/services/figshare-v2/assets.js +297 -0
  112. package/dist/services/figshare-v2/bindings.d.ts +6 -0
  113. package/dist/services/figshare-v2/bindings.js +60 -0
  114. package/dist/services/figshare-v2/config.d.ts +13 -0
  115. package/dist/services/figshare-v2/config.js +81 -0
  116. package/dist/services/figshare-v2/context.d.ts +4 -0
  117. package/dist/services/figshare-v2/context.js +20 -0
  118. package/dist/services/figshare-v2/embargo.d.ts +5 -0
  119. package/dist/services/figshare-v2/embargo.js +36 -0
  120. package/dist/services/figshare-v2/http.d.ts +25 -0
  121. package/dist/services/figshare-v2/http.js +270 -0
  122. package/dist/services/figshare-v2/metadata.d.ts +6 -0
  123. package/dist/services/figshare-v2/metadata.js +221 -0
  124. package/dist/services/figshare-v2/observability.d.ts +7 -0
  125. package/dist/services/figshare-v2/observability.js +85 -0
  126. package/dist/services/figshare-v2/plan.d.ts +5 -0
  127. package/dist/services/figshare-v2/plan.js +51 -0
  128. package/dist/services/figshare-v2/publish.d.ts +5 -0
  129. package/dist/services/figshare-v2/publish.js +20 -0
  130. package/dist/services/figshare-v2/queue.d.ts +4 -0
  131. package/dist/services/figshare-v2/queue.js +11 -0
  132. package/dist/services/figshare-v2/runtime.d.ts +11 -0
  133. package/dist/services/figshare-v2/runtime.js +116 -0
  134. package/dist/services/figshare-v2/types.d.ts +194 -0
  135. package/dist/services/figshare-v2/types.js +37 -0
  136. package/dist/services/figshare-v2/workflow.d.ts +3 -0
  137. package/dist/services/figshare-v2/workflow.js +7 -0
  138. package/dist/services/figshare-v2/writeback.d.ts +5 -0
  139. package/dist/services/figshare-v2/writeback.js +45 -0
  140. package/dist/services/index.d.ts +3 -0
  141. package/dist/services/index.d.ts.map +1 -1
  142. package/dist/services/index.js +7 -2
  143. package/dist/visitor/client.visitor.d.ts +3 -0
  144. package/dist/visitor/client.visitor.d.ts.map +1 -1
  145. package/dist/visitor/client.visitor.js +8 -1
  146. package/dist/visitor/construct.visitor.d.ts +3 -0
  147. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  148. package/dist/visitor/construct.visitor.js +95 -70
  149. package/dist/visitor/data-value.visitor.d.ts +3 -0
  150. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  151. package/dist/visitor/data-value.visitor.js +5 -1
  152. package/dist/visitor/json-type-def.visitor.d.ts +3 -0
  153. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  154. package/dist/visitor/json-type-def.visitor.js +5 -1
  155. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +3 -0
  156. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  157. package/dist/visitor/migrate-config-v4-v5.visitor.js +77 -64
  158. package/dist/visitor/template.visitor.d.ts +3 -0
  159. package/dist/visitor/template.visitor.d.ts.map +1 -1
  160. package/dist/visitor/template.visitor.js +5 -1
  161. package/dist/visitor/validator.visitor.d.ts +3 -1
  162. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  163. package/dist/visitor/validator.visitor.js +6 -1
  164. package/dist/visitor/vocab-inline.visitor.d.ts +16 -1
  165. package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
  166. package/dist/visitor/vocab-inline.visitor.js +109 -14
  167. package/package.json +26 -14
  168. package/dist/config/datacite.config.d.ts +0 -51
  169. package/dist/config/datacite.config.d.ts.map +0 -1
  170. package/dist/config/datacite.config.js +0 -44
  171. package/dist/config/figshareAPI.config.d.ts +0 -116
  172. package/dist/config/figshareAPI.config.d.ts.map +0 -1
  173. package/dist/config/figshareAPI.config.js +0 -857
  174. package/dist/config/figshareAPIEnv.config.d.ts +0 -11
  175. package/dist/config/figshareAPIEnv.config.d.ts.map +0 -1
  176. package/dist/config/figshareAPIEnv.config.js +0 -13
  177. package/dist/config/figshareRedboxFORMapping.config.d.ts +0 -15
  178. package/dist/config/figshareRedboxFORMapping.config.d.ts.map +0 -1
  179. package/dist/config/figshareRedboxFORMapping.config.js +0 -7458
  180. package/dist/config/relatedObjectsFormDefinition.config.d.ts.map +0 -1
  181. package/dist/form-config/dataPublication-1.0-draft.d.ts.map +0 -1
  182. package/dist/form-config/dataPublication-1.0-embargoed.d.ts.map +0 -1
  183. package/dist/form-config/dataPublication-1.0-published.d.ts.map +0 -1
  184. package/dist/form-config/dataPublication-1.0-queued.d.ts.map +0 -1
  185. package/dist/form-config/dataPublication-1.0-retired.d.ts.map +0 -1
@@ -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,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,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,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,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