@researchdatabox/redbox-core 5.0.4-beta.12498 → 5.0.5

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 (616) hide show
  1. package/dist/CoreController.d.ts +3 -7
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +3 -85
  4. package/dist/DatastreamService.d.ts +2 -4
  5. package/dist/DatastreamService.d.ts.map +1 -1
  6. package/dist/HarvestRunService.d.ts +3 -4
  7. package/dist/HarvestRunService.d.ts.map +1 -1
  8. package/dist/HarvestRunService.js +1 -1
  9. package/dist/QueueService.d.ts +1 -1
  10. package/dist/QueueService.d.ts.map +1 -1
  11. package/dist/RecordWriteOptions.d.ts +21 -0
  12. package/dist/RecordWriteOptions.d.ts.map +1 -0
  13. package/dist/RecordWriteOptions.js +17 -0
  14. package/dist/RecordsService.d.ts +14 -105
  15. package/dist/RecordsService.d.ts.map +1 -1
  16. package/dist/RecordsService.js +1 -44
  17. package/dist/SearchService.d.ts +1 -2
  18. package/dist/SearchService.d.ts.map +1 -1
  19. package/dist/StorageService.d.ts +20 -48
  20. package/dist/StorageService.d.ts.map +1 -1
  21. package/dist/StorageService.js +1 -19
  22. package/dist/StorageServiceResponse.d.ts +1 -22
  23. package/dist/StorageServiceResponse.d.ts.map +1 -1
  24. package/dist/StorageServiceResponse.js +4 -22
  25. package/dist/api-routes/groups/branding.d.ts +0 -8
  26. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  27. package/dist/api-routes/groups/branding.js +11 -86
  28. package/dist/api-routes/groups/dashboard-config.d.ts +9 -12
  29. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
  30. package/dist/api-routes/groups/dashboard-config.js +73 -136
  31. package/dist/api-routes/groups/forms.d.ts.map +1 -1
  32. package/dist/api-routes/groups/forms.js +2 -10
  33. package/dist/api-routes/groups/records.d.ts +0 -1
  34. package/dist/api-routes/groups/records.d.ts.map +1 -1
  35. package/dist/api-routes/groups/records.js +26 -141
  36. package/dist/api-routes/index.d.ts +0 -3
  37. package/dist/api-routes/index.d.ts.map +1 -1
  38. package/dist/api-routes/index.js +1 -4
  39. package/dist/api-routes/openapi.d.ts.map +1 -1
  40. package/dist/api-routes/openapi.js +5 -7
  41. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  42. package/dist/api-routes/request-extraction.js +8 -10
  43. package/dist/api-routes/route-factory.d.ts.map +1 -1
  44. package/dist/api-routes/route-factory.js +1 -2
  45. package/dist/api-routes/route-registry.d.ts.map +1 -1
  46. package/dist/api-routes/route-registry.js +1 -3
  47. package/dist/api-routes/schemas/common.d.ts +0 -36
  48. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  49. package/dist/api-routes/schemas/common.js +5 -95
  50. package/dist/api-routes/schemas/responses.d.ts +1 -1424
  51. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  52. package/dist/api-routes/schemas/responses.js +60 -382
  53. package/dist/api-routes/types.d.ts +0 -1
  54. package/dist/api-routes/types.d.ts.map +1 -1
  55. package/dist/api-routes/validation.d.ts +1 -5
  56. package/dist/api-routes/validation.d.ts.map +1 -1
  57. package/dist/api-routes/validation.js +15 -14
  58. package/dist/bootstrap.d.ts +1 -3
  59. package/dist/bootstrap.d.ts.map +1 -1
  60. package/dist/bootstrap.js +41 -58
  61. package/dist/config/agendaQueue.config.d.ts +0 -3
  62. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  63. package/dist/config/agendaQueue.config.js +11 -29
  64. package/dist/config/branding.config.d.ts +0 -13
  65. package/dist/config/branding.config.d.ts.map +1 -1
  66. package/dist/config/branding.config.js +2 -34
  67. package/dist/config/brandingConfigurationDefaults.config.d.ts +0 -4
  68. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  69. package/dist/config/brandingConfigurationDefaults.config.js +3 -42
  70. package/dist/config/datapubs.config.d.ts +72 -0
  71. package/dist/config/datapubs.config.d.ts.map +1 -0
  72. package/dist/config/datapubs.config.js +74 -0
  73. package/dist/config/i18n.config.d.ts +4 -0
  74. package/dist/config/i18n.config.d.ts.map +1 -1
  75. package/dist/config/i18n.config.js +1 -1
  76. package/dist/config/index.d.ts +4 -12
  77. package/dist/config/index.d.ts.map +1 -1
  78. package/dist/config/index.js +4 -7
  79. package/dist/config/policies.config.d.ts.map +1 -1
  80. package/dist/config/policies.config.js +23 -37
  81. package/dist/config/raid.config.d.ts +4 -7
  82. package/dist/config/raid.config.d.ts.map +1 -1
  83. package/dist/config/raid.config.js +35 -21
  84. package/dist/config/record.config.d.ts +0 -3
  85. package/dist/config/record.config.d.ts.map +1 -1
  86. package/dist/config/record.config.js +35 -37
  87. package/dist/config/recordtype.config.d.ts +9 -32
  88. package/dist/config/recordtype.config.d.ts.map +1 -1
  89. package/dist/config/recordtype.config.js +7 -4
  90. package/dist/config/routes.config.d.ts.map +1 -1
  91. package/dist/config/routes.config.js +53 -135
  92. package/dist/config/session.config.d.ts +2 -2
  93. package/dist/config/session.config.d.ts.map +1 -1
  94. package/dist/config/workflow.config.d.ts +0 -6
  95. package/dist/config/workflow.config.d.ts.map +1 -1
  96. package/dist/config/workflow.config.js +1 -1
  97. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  98. package/dist/configmodels/AdminSidebarConfig.js +2 -4
  99. package/dist/configmodels/ConfigModels.d.ts +1 -1
  100. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  101. package/dist/configmodels/ConfigModels.js +9 -26
  102. package/dist/configmodels/FigsharePublishing.d.ts +103 -0
  103. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  104. package/dist/configmodels/FigsharePublishing.js +36 -2
  105. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  106. package/dist/controllers/AppConfigController.js +1 -4
  107. package/dist/controllers/BrandingAppController.d.ts +7 -29
  108. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  109. package/dist/controllers/BrandingAppController.js +69 -265
  110. package/dist/controllers/BrandingController.d.ts +1 -24
  111. package/dist/controllers/BrandingController.d.ts.map +1 -1
  112. package/dist/controllers/BrandingController.js +43 -173
  113. package/dist/controllers/DashboardConfigController.d.ts +2 -6
  114. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  115. package/dist/controllers/DashboardConfigController.js +4 -18
  116. package/dist/controllers/DynamicAssetController.d.ts +5 -7
  117. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  118. package/dist/controllers/DynamicAssetController.js +12 -21
  119. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  120. package/dist/controllers/RecordAuditController.js +24 -6
  121. package/dist/controllers/RecordController.d.ts +4 -45
  122. package/dist/controllers/RecordController.d.ts.map +1 -1
  123. package/dist/controllers/RecordController.js +345 -778
  124. package/dist/controllers/index.d.ts.map +1 -1
  125. package/dist/controllers/index.js +1 -4
  126. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  127. package/dist/controllers/webservice/AdminController.js +3 -4
  128. package/dist/controllers/webservice/BrandingController.d.ts +1 -26
  129. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  130. package/dist/controllers/webservice/BrandingController.js +116 -292
  131. package/dist/controllers/webservice/DashboardConfigController.d.ts +17 -25
  132. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  133. package/dist/controllers/webservice/DashboardConfigController.js +205 -90
  134. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  135. package/dist/controllers/webservice/FormManagementController.js +3 -37
  136. package/dist/controllers/webservice/RecordController.d.ts +1 -15
  137. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  138. package/dist/controllers/webservice/RecordController.js +267 -647
  139. package/dist/controllers/webservice/RecordTypeController.d.ts +1 -6
  140. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  141. package/dist/controllers/webservice/RecordTypeController.js +3 -21
  142. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  143. package/dist/controllers/webservice/SearchController.js +3 -7
  144. package/dist/hooks/defineRedboxHook.d.ts +0 -3
  145. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  146. package/dist/hooks/defineRedboxHook.js +1 -4
  147. package/dist/index.d.ts +25 -50
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +4 -90
  150. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  151. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  152. package/dist/loader/bootstrapShimRuntime.js +12 -20
  153. package/dist/loader/index.d.ts +0 -9
  154. package/dist/loader/index.d.ts.map +1 -1
  155. package/dist/loader/index.js +4 -93
  156. package/dist/middleware/redboxSession.d.ts.map +1 -1
  157. package/dist/middleware/redboxSession.js +15 -3
  158. package/dist/model/BuildResponse.d.ts +11 -25
  159. package/dist/model/BuildResponse.d.ts.map +1 -1
  160. package/dist/model/BuildResponse.js +3 -4
  161. package/dist/model/DashboardTypeResponseModel.d.ts +0 -6
  162. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  163. package/dist/model/DashboardTypeResponseModel.js +1 -7
  164. package/dist/model/DashboardViewResponseModel.d.ts +1 -5
  165. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  166. package/dist/model/DashboardViewResponseModel.js +3 -6
  167. package/dist/model/RBValidationError.d.ts +0 -17
  168. package/dist/model/RBValidationError.d.ts.map +1 -1
  169. package/dist/model/RBValidationError.js +1 -37
  170. package/dist/model/RecordTypeResponseModel.d.ts +4 -12
  171. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  172. package/dist/model/RecordTypeResponseModel.js +2 -11
  173. package/dist/model/index.d.ts +1 -5
  174. package/dist/model/index.d.ts.map +1 -1
  175. package/dist/model/index.js +2 -5
  176. package/dist/model/storage/BrandingModel.d.ts +0 -7
  177. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  178. package/dist/model/storage/BrandingModel.js +1 -7
  179. package/dist/model/storage/DeletedRecordModel.d.ts +0 -35
  180. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  181. package/dist/model/storage/DeletedRecordModel.js +1 -62
  182. package/dist/model/storage/FigshareSyncModel.d.ts +126 -0
  183. package/dist/model/storage/FigshareSyncModel.d.ts.map +1 -0
  184. package/dist/model/storage/FigshareSyncModel.js +3 -0
  185. package/dist/model/storage/IntegrationAuditModel.d.ts +2 -16
  186. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  187. package/dist/model/storage/IntegrationAuditModel.js +1 -15
  188. package/dist/model/storage/RecordAuditModel.d.ts +4 -11
  189. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  190. package/dist/model/storage/RecordAuditModel.js +30 -8
  191. package/dist/model/storage/RecordModel.d.ts +3 -6
  192. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  193. package/dist/model/storage/RecordTypeModel.d.ts +0 -6
  194. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  195. package/dist/model/storage/RecordTypeModel.js +1 -4
  196. package/dist/model/storage/index.d.ts +10 -12
  197. package/dist/model/storage/index.d.ts.map +1 -1
  198. package/dist/model/storage/index.js +2 -24
  199. package/dist/policies/checkAuth.d.ts +6 -2
  200. package/dist/policies/checkAuth.d.ts.map +1 -1
  201. package/dist/policies/checkAuth.js +9 -32
  202. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  203. package/dist/policies/contentSecurityPolicy.js +2 -85
  204. package/dist/policies/index.d.ts +2 -3
  205. package/dist/policies/index.d.ts.map +1 -1
  206. package/dist/policies/index.js +2 -4
  207. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  208. package/dist/policies/validateApiContractRequest.js +11 -49
  209. package/dist/services/AgendaQueueService.d.ts +1 -1
  210. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  211. package/dist/services/AgendaQueueService.js +7 -4
  212. package/dist/services/AppConfigService.d.ts +0 -6
  213. package/dist/services/AppConfigService.d.ts.map +1 -1
  214. package/dist/services/AppConfigService.js +1 -23
  215. package/dist/services/AttachmentMetadataService.d.ts +0 -58
  216. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  217. package/dist/services/AttachmentMetadataService.js +8 -643
  218. package/dist/services/BrandingLogoService.d.ts +1 -6
  219. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  220. package/dist/services/BrandingLogoService.js +9 -77
  221. package/dist/services/BrandingService.d.ts +9 -171
  222. package/dist/services/BrandingService.d.ts.map +1 -1
  223. package/dist/services/BrandingService.js +68 -572
  224. package/dist/services/BrandingThemeCssService.d.ts +1 -17
  225. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  226. package/dist/services/BrandingThemeCssService.js +12 -71
  227. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  228. package/dist/services/BrandingThemeTokens.js +2 -1
  229. package/dist/services/DashboardConfigService.d.ts +54 -214
  230. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  231. package/dist/services/DashboardConfigService.js +261 -829
  232. package/dist/services/DashboardTypesService.d.ts +4 -15
  233. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  234. package/dist/services/DashboardTypesService.js +139 -72
  235. package/dist/services/DoiService.d.ts +1 -1
  236. package/dist/services/DoiService.d.ts.map +1 -1
  237. package/dist/services/DoiService.js +45 -71
  238. package/dist/services/FigshareService.d.ts +15 -10
  239. package/dist/services/FigshareService.d.ts.map +1 -1
  240. package/dist/services/FigshareService.js +82 -583
  241. package/dist/services/FormRecordConsistencyService.d.ts +23 -8
  242. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  243. package/dist/services/FormRecordConsistencyService.js +70 -54
  244. package/dist/services/FormsService.d.ts +2 -91
  245. package/dist/services/FormsService.d.ts.map +1 -1
  246. package/dist/services/FormsService.js +64 -324
  247. package/dist/services/HarvestRunService.d.ts +3 -6
  248. package/dist/services/HarvestRunService.d.ts.map +1 -1
  249. package/dist/services/HarvestRunService.js +97 -161
  250. package/dist/services/I18nEntriesService.d.ts +2 -1
  251. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  252. package/dist/services/I18nEntriesService.js +45 -30
  253. package/dist/services/OniService.d.ts +62 -19
  254. package/dist/services/OniService.d.ts.map +1 -1
  255. package/dist/services/OniService.js +691 -223
  256. package/dist/services/RDMPService.d.ts +1 -1
  257. package/dist/services/RDMPService.d.ts.map +1 -1
  258. package/dist/services/RDMPService.js +5 -5
  259. package/dist/services/RaidService.d.ts +61 -19
  260. package/dist/services/RaidService.d.ts.map +1 -1
  261. package/dist/services/RaidService.js +530 -191
  262. package/dist/services/RecordTypesService.d.ts +0 -29
  263. package/dist/services/RecordTypesService.d.ts.map +1 -1
  264. package/dist/services/RecordTypesService.js +11 -106
  265. package/dist/services/RecordsService.d.ts +26 -313
  266. package/dist/services/RecordsService.d.ts.map +1 -1
  267. package/dist/services/RecordsService.js +763 -5089
  268. package/dist/services/SolrSearchService.d.ts +1 -1
  269. package/dist/services/SolrSearchService.d.ts.map +1 -1
  270. package/dist/services/SolrSearchService.js +12 -42
  271. package/dist/services/StandardDatastreamService.d.ts +5 -4
  272. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  273. package/dist/services/StandardDatastreamService.js +61 -106
  274. package/dist/services/TriggerService.d.ts.map +1 -1
  275. package/dist/services/TriggerService.js +30 -54
  276. package/dist/services/UsersService.d.ts +1 -2
  277. package/dist/services/UsersService.d.ts.map +1 -1
  278. package/dist/services/UsersService.js +283 -364
  279. package/dist/services/VocabularyService.d.ts +0 -2
  280. package/dist/services/VocabularyService.d.ts.map +1 -1
  281. package/dist/services/VocabularyService.js +2 -61
  282. package/dist/services/WorkflowStepsService.d.ts +0 -11
  283. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  284. package/dist/services/WorkflowStepsService.js +3 -32
  285. package/dist/services/WorkspaceService.d.ts +2 -2
  286. package/dist/services/WorkspaceService.d.ts.map +1 -1
  287. package/dist/services/WorkspaceService.js +5 -5
  288. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  289. package/dist/services/doi-v2/bindings.js +20 -3
  290. package/dist/services/doi-v2/config.d.ts +0 -1
  291. package/dist/services/doi-v2/config.d.ts.map +1 -1
  292. package/dist/services/doi-v2/config.js +5 -13
  293. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  294. package/dist/services/doi-v2/runtime.js +54 -14
  295. package/dist/services/figshare-v2/admin.d.ts +16 -0
  296. package/dist/services/figshare-v2/admin.d.ts.map +1 -0
  297. package/dist/services/figshare-v2/admin.js +283 -0
  298. package/dist/services/figshare-v2/assets.d.ts +20 -1
  299. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  300. package/dist/services/figshare-v2/assets.js +16 -1
  301. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  302. package/dist/services/figshare-v2/bindings.js +20 -3
  303. package/dist/services/figshare-v2/config.d.ts +8 -2
  304. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  305. package/dist/services/figshare-v2/config.js +31 -3
  306. package/dist/services/figshare-v2/execution.d.ts +25 -0
  307. package/dist/services/figshare-v2/execution.d.ts.map +1 -0
  308. package/dist/services/figshare-v2/execution.js +49 -0
  309. package/dist/services/figshare-v2/http.d.ts +6 -1
  310. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  311. package/dist/services/figshare-v2/http.js +69 -12
  312. package/dist/services/figshare-v2/identity.d.ts +12 -0
  313. package/dist/services/figshare-v2/identity.d.ts.map +1 -0
  314. package/dist/services/figshare-v2/identity.js +78 -0
  315. package/dist/services/figshare-v2/managed-assets.d.ts +9 -0
  316. package/dist/services/figshare-v2/managed-assets.d.ts.map +1 -0
  317. package/dist/services/figshare-v2/managed-assets.js +229 -0
  318. package/dist/services/figshare-v2/plan.d.ts.map +1 -1
  319. package/dist/services/figshare-v2/plan.js +2 -9
  320. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  321. package/dist/services/figshare-v2/runtime.js +58 -11
  322. package/dist/services/figshare-v2/source-intent.d.ts +9 -0
  323. package/dist/services/figshare-v2/source-intent.d.ts.map +1 -0
  324. package/dist/services/figshare-v2/source-intent.js +93 -0
  325. package/dist/services/figshare-v2/status.d.ts +4 -0
  326. package/dist/services/figshare-v2/status.d.ts.map +1 -0
  327. package/dist/services/figshare-v2/status.js +29 -0
  328. package/dist/services/figshare-v2/sync-store.d.ts +27 -0
  329. package/dist/services/figshare-v2/sync-store.d.ts.map +1 -0
  330. package/dist/services/figshare-v2/sync-store.js +139 -0
  331. package/dist/services/figshare-v2/types.d.ts +3 -0
  332. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  333. package/dist/services/figshare-v2/types.js +1 -1
  334. package/dist/services/figshare-v2/worker.d.ts +16 -0
  335. package/dist/services/figshare-v2/worker.d.ts.map +1 -0
  336. package/dist/services/figshare-v2/worker.js +572 -0
  337. package/dist/services/index.d.ts +0 -9
  338. package/dist/services/index.d.ts.map +1 -1
  339. package/dist/services/index.js +3 -45
  340. package/dist/utilities/TranslationHtml.d.ts +3 -0
  341. package/dist/utilities/TranslationHtml.d.ts.map +1 -0
  342. package/dist/utilities/TranslationHtml.js +46 -0
  343. package/dist/visitor/client.visitor.d.ts +0 -6
  344. package/dist/visitor/client.visitor.d.ts.map +1 -1
  345. package/dist/visitor/client.visitor.js +14 -59
  346. package/dist/visitor/construct.visitor.d.ts +1 -27
  347. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  348. package/dist/visitor/construct.visitor.js +177 -265
  349. package/dist/visitor/context-variables.visitor.d.ts +1 -3
  350. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  351. package/dist/visitor/context-variables.visitor.js +1 -15
  352. package/dist/visitor/data-value.visitor.d.ts +0 -6
  353. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  354. package/dist/visitor/data-value.visitor.js +1 -10
  355. package/dist/visitor/json-type-def.visitor.d.ts +0 -6
  356. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  357. package/dist/visitor/json-type-def.visitor.js +1 -10
  358. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +0 -11
  359. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  360. package/dist/visitor/migrate-config-v4-v5.visitor.js +133 -228
  361. package/dist/visitor/template.visitor.d.ts +2 -17
  362. package/dist/visitor/template.visitor.d.ts.map +1 -1
  363. package/dist/visitor/template.visitor.js +22 -60
  364. package/dist/visitor/validator.visitor.d.ts +7 -49
  365. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  366. package/dist/visitor/validator.visitor.js +178 -275
  367. package/dist/waterline-models/AttachmentMetadata.d.ts +0 -22
  368. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  369. package/dist/waterline-models/AttachmentMetadata.js +3 -147
  370. package/dist/waterline-models/BrandingConfig.d.ts +0 -7
  371. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  372. package/dist/waterline-models/BrandingConfig.js +1 -16
  373. package/dist/waterline-models/BrandingConfigHistory.d.ts +2 -11
  374. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  375. package/dist/waterline-models/BrandingConfigHistory.js +1 -21
  376. package/dist/waterline-models/FigshareSync.d.ts +41 -0
  377. package/dist/waterline-models/FigshareSync.d.ts.map +1 -0
  378. package/dist/waterline-models/FigshareSync.js +168 -0
  379. package/dist/waterline-models/RecordType.d.ts +0 -9
  380. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  381. package/dist/waterline-models/RecordType.js +1 -16
  382. package/dist/waterline-models/User.d.ts +2 -2
  383. package/dist/waterline-models/User.d.ts.map +1 -1
  384. package/dist/waterline-models/User.js +17 -12
  385. package/dist/waterline-models/index.d.ts +2 -2
  386. package/dist/waterline-models/index.d.ts.map +1 -1
  387. package/dist/waterline-models/index.js +4 -4
  388. package/package.json +46 -59
  389. package/dist/AttachmentStagingIdentity.d.ts +0 -3
  390. package/dist/AttachmentStagingIdentity.d.ts.map +0 -1
  391. package/dist/AttachmentStagingIdentity.js +0 -10
  392. package/dist/RecordConcurrencyObservability.d.ts +0 -51
  393. package/dist/RecordConcurrencyObservability.d.ts.map +0 -1
  394. package/dist/RecordConcurrencyObservability.js +0 -136
  395. package/dist/RecordEntityTag.d.ts +0 -31
  396. package/dist/RecordEntityTag.d.ts.map +0 -1
  397. package/dist/RecordEntityTag.js +0 -101
  398. package/dist/RecordFormFingerprint.d.ts +0 -7
  399. package/dist/RecordFormFingerprint.d.ts.map +0 -1
  400. package/dist/RecordFormFingerprint.js +0 -106
  401. package/dist/RecordHttpConcurrency.d.ts +0 -60
  402. package/dist/RecordHttpConcurrency.d.ts.map +0 -1
  403. package/dist/RecordHttpConcurrency.js +0 -181
  404. package/dist/RecordSaveResponse.d.ts +0 -219
  405. package/dist/RecordSaveResponse.d.ts.map +0 -1
  406. package/dist/RecordSaveResponse.js +0 -639
  407. package/dist/RecordStorageConcurrency.d.ts +0 -48
  408. package/dist/RecordStorageConcurrency.d.ts.map +0 -1
  409. package/dist/RecordStorageConcurrency.js +0 -103
  410. package/dist/RecordWriteClassification.d.ts +0 -12
  411. package/dist/RecordWriteClassification.d.ts.map +0 -1
  412. package/dist/RecordWriteClassification.js +0 -70
  413. package/dist/action-execution/audit.d.ts +0 -41
  414. package/dist/action-execution/audit.d.ts.map +0 -1
  415. package/dist/action-execution/audit.js +0 -122
  416. package/dist/action-execution/executor.d.ts +0 -24
  417. package/dist/action-execution/executor.d.ts.map +0 -1
  418. package/dist/action-execution/executor.js +0 -435
  419. package/dist/action-execution/failure.d.ts +0 -49
  420. package/dist/action-execution/failure.d.ts.map +0 -1
  421. package/dist/action-execution/failure.js +0 -129
  422. package/dist/action-execution/index.d.ts +0 -7
  423. package/dist/action-execution/index.d.ts.map +0 -1
  424. package/dist/action-execution/index.js +0 -23
  425. package/dist/action-execution/legacy-result.d.ts +0 -21
  426. package/dist/action-execution/legacy-result.d.ts.map +0 -1
  427. package/dist/action-execution/legacy-result.js +0 -70
  428. package/dist/action-execution/policy.d.ts +0 -12
  429. package/dist/action-execution/policy.d.ts.map +0 -1
  430. package/dist/action-execution/policy.js +0 -138
  431. package/dist/action-execution/types.d.ts +0 -121
  432. package/dist/action-execution/types.d.ts.map +0 -1
  433. package/dist/action-execution/types.js +0 -22
  434. package/dist/api-routes/groups/record-schemas.d.ts +0 -5
  435. package/dist/api-routes/groups/record-schemas.d.ts.map +0 -1
  436. package/dist/api-routes/groups/record-schemas.js +0 -181
  437. package/dist/api-routes/record-schema-openapi.d.ts +0 -26
  438. package/dist/api-routes/record-schema-openapi.d.ts.map +0 -1
  439. package/dist/api-routes/record-schema-openapi.js +0 -38
  440. package/dist/api-routes/record-schema-response.d.ts +0 -40
  441. package/dist/api-routes/record-schema-response.d.ts.map +0 -1
  442. package/dist/api-routes/record-schema-response.js +0 -89
  443. package/dist/config/recordSchema.config.d.ts +0 -68
  444. package/dist/config/recordSchema.config.d.ts.map +0 -1
  445. package/dist/config/recordSchema.config.js +0 -173
  446. package/dist/config/recordValidation.config.d.ts +0 -19
  447. package/dist/config/recordValidation.config.d.ts.map +0 -1
  448. package/dist/config/recordValidation.config.js +0 -10
  449. package/dist/configmodels/DashboardFieldCatalogue.d.ts +0 -67
  450. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +0 -1
  451. package/dist/configmodels/DashboardFieldCatalogue.js +0 -174
  452. package/dist/configmodels/DashboardSettings.d.ts +0 -191
  453. package/dist/configmodels/DashboardSettings.d.ts.map +0 -1
  454. package/dist/configmodels/DashboardSettings.js +0 -705
  455. package/dist/configmodels/OniPublishing.d.ts +0 -205
  456. package/dist/configmodels/OniPublishing.d.ts.map +0 -1
  457. package/dist/configmodels/OniPublishing.js +0 -335
  458. package/dist/configmodels/RaidPublishing.d.ts +0 -97
  459. package/dist/configmodels/RaidPublishing.d.ts.map +0 -1
  460. package/dist/configmodels/RaidPublishing.js +0 -35
  461. package/dist/configmodels/WebAnalytics.d.ts +0 -55
  462. package/dist/configmodels/WebAnalytics.d.ts.map +0 -1
  463. package/dist/configmodels/WebAnalytics.js +0 -61
  464. package/dist/controllers/BrandingControllerSupport.d.ts +0 -20
  465. package/dist/controllers/BrandingControllerSupport.d.ts.map +0 -1
  466. package/dist/controllers/BrandingControllerSupport.js +0 -80
  467. package/dist/controllers/webservice/RecordSchemaController.d.ts +0 -32
  468. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +0 -1
  469. package/dist/controllers/webservice/RecordSchemaController.js +0 -356
  470. package/dist/model/BrandingTypeface.d.ts +0 -70
  471. package/dist/model/BrandingTypeface.d.ts.map +0 -1
  472. package/dist/model/BrandingTypeface.js +0 -116
  473. package/dist/model/record-contract.d.ts +0 -42
  474. package/dist/model/record-contract.d.ts.map +0 -1
  475. package/dist/model/record-contract.js +0 -3
  476. package/dist/model/storage/record-schema.d.ts +0 -115
  477. package/dist/model/storage/record-schema.d.ts.map +0 -1
  478. package/dist/model/storage/record-schema.js +0 -3
  479. package/dist/record-contract/ajv-error-mapper.d.ts +0 -34
  480. package/dist/record-contract/ajv-error-mapper.d.ts.map +0 -1
  481. package/dist/record-contract/ajv-error-mapper.js +0 -153
  482. package/dist/record-contract/canonical-json.d.ts +0 -20
  483. package/dist/record-contract/canonical-json.d.ts.map +0 -1
  484. package/dist/record-contract/canonical-json.js +0 -126
  485. package/dist/record-contract/codes.d.ts +0 -36
  486. package/dist/record-contract/codes.d.ts.map +0 -1
  487. package/dist/record-contract/codes.js +0 -38
  488. package/dist/record-contract/contributor-registry.d.ts +0 -76
  489. package/dist/record-contract/contributor-registry.d.ts.map +0 -1
  490. package/dist/record-contract/contributor-registry.js +0 -126
  491. package/dist/record-contract/core-contributors.d.ts +0 -44
  492. package/dist/record-contract/core-contributors.d.ts.map +0 -1
  493. package/dist/record-contract/core-contributors.js +0 -395
  494. package/dist/record-contract/deep-freeze.d.ts +0 -3
  495. package/dist/record-contract/deep-freeze.d.ts.map +0 -1
  496. package/dist/record-contract/deep-freeze.js +0 -23
  497. package/dist/record-contract/index.d.ts +0 -13
  498. package/dist/record-contract/index.d.ts.map +0 -1
  499. package/dist/record-contract/index.js +0 -29
  500. package/dist/record-contract/json-pointer.d.ts +0 -20
  501. package/dist/record-contract/json-pointer.d.ts.map +0 -1
  502. package/dist/record-contract/json-pointer.js +0 -70
  503. package/dist/record-contract/json-schema-renderer.d.ts +0 -51
  504. package/dist/record-contract/json-schema-renderer.d.ts.map +0 -1
  505. package/dist/record-contract/json-schema-renderer.js +0 -450
  506. package/dist/record-contract/record-contract-compiler.d.ts +0 -42
  507. package/dist/record-contract/record-contract-compiler.d.ts.map +0 -1
  508. package/dist/record-contract/record-contract-compiler.js +0 -775
  509. package/dist/record-contract/record-contract-context.d.ts +0 -91
  510. package/dist/record-contract/record-contract-context.d.ts.map +0 -1
  511. package/dist/record-contract/record-contract-context.js +0 -39
  512. package/dist/record-contract/record-json-schema-artifact.d.ts +0 -74
  513. package/dist/record-contract/record-json-schema-artifact.d.ts.map +0 -1
  514. package/dist/record-contract/record-json-schema-artifact.js +0 -309
  515. package/dist/record-contract/record-json-schema-etag.d.ts +0 -15
  516. package/dist/record-contract/record-json-schema-etag.d.ts.map +0 -1
  517. package/dist/record-contract/record-json-schema-etag.js +0 -41
  518. package/dist/record-contract/types.d.ts +0 -151
  519. package/dist/record-contract/types.d.ts.map +0 -1
  520. package/dist/record-contract/types.js +0 -6
  521. package/dist/services/BrandingTypefaceService.d.ts +0 -74
  522. package/dist/services/BrandingTypefaceService.d.ts.map +0 -1
  523. package/dist/services/BrandingTypefaceService.js +0 -359
  524. package/dist/services/BrandingWoff2Inspector.d.ts +0 -17
  525. package/dist/services/BrandingWoff2Inspector.d.ts.map +0 -1
  526. package/dist/services/BrandingWoff2Inspector.js +0 -402
  527. package/dist/services/DashboardLegacyConversion.d.ts +0 -82
  528. package/dist/services/DashboardLegacyConversion.d.ts.map +0 -1
  529. package/dist/services/DashboardLegacyConversion.js +0 -427
  530. package/dist/services/RecordSchemaService.d.ts +0 -440
  531. package/dist/services/RecordSchemaService.d.ts.map +0 -1
  532. package/dist/services/RecordSchemaService.js +0 -3061
  533. package/dist/services/RecordValidationService.d.ts +0 -340
  534. package/dist/services/RecordValidationService.d.ts.map +0 -1
  535. package/dist/services/RecordValidationService.js +0 -1898
  536. package/dist/services/form-record-access-user.d.ts +0 -3
  537. package/dist/services/form-record-access-user.d.ts.map +0 -1
  538. package/dist/services/form-record-access-user.js +0 -23
  539. package/dist/services/integration-v2/bindings.d.ts +0 -3
  540. package/dist/services/integration-v2/bindings.d.ts.map +0 -1
  541. package/dist/services/integration-v2/bindings.js +0 -91
  542. package/dist/services/integration-v2/runtime.d.ts +0 -3
  543. package/dist/services/integration-v2/runtime.d.ts.map +0 -1
  544. package/dist/services/integration-v2/runtime.js +0 -50
  545. package/dist/services/internal-record-schema-authorization.d.ts +0 -8
  546. package/dist/services/internal-record-schema-authorization.d.ts.map +0 -1
  547. package/dist/services/internal-record-schema-authorization.js +0 -16
  548. package/dist/services/oni-v2/audit.d.ts +0 -19
  549. package/dist/services/oni-v2/audit.d.ts.map +0 -1
  550. package/dist/services/oni-v2/audit.js +0 -50
  551. package/dist/services/oni-v2/bindings.d.ts +0 -7
  552. package/dist/services/oni-v2/bindings.d.ts.map +0 -1
  553. package/dist/services/oni-v2/bindings.js +0 -31
  554. package/dist/services/oni-v2/config.d.ts +0 -12
  555. package/dist/services/oni-v2/config.d.ts.map +0 -1
  556. package/dist/services/oni-v2/config.js +0 -134
  557. package/dist/services/oni-v2/context.d.ts +0 -3
  558. package/dist/services/oni-v2/context.d.ts.map +0 -1
  559. package/dist/services/oni-v2/context.js +0 -17
  560. package/dist/services/oni-v2/crate.d.ts +0 -17
  561. package/dist/services/oni-v2/crate.d.ts.map +0 -1
  562. package/dist/services/oni-v2/crate.js +0 -504
  563. package/dist/services/oni-v2/flydriveOcflStore.d.ts +0 -69
  564. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +0 -1
  565. package/dist/services/oni-v2/flydriveOcflStore.js +0 -325
  566. package/dist/services/oni-v2/ingestion.d.ts +0 -37
  567. package/dist/services/oni-v2/ingestion.d.ts.map +0 -1
  568. package/dist/services/oni-v2/ingestion.js +0 -91
  569. package/dist/services/oni-v2/mapping.d.ts +0 -17
  570. package/dist/services/oni-v2/mapping.d.ts.map +0 -1
  571. package/dist/services/oni-v2/mapping.js +0 -137
  572. package/dist/services/oni-v2/repository.d.ts +0 -9
  573. package/dist/services/oni-v2/repository.d.ts.map +0 -1
  574. package/dist/services/oni-v2/repository.js +0 -180
  575. package/dist/services/oni-v2/runtime.d.ts +0 -23
  576. package/dist/services/oni-v2/runtime.d.ts.map +0 -1
  577. package/dist/services/oni-v2/runtime.js +0 -121
  578. package/dist/services/oni-v2/templating.d.ts +0 -11
  579. package/dist/services/oni-v2/templating.d.ts.map +0 -1
  580. package/dist/services/oni-v2/templating.js +0 -27
  581. package/dist/services/oni-v2/types.d.ts +0 -100
  582. package/dist/services/oni-v2/types.d.ts.map +0 -1
  583. package/dist/services/oni-v2/types.js +0 -3
  584. package/dist/services/raid-v2/audit.d.ts +0 -10
  585. package/dist/services/raid-v2/audit.d.ts.map +0 -1
  586. package/dist/services/raid-v2/audit.js +0 -29
  587. package/dist/services/raid-v2/errors.d.ts +0 -85
  588. package/dist/services/raid-v2/errors.d.ts.map +0 -1
  589. package/dist/services/raid-v2/errors.js +0 -36
  590. package/dist/services/raid-v2/http.d.ts +0 -4
  591. package/dist/services/raid-v2/http.d.ts.map +0 -1
  592. package/dist/services/raid-v2/http.js +0 -84
  593. package/dist/services/raid-v2/logger.d.ts +0 -8
  594. package/dist/services/raid-v2/logger.d.ts.map +0 -1
  595. package/dist/services/raid-v2/logger.js +0 -30
  596. package/dist/services/raid-v2/mapping.d.ts +0 -9
  597. package/dist/services/raid-v2/mapping.d.ts.map +0 -1
  598. package/dist/services/raid-v2/mapping.js +0 -168
  599. package/dist/services/raid-v2/runtime.d.ts +0 -5
  600. package/dist/services/raid-v2/runtime.d.ts.map +0 -1
  601. package/dist/services/raid-v2/runtime.js +0 -135
  602. package/dist/services/raid-v2/tags.d.ts +0 -11
  603. package/dist/services/raid-v2/tags.d.ts.map +0 -1
  604. package/dist/services/raid-v2/tags.js +0 -12
  605. package/dist/services/raid-v2/types.d.ts +0 -66
  606. package/dist/services/raid-v2/types.d.ts.map +0 -1
  607. package/dist/services/raid-v2/types.js +0 -3
  608. package/dist/services/record-hooks/coordinator.d.ts +0 -64
  609. package/dist/services/record-hooks/coordinator.d.ts.map +0 -1
  610. package/dist/services/record-hooks/coordinator.js +0 -276
  611. package/dist/visitor/related-object-data-inline.visitor.d.ts +0 -31
  612. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +0 -1
  613. package/dist/visitor/related-object-data-inline.visitor.js +0 -96
  614. package/dist/waterline-models/DashboardConfiguration.d.ts +0 -29
  615. package/dist/waterline-models/DashboardConfiguration.d.ts.map +0 -1
  616. package/dist/waterline-models/DashboardConfiguration.js +0 -52
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/doi-v2/config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAsBvE,wBAAgB,yBAAyB,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAUhF;AAED,wBAAgB,0BAA0B,CACxC,MAAM,CAAC,EAAE,cAAc,GACtB,aAAa,GAAG,IAAI,CAMtB;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,aAAa,GAAG,MAAM,GAC/B,aAAa,GAAG,IAAI,CAMtB;AAED,wBAAsB,+BAA+B,CACnD,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAG/B"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/services/doi-v2/config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAEd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAsBvE,wBAAgB,0BAA0B,CACxC,MAAM,CAAC,EAAE,cAAc,GACtB,aAAa,GAAG,IAAI,CAUtB;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,aAAa,GAAG,MAAM,GAC/B,aAAa,GAAG,IAAI,CAMtB;AAED,wBAAsB,+BAA+B,CACnD,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAG/B"}
@@ -3,7 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolveDoiPublishingBrand = resolveDoiPublishingBrand;
7
6
  exports.resolveDoiPublishingConfig = resolveDoiPublishingConfig;
8
7
  exports.resolveDoiPublishingConfigForBrand = resolveDoiPublishingConfigForBrand;
9
8
  exports.resolveDoiPublishingConfigAsync = resolveDoiPublishingConfigAsync;
@@ -27,21 +26,14 @@ function resolveBrandConfig(brandName) {
27
26
  }
28
27
  return null;
29
28
  }
30
- function resolveDoiPublishingBrand(record) {
31
- const brandId = String(record?.metaMetadata?.brandId ?? '').trim();
29
+ function resolveDoiPublishingConfig(record) {
30
+ const brandId = record?.metaMetadata?.brandId;
32
31
  if (!brandId) {
33
32
  throw new Error('Cannot resolve DOI publishing config: record does not have a brand');
34
33
  }
35
- const brand = BrandingService.getBrandById(brandId);
36
- if (brand == null) {
37
- throw new Error(`Cannot resolve DOI publishing config: unknown brand id '${brandId}'`);
38
- }
39
- return brand;
40
- }
41
- function resolveDoiPublishingConfig(record) {
42
- const brandName = resolveDoiPublishingBrand(record).name;
34
+ const brandName = BrandingService.getBrandById(brandId)?.name;
43
35
  if (lodash_1.default.isEmpty(brandName)) {
44
- throw new Error('Cannot resolve DOI publishing config: resolved brand does not have a name');
36
+ throw new Error(`Cannot resolve DOI publishing config: unknown brand id '${brandId}'`);
45
37
  }
46
38
  return resolveBrandConfig(String(brandName));
47
39
  }
@@ -56,4 +48,4 @@ async function resolveDoiPublishingConfigAsync(record) {
56
48
  // Always use cached branding-aware config; do not hit AppConfigService
57
49
  return resolveDoiPublishingConfig(record);
58
50
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2RvaS12Mi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0QkEsOERBVUM7QUFFRCxnRUFRQztBQUVELGdGQVFDO0FBRUQsMEVBS0M7QUFqRUQsb0RBQXVCO0FBQ3ZCLG9FQUcwQztBQUkxQyxNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLHlCQUF5QjtJQUN6QixtQkFBbUI7Q0FDWCxDQUFDO0FBRVgsU0FBUyxrQkFBa0IsQ0FBQyxTQUFpQjtJQUMzQyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxhQUEwQyxDQUFDO0lBQ25HLElBQUksU0FBUyxFQUFFLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxNQUFNLGNBQWMsR0FBRyxnQkFBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQWtCLENBQUM7UUFDL0QsY0FBYyxDQUFDLFVBQVUsR0FBRztZQUMxQixHQUFHLGNBQWMsQ0FBQyxVQUFVO1lBQzVCLFFBQVEsRUFBRSxJQUFBLDRDQUE0QixFQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUN6RSxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsOEJBQThCLENBQUM7YUFDekQsQ0FBQztTQUNILENBQUM7UUFDRixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0IseUJBQXlCLENBQUMsTUFBdUI7SUFDL0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25FLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQiwwQkFBMEIsQ0FDeEMsTUFBdUI7SUFFdkIsTUFBTSxTQUFTLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pELElBQUksZ0JBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUNELE9BQU8sa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQztBQUVELFNBQWdCLGtDQUFrQyxDQUNoRCxRQUFnQztJQUVoQyxNQUFNLFNBQVMsR0FBRyxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztJQUMzRSxJQUFJLGdCQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFTSxLQUFLLFVBQVUsK0JBQStCLENBQ25ELE1BQXVCO0lBRXZCLHVFQUF1RTtJQUN2RSxPQUFPLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVDLENBQUMifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2RvaS12Mi9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUE0QkEsZ0VBWUM7QUFFRCxnRkFRQztBQUVELDBFQUtDO0FBekRELG9EQUF1QjtBQUN2QixvRUFHMEM7QUFJMUMsTUFBTSw4QkFBOEIsR0FBRztJQUNyQyx5QkFBeUI7SUFDekIsbUJBQW1CO0NBQ1gsQ0FBQztBQUVYLFNBQVMsa0JBQWtCLENBQUMsU0FBaUI7SUFDM0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBMEMsQ0FBQztJQUNuRyxJQUFJLFNBQVMsRUFBRSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEMsTUFBTSxjQUFjLEdBQUcsZ0JBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFrQixDQUFDO1FBQy9ELGNBQWMsQ0FBQyxVQUFVLEdBQUc7WUFDMUIsR0FBRyxjQUFjLENBQUMsVUFBVTtZQUM1QixRQUFRLEVBQUUsSUFBQSw0Q0FBNEIsRUFBQyxjQUFjLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDekUsbUJBQW1CLEVBQUUsQ0FBQyxHQUFHLDhCQUE4QixDQUFDO2FBQ3pELENBQUM7U0FDSCxDQUFDO1FBQ0YsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQWdCLDBCQUEwQixDQUN4QyxNQUF1QjtJQUV2QixNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQztJQUM5QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLG9FQUFvRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQzlELElBQUksZ0JBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFDRCxPQUFPLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFnQixrQ0FBa0MsQ0FDaEQsUUFBZ0M7SUFFaEMsTUFBTSxTQUFTLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7SUFDM0UsSUFBSSxnQkFBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztJQUNsRixDQUFDO0lBQ0QsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUMvQyxDQUFDO0FBRU0sS0FBSyxVQUFVLCtCQUErQixDQUNuRCxNQUF1QjtJQUV2Qix1RUFBdUU7SUFDdkUsT0FBTywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM1QyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/services/doi-v2/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAK1E,eAAO,MAAM,YAAY,2CAAwD,CAAC;AAClF,eAAO,MAAM,gBAAgB,2CAA4D,CAAC;AAE1F,KAAK,sBAAsB,GAAG;IAC5B,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,yFAMhF;AAyFD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAqB7B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/services/doi-v2/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAU,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAI1E,eAAO,MAAM,YAAY,2CAAwD,CAAC;AAClF,eAAO,MAAM,gBAAgB,2CAA4D,CAAC;AAE1F,KAAK,sBAAsB,GAAG;IAC5B,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,yFAMhF;AA4FD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAsB7B;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,aAAa,EACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAqB7B"}
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.DoiRunContextTag = exports.DoiConfigTag = void 0;
4
37
  exports.makeRuntimeLayer = makeRuntimeLayer;
@@ -7,15 +40,26 @@ exports.runUpdateDoiProgram = runUpdateDoiProgram;
7
40
  exports.runDeleteDoiProgram = runDeleteDoiProgram;
8
41
  exports.runChangeDoiStateProgram = runChangeDoiStateProgram;
9
42
  const effect_1 = require("effect");
43
+ const Cause = __importStar(require("effect/Cause"));
10
44
  const http_1 = require("./http");
11
45
  const audit_1 = require("./audit");
12
46
  const IntegrationAuditModel_1 = require("../../model/storage/IntegrationAuditModel");
13
- const runtime_1 = require("../integration-v2/runtime");
14
47
  exports.DoiConfigTag = effect_1.Context.GenericTag('redbox/DoiConfig');
15
48
  exports.DoiRunContextTag = effect_1.Context.GenericTag('redbox/DoiRunContext');
16
49
  function makeRuntimeLayer(config, runContext) {
17
50
  return effect_1.Layer.mergeAll(effect_1.Layer.succeed(exports.DoiConfigTag, config), effect_1.Layer.succeed(exports.DoiRunContextTag, runContext), (0, http_1.makeClientLayer)(config, runContext));
18
51
  }
52
+ async function runProgram(program) {
53
+ const exit = await effect_1.Effect.runPromiseExit(program);
54
+ if (exit._tag === 'Success') {
55
+ return exit.value;
56
+ }
57
+ const failure = Cause.failureOrCause(exit.cause);
58
+ if (failure._tag === 'Left') {
59
+ throw failure.left;
60
+ }
61
+ throw Cause.squash(failure.right);
62
+ }
19
63
  function buildHttpRequestSummary(requestSummary, method, path) {
20
64
  return {
21
65
  ...(requestSummary ?? {}),
@@ -62,12 +106,8 @@ async function runAuditedHttpOperation(auditAction, runContext, requestSummary,
62
106
  (0, audit_1.failDoiAudit)(auditCtx, error, {
63
107
  message: failureMessage,
64
108
  requestSummary,
65
- httpStatusCode: error instanceof Error && 'statusCode' in error
66
- ? error.statusCode
67
- : undefined,
68
- responseSummary: error instanceof Error && 'responseBody' in error
69
- ? error.responseBody
70
- : undefined,
109
+ httpStatusCode: error instanceof Error && 'statusCode' in error ? error.statusCode : undefined,
110
+ responseSummary: error instanceof Error && 'responseBody' in error ? error.responseBody : undefined,
71
111
  });
72
112
  throw error;
73
113
  }
@@ -84,7 +124,7 @@ async function runCreateDoiProgram(config, runContext, payload, options = {}) {
84
124
  responseSummary,
85
125
  };
86
126
  }).pipe(effect_1.Effect.provide(makeRuntimeLayer(config, runContext)));
87
- return (0, runtime_1.runEffectProgram)(program);
127
+ return runProgram(program);
88
128
  });
89
129
  }
90
130
  async function runUpdateDoiProgram(config, runContext, doi, payload, options = {}) {
@@ -99,7 +139,7 @@ async function runUpdateDoiProgram(config, runContext, doi, payload, options = {
99
139
  responseSummary,
100
140
  };
101
141
  }).pipe(effect_1.Effect.provide(makeRuntimeLayer(config, runContext)));
102
- return (0, runtime_1.runEffectProgram)(program);
142
+ return runProgram(program);
103
143
  });
104
144
  }
105
145
  async function runDeleteDoiProgram(config, runContext, doi, options = {}) {
@@ -110,10 +150,10 @@ async function runDeleteDoiProgram(config, runContext, doi, options = {}) {
110
150
  return {
111
151
  doi,
112
152
  statusCode: response.statusCode,
113
- responseSummary: { deleted: response.statusCode === 204, doi },
153
+ responseSummary: { deleted: response.statusCode === 204, doi }
114
154
  };
115
155
  }).pipe(effect_1.Effect.provide(makeRuntimeLayer(config, runContext)));
116
- return (0, runtime_1.runEffectProgram)(program);
156
+ return runProgram(program);
117
157
  });
118
158
  }
119
159
  async function runChangeDoiStateProgram(config, runContext, doi, event, options = {}) {
@@ -124,10 +164,10 @@ async function runChangeDoiStateProgram(config, runContext, doi, event, options
124
164
  return {
125
165
  doi,
126
166
  statusCode: response.statusCode,
127
- responseSummary: { changed: response.statusCode === 200, doi, event },
167
+ responseSummary: { changed: response.statusCode === 200, doi, event }
128
168
  };
129
169
  }).pipe(effect_1.Effect.provide(makeRuntimeLayer(config, runContext)));
130
- return (0, runtime_1.runEffectProgram)(program);
170
+ return runProgram(program);
131
171
  });
132
172
  }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9kb2ktdjIvcnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkEsNENBTUM7QUF5RkQsa0RBMkJDO0FBRUQsa0RBNEJDO0FBRUQsa0RBMEJDO0FBRUQsNERBMkJDO0FBak9ELG1DQUFnRDtBQUVoRCxpQ0FBdUQ7QUFFdkQsbUNBQXdFO0FBQ3hFLHFGQUFtRjtBQUNuRix1REFBNkQ7QUFFaEQsUUFBQSxZQUFZLEdBQUcsZ0JBQU8sQ0FBQyxVQUFVLENBQWdCLGtCQUFrQixDQUFDLENBQUM7QUFDckUsUUFBQSxnQkFBZ0IsR0FBRyxnQkFBTyxDQUFDLFVBQVUsQ0FBZ0Isc0JBQXNCLENBQUMsQ0FBQztBQU8xRixTQUFnQixnQkFBZ0IsQ0FBQyxNQUFxQixFQUFFLFVBQXlCO0lBQy9FLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FDbkIsY0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxFQUFFLE1BQU0sQ0FBQyxFQUNuQyxjQUFLLENBQUMsT0FBTyxDQUFDLHdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUMzQyxJQUFBLHNCQUFlLEVBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUNwQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsdUJBQXVCLENBQzlCLGNBQW1ELEVBQ25ELE1BQWMsRUFDZCxJQUFZO0lBRVosT0FBTztRQUNMLEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBQ3pCLE1BQU07UUFDTixJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxLQUFjO0lBQzlCLE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdFLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEtBQWM7SUFD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
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9kb2ktdjIvcnVudGltZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQkEsNENBTUM7QUE0RkQsa0RBMkJDO0FBRUQsa0RBNEJDO0FBRUQsa0RBMEJDO0FBRUQsNERBMkJDO0FBcE9ELG1DQUFnRDtBQUNoRCxvREFBc0M7QUFFdEMsaUNBQXVEO0FBRXZELG1DQUF3RTtBQUN4RSxxRkFBbUY7QUFFdEUsUUFBQSxZQUFZLEdBQUcsZ0JBQU8sQ0FBQyxVQUFVLENBQWdCLGtCQUFrQixDQUFDLENBQUM7QUFDckUsUUFBQSxnQkFBZ0IsR0FBRyxnQkFBTyxDQUFDLFVBQVUsQ0FBZ0Isc0JBQXNCLENBQUMsQ0FBQztBQU8xRixTQUFnQixnQkFBZ0IsQ0FBQyxNQUFxQixFQUFFLFVBQXlCO0lBQy9FLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FDbkIsY0FBSyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxFQUFFLE1BQU0sQ0FBQyxFQUNuQyxjQUFLLENBQUMsT0FBTyxDQUFDLHdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUMzQyxJQUFBLHNCQUFlLEVBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUNwQyxDQUFDO0FBQ0osQ0FBQztBQUVELEtBQUssVUFBVSxVQUFVLENBQUksT0FBeUM7SUFDcEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pELElBQUksT0FBTyxDQUFD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
@@ -0,0 +1,16 @@
1
+ export type FigshareAdminAction = 'inspect' | 'reconcile' | 'abandon-create' | 'link' | 'relink' | 'resume' | 'reset-publish' | 'migrate' | 'bind-file' | 'resume-upload';
2
+ export interface FigshareAdminOptions {
3
+ action: FigshareAdminAction;
4
+ oid?: string;
5
+ username: string;
6
+ articleId?: string;
7
+ ownerId?: string;
8
+ apply?: boolean;
9
+ receipt?: string;
10
+ fileId?: string;
11
+ }
12
+ /** Operators use application identities/configuration; no direct DB edits or remote writes. */
13
+ export declare function figshareAdmin(options: FigshareAdminOptions, internal?: {
14
+ legacyBindingsCounted?: boolean;
15
+ }): Promise<unknown>;
16
+ //# sourceMappingURL=admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/admin.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,eAAe,CAAC;AAC1K,MAAM,WAAW,oBAAoB;IAAG,MAAM,EAAE,mBAAmB,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE;AAE/L,+FAA+F;AAC/F,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAyLvI"}
@@ -0,0 +1,283 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.figshareAdmin = figshareAdmin;
4
+ const node_crypto_1 = require("node:crypto");
5
+ const types_1 = require("./types");
6
+ const worker_1 = require("./worker");
7
+ const config_1 = require("./config");
8
+ const context_1 = require("./context");
9
+ const http_1 = require("./http");
10
+ const identity_1 = require("./identity");
11
+ const execution_1 = require("./execution");
12
+ const runtime_1 = require("./runtime");
13
+ /** Operators use application identities/configuration; no direct DB edits or remote writes. */
14
+ async function figshareAdmin(options, internal = {}) {
15
+ const actor = await UsersService.getUserWithUsername(options.username).toPromise();
16
+ if (!actor || actor.disabled === true || !RolesService.getAdminFromRoles(actor.roles ?? []))
17
+ throw new Error('A current ReDBox administrator is required');
18
+ const store = (0, worker_1.getSyncStore)();
19
+ const storage = RecordsService.getFigshareIntentStorage();
20
+ if (options.action === 'migrate') {
21
+ const scan = storage.scanFigshareRecords?.bind(storage);
22
+ if (!scan)
23
+ throw new Error('Storage adapter cannot scan records for migration');
24
+ // Two paged passes hold one page at a time: the first counts legacy bindings, the second migrates.
25
+ const pages = async function* () {
26
+ for (let after = '';;) {
27
+ const page = await scan(after, 100);
28
+ yield page;
29
+ if (page.length < 100)
30
+ return;
31
+ after = page[page.length - 1].redboxOid;
32
+ }
33
+ };
34
+ const counts = new Map();
35
+ for await (const page of pages()) {
36
+ for (const record of page) {
37
+ const config = (0, config_1.resolveFigsharePublishingConfig)(record);
38
+ if (!config)
39
+ continue;
40
+ const id = String((0, types_1.getRecordField)(record, config.record.articleIdPath) ?? '');
41
+ if (id) {
42
+ const key = `${(0, identity_1.apiNamespace)(config)}:${id}`;
43
+ counts.set(key, (counts.get(key) ?? 0) + 1);
44
+ }
45
+ }
46
+ }
47
+ const report = [];
48
+ for await (const page of pages())
49
+ for (const record of page) {
50
+ const config = (0, config_1.resolveFigsharePublishingConfig)(record);
51
+ if (!config)
52
+ continue;
53
+ const id = String((0, types_1.getRecordField)(record, config.record.articleIdPath) ?? '');
54
+ const legacy = (0, types_1.getRecordField)(record, config.record.syncStatePath);
55
+ if (!id && !legacy)
56
+ continue;
57
+ const duplicate = id && (counts.get(`${(0, identity_1.apiNamespace)(config)}:${id}`) ?? 0) > 1;
58
+ if (!id || duplicate) {
59
+ report.push({ oid: record.redboxOid, articleId: id || undefined, status: duplicate ? 'duplicate_binding' : 'uncertain_legacy_create' });
60
+ if (options.apply) {
61
+ await store.ensureIndexes();
62
+ await store.initialise(record.redboxOid, record.metaMetadata.brandId);
63
+ const owner = `migration:${(0, node_crypto_1.randomUUID)()}`;
64
+ const lock = await store.collection.updateOne({ oid: record.redboxOid, leaseUntil: { $lte: Date.now() } }, { $set: { leaseOwner: owner, leaseUntil: Date.now() + 120000 }, $inc: { revision: 1 } });
65
+ if (!lock.matchedCount)
66
+ throw new Error(`Record ${record.redboxOid} has an active worker; pause processing before migration`);
67
+ try {
68
+ await store.change(record.redboxOid, s => {
69
+ s.status = 'repair_required';
70
+ s.waitingReason = duplicate ? 'duplicate_binding' : 'uncertain_legacy_create';
71
+ for (const work of Object.values(s.work))
72
+ work.dueAt = null;
73
+ }, owner);
74
+ }
75
+ finally {
76
+ await store.release(record.redboxOid, owner);
77
+ }
78
+ }
79
+ continue;
80
+ }
81
+ try {
82
+ report.push({ oid: record.redboxOid, result: await figshareAdmin({ ...options, action: 'link', oid: record.redboxOid, articleId: id }, { legacyBindingsCounted: true }) });
83
+ }
84
+ catch (e) {
85
+ report.push({ oid: record.redboxOid, status: 'repair_required', message: e instanceof Error ? e.message : String(e) });
86
+ }
87
+ }
88
+ return report;
89
+ }
90
+ const oid = options.oid;
91
+ if (!oid)
92
+ throw new Error('An OID is required');
93
+ const record = await RecordsService.getMeta(oid);
94
+ if (!record)
95
+ throw new Error('Record not found');
96
+ const brand = BrandingService.getBrandById(record.metaMetadata.brandId);
97
+ if (!brand || !await RecordsService.hasEditAccess(brand, actor, (actor.roles ?? []).map(r => ({ ...r })), record))
98
+ throw new Error('Administrator does not have access to this record');
99
+ let state = await store.get(oid);
100
+ if (options.action === 'inspect')
101
+ return { oid, sourceIntent: record.figshareSyncIntent, state };
102
+ const config = (0, config_1.resolveFigsharePublishingConfig)(record);
103
+ if (!config)
104
+ throw new Error('Figshare configuration is unavailable');
105
+ const client = config.runtime.mode === 'fixture' ? (0, http_1.makeFixtureClient)(config) : (0, http_1.makeLiveClient)(config, (0, context_1.createRunContext)(record, config, undefined, 'admin'));
106
+ const account = await client.getAccount();
107
+ if (state?.binding && (state.binding.namespace !== (0, identity_1.apiNamespace)(config) || state.binding.accountId !== String(account.id)))
108
+ throw new execution_1.FigshareRepairRequired('Configured API environment/account differs from the persisted binding');
109
+ const readOnly = (binding, read) => execution_1.figshareExecution.run({
110
+ binding, signal: new AbortController().signal,
111
+ guard: async () => { throw new Error('Administrative verification is read-only'); },
112
+ metadata: async () => { throw new Error('Administrative verification is read-only'); }
113
+ }, read);
114
+ const reconcileCreate = (create) => execution_1.figshareExecution.run({ binding: create.binding, recovery: true, signal: new AbortController().signal,
115
+ guard: async () => { throw new Error('Reconcile is read-only'); }, metadata: async () => { throw new Error('Reconcile is read-only'); }
116
+ }, () => (0, identity_1.recoverCreate)(client, create));
117
+ if (options.action === 'reconcile') {
118
+ if (!state?.create)
119
+ return { state, candidates: [] };
120
+ const recovered = await reconcileCreate(state.create);
121
+ return { state, candidates: recovered ? [{ articleId: recovered.id, title: recovered.title }] : [] };
122
+ }
123
+ let abandonedCreate;
124
+ if (options.action === 'abandon-create') {
125
+ if (!state?.create || state.binding?.articleId)
126
+ throw new Error('No unresolved create operation exists for this record');
127
+ // Only a create absent from the owning account may be abandoned; a visible match must be linked instead.
128
+ if (await reconcileCreate(state.create))
129
+ throw new execution_1.FigshareRepairRequired('An article matches the create token; link it instead of abandoning the create');
130
+ abandonedCreate = state.create.token;
131
+ }
132
+ let unconfirmedPublish;
133
+ if (options.action === 'reset-publish') {
134
+ const publish = state?.publish;
135
+ if (!publish || publish.outcome === 'observed' || !state?.binding?.articleId)
136
+ throw new Error('No unconfirmed publication request exists for this record');
137
+ const binding = state.binding;
138
+ const article = await readOnly(binding, () => client.getArticle(binding.articleId));
139
+ if ((0, identity_1.observedPublished)(article) && Number(article.version ?? 0) > publish.previousVersion)
140
+ throw new Error('The request published the article; resume records the observation instead');
141
+ if ((0, runtime_1.isCurationLocked)(config, article))
142
+ throw new Error('The article is under curation; wait for the curator before resetting publication');
143
+ unconfirmedPublish = publish.submittedAt;
144
+ }
145
+ const fileAction = options.action === 'bind-file' || options.action === 'resume-upload';
146
+ const receipt = fileAction ? state?.receipts.find(r => r.key === options.receipt) : undefined;
147
+ let verifiedFile;
148
+ if (fileAction) {
149
+ if (!receipt || !state?.binding?.articleId || !/^\d+$/.test(options.fileId ?? ''))
150
+ throw new Error('An existing receipt, authoritative article and explicit numeric file ID are required');
151
+ const binding = state.binding;
152
+ const descriptor = await readOnly(binding, () => client.getLocation(`${(0, identity_1.apiNamespace)(config)}/account/articles/${binding.articleId}/files/${options.fileId}`));
153
+ const available = ['available', 'completed'].includes(String(descriptor.status).toLowerCase());
154
+ if (Number(descriptor.size) !== receipt.size || !receipt.md5 || String(available ? descriptor.computed_md5 : descriptor.supplied_md5).toLowerCase() !== receipt.md5)
155
+ throw new Error('Remote file content evidence does not match the receipt');
156
+ if (options.action === 'bind-file' && !available)
157
+ throw new Error('Use resume-upload only after stopping the previous uploader');
158
+ if (options.action === 'resume-upload' && !state.work.sync.policies.length)
159
+ throw new Error('An authorised source sync policy is required to resume uploads');
160
+ if (String(descriptor.id) !== options.fileId)
161
+ throw new Error('Remote descriptor returned a different file identity');
162
+ verifiedFile = { id: String(descriptor.id), available };
163
+ }
164
+ let remote;
165
+ let verifiedOwnerId;
166
+ if (['link', 'relink'].includes(options.action)) {
167
+ const articleId = String(options.articleId ?? '');
168
+ const existing = state?.binding?.articleId === articleId ? state.binding : undefined;
169
+ if (options.ownerId != null && !/^\d+$/.test(options.ownerId))
170
+ throw new Error('An explicit numeric Figshare owner account ID is required');
171
+ if (existing && options.ownerId != null && options.ownerId !== existing.ownerId)
172
+ throw new execution_1.FigshareRepairRequired('Supplied owner differs from the verified binding; linking cannot transfer ownership');
173
+ const ownerId = options.ownerId ?? existing?.ownerId;
174
+ const ownerReads = config.impersonation?.enabled && config.impersonation.operations.read === 'owner';
175
+ if (ownerReads && !ownerId)
176
+ throw new execution_1.FigshareRepairRequired('Owner-based verification of an unbound or different article requires --owner-id ACCOUNT_ID');
177
+ const binding = ownerId ? { namespace: (0, identity_1.apiNamespace)(config), accountId: String(account.id), ownerId, articleId } : undefined;
178
+ remote = await readOnly(binding, () => client.getArticle(articleId));
179
+ if (String(remote.id) !== articleId)
180
+ throw new execution_1.FigshareRepairRequired('Remote article returned a different identity');
181
+ if (ownerId && String(remote.account_id ?? '') !== ownerId)
182
+ throw new execution_1.FigshareRepairRequired('Remote article owner does not match the supplied or previously verified owner account');
183
+ verifiedOwnerId = ownerId ?? String(remote.account_id ?? account.id);
184
+ }
185
+ if (remote) {
186
+ const duplicate = await store.collection.findOne({ namespace: (0, identity_1.apiNamespace)(config), articleId: String(remote.id), oid: { $ne: oid } });
187
+ if (duplicate)
188
+ throw new execution_1.FigshareRepairRequired(`Article is already bound to record ${duplicate.oid}`);
189
+ // Migration has already counted every legacy binding, so a per-record scan would only repeat it.
190
+ const matches = internal.legacyBindingsCounted ? [] : await storage.findFigshareArticleRecords?.(config.record.articleIdPath, String(remote.id)) ?? [];
191
+ if (matches.some(r => r.redboxOid !== oid && (0, config_1.resolveFigsharePublishingConfig)(r)?.connection.baseUrl.replace(/\/+$/, '') === (0, identity_1.apiNamespace)(config)))
192
+ throw new execution_1.FigshareRepairRequired('Duplicate legacy bindings must be resolved first');
193
+ if (state?.binding?.articleId && state.binding.articleId !== String(remote.id) && options.action !== 'relink')
194
+ throw new Error('Use explicit relink to change an existing authoritative article ID');
195
+ }
196
+ if (!options.apply)
197
+ return { dryRun: true, oid, action: options.action, articleId: remote?.id, file: verifiedFile, publication: remote && (0, identity_1.observedPublished)(remote), ownerId: verifiedOwnerId, retainedLocalBytes: true };
198
+ await store.ensureIndexes();
199
+ await store.initialise(oid, record.metaMetadata.brandId);
200
+ const owner = `admin:${(0, node_crypto_1.randomUUID)()}`;
201
+ const lock = await store.collection.updateOne({ oid, leaseUntil: { $lte: Date.now() } }, { $set: { leaseOwner: owner, leaseUntil: Date.now() + 120000 }, $inc: { revision: 1 } });
202
+ if (!lock.matchedCount)
203
+ throw new Error('Record has an active worker; pause processing and try again');
204
+ try {
205
+ state = await store.change(oid, s => {
206
+ if (verifiedFile && receipt) {
207
+ const current = s.receipts.find(r => r.key === receipt.key);
208
+ if (!current || current.digest !== receipt.digest || current.articleId !== s.binding?.articleId || s.binding?.articleId !== state?.binding?.articleId)
209
+ throw new Error('Receipt changed during verification; inspect and retry');
210
+ current.fileId = verifiedFile.id;
211
+ current.state = verifiedFile.available ? 'available' : 'uploading';
212
+ current.resumeApproved = !verifiedFile.available;
213
+ s.status = 'queued';
214
+ delete s.error;
215
+ if (s.auditClosed) {
216
+ delete s.audit;
217
+ s.auditClosed = false;
218
+ }
219
+ s.work.sync.requested++;
220
+ s.work.sync.dueAt = Date.now();
221
+ }
222
+ else if (remote && verifiedOwnerId) {
223
+ const changed = s.binding?.articleId && s.binding.articleId !== String(remote.id);
224
+ if (changed && options.action !== 'relink')
225
+ throw new Error('Use explicit relink to change an existing authoritative article ID');
226
+ if (s.binding?.articleId === String(remote.id) && s.binding.ownerId !== verifiedOwnerId)
227
+ throw new execution_1.FigshareRepairRequired('Verified owner binding changed during verification; inspect and retry');
228
+ if (changed && s.publish && s.publish.outcome !== 'observed')
229
+ throw new Error('Reconcile the outstanding publication before relinking');
230
+ if (changed && s.receipts.some(r => r.state !== 'removed'))
231
+ throw new Error('Relinking with managed receipts requires reconciliation of those files first');
232
+ if (changed)
233
+ delete s.publish;
234
+ s.binding = { namespace: (0, identity_1.apiNamespace)(config), accountId: String(account.id), ownerId: verifiedOwnerId, articleId: String(remote.id) };
235
+ s.namespace = s.binding.namespace;
236
+ s.articleId = s.binding.articleId;
237
+ s.publication = (0, identity_1.observedPublished)(remote) ? 'published' : 'private';
238
+ s.embargoed = remote.is_embargoed === true;
239
+ s.status = 'synced';
240
+ s.observedAt = new Date().toISOString();
241
+ if (s.work.observe.dueAt == null) {
242
+ s.work.observe.requested++;
243
+ s.work.observe.dueAt = Date.now();
244
+ }
245
+ // No publication or ownership transfer is requested by migration/linking.
246
+ }
247
+ else if (options.action === 'resume') {
248
+ if (s.work.sync.policies.length === 0)
249
+ throw new Error('No authorised source sync policy exists; save through an eligible configured source first');
250
+ s.status = 'queued';
251
+ delete s.error;
252
+ if (s.auditClosed) {
253
+ delete s.audit;
254
+ s.auditClosed = false;
255
+ }
256
+ s.work.sync.requested++;
257
+ s.work.sync.dueAt = Date.now();
258
+ // Create/publish/receipt uncertainty is intentionally retained.
259
+ }
260
+ else if (abandonedCreate) {
261
+ if (s.binding?.articleId || s.create?.token !== abandonedCreate)
262
+ throw new Error('Create evidence changed during verification; inspect and retry');
263
+ delete s.create;
264
+ delete s.createGeneration;
265
+ delete s.createRequest;
266
+ delete s.binding;
267
+ // A fresh create waits for resume or a new eligible source save.
268
+ }
269
+ else if (unconfirmedPublish) {
270
+ if (s.publish?.submittedAt !== unconfirmedPublish || s.binding?.articleId !== state?.binding?.articleId)
271
+ throw new Error('Publication evidence changed during verification; inspect and retry');
272
+ delete s.publish;
273
+ // Publication is requested again by resume or a new eligible source save.
274
+ }
275
+ s.corrections = [...(s.corrections ?? []).slice(-49), { at: new Date().toISOString(), actor: actor.username, action: options.action, articleId: remote ? String(remote.id) : undefined }];
276
+ }, owner);
277
+ return { oid, state, retainedLocalBytes: true };
278
+ }
279
+ finally {
280
+ await store.release(oid, owner);
281
+ }
282
+ }
283
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvZmlnc2hhcmUtdjIvYWRtaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsc0NBeUxDO0FBek1ELDZDQUF5QztBQUV6QyxtQ0FBeUM7QUFDekMscUNBQXdDO0FBQ3hDLHFDQUEyRDtBQUMzRCx1Q0FBNkM7QUFDN0MsaUNBQTJEO0FBQzNELHlDQUE0RTtBQUM1RSwyQ0FBd0U7QUFDeEUsdUNBQTZDO0FBTTdDLCtGQUErRjtBQUN4RixLQUFLLFVBQVUsYUFBYSxDQUFDLE9BQTZCLEVBQUUsV0FBZ0QsRUFBRTtJQUNuSCxNQUFNLEtBQUssR0FBRyxNQUFNLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkYsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztJQUMzSixNQUFNLEtBQUssR0FBRyxJQUFBLHFCQUFZLEdBQUUsQ0FBQztJQUM3QixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUMxRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDakMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUNoRixtR0FBbUc7UUFDbkcsTUFBTSxLQUFLLEdBQUcsS0FBSyxTQUFTLENBQUM7WUFDM0IsS0FBSyxJQUFJLEtBQUss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
@@ -1,6 +1,25 @@
1
+ import { Readable } from 'node:stream';
1
2
  import type { ILogger } from '../../Logger';
3
+ import { FigsharePublishingConfigData } from '../../configmodels/FigsharePublishing';
4
+ import type { Services as StorageManagerServices } from '../StorageManagerService';
2
5
  import { FigshareClient } from './http';
3
6
  import { ResolvedFigsharePublishingConfigData } from './config';
4
- import { RecordModel, FigshareArticle, FigshareSyncState, AssetSyncResult } from './types';
7
+ import { RecordModel, FigshareArticle, FigshareUploadPart, FigshareSyncState, AssetSyncResult } from './types';
8
+ type IDisk = StorageManagerServices.IDisk;
9
+ interface DatastreamResponse {
10
+ readstream: NodeJS.ReadableStream;
11
+ size?: number;
12
+ }
13
+ export declare function getAttachmentStream(oid: string, fileId: string): Promise<DatastreamResponse>;
14
+ /** Identify stored attachment bytes without reading them, when the datastream service supports it. */
15
+ export declare function getAttachmentFingerprint(oid: string, fileId: string): Promise<string | undefined>;
16
+ export declare function getStagingDisk(config: FigsharePublishingConfigData): IDisk;
17
+ export declare function buildStagingKey(config: FigsharePublishingConfigData, articleId: string, oid: string, fileId: string, fileName: string, logger?: ILogger): string;
18
+ export declare function stageAttachmentToDisk(disk: IDisk, key: string, response: DatastreamResponse): Promise<number>;
19
+ export declare function readPartsSequentially(source: Readable, parts: FigshareUploadPart[]): AsyncGenerator<{
20
+ partNo: number;
21
+ stream: Readable;
22
+ }>;
5
23
  export declare function syncAssetsPhase(client: FigshareClient, config: ResolvedFigsharePublishingConfigData, record: RecordModel, article: FigshareArticle, syncState: FigshareSyncState, logger?: ILogger): Promise<AssetSyncResult>;
24
+ export {};
6
25
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/assets.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAI5C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EACL,WAAW,EACX,eAAe,EAGf,iBAAiB,EAEjB,eAAe,EAChB,MAAM,SAAS,CAAC;AA0WjB,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,oCAAoC,EAC5C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,iBAAiB,EAC5B,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC,CAiG1B"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/services/figshare-v2/assets.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAErF,OAAO,KAAK,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,oCAAoC,EAAE,MAAM,UAAU,CAAC;AAChE,OAAO,EACL,WAAW,EACX,eAAe,EAEf,kBAAkB,EAClB,iBAAiB,EAEjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAIjB,KAAK,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC;AAyB1C,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAalG;AAED,sGAAsG;AACtG,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAOvG;AA6BD,wBAAgB,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,KAAK,CAoB1E;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,4BAA4B,EACpC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,MAAM,CAsBR;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAKnH;AAED,wBAAuB,qBAAqB,CAC1C,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,kBAAkB,EAAE,GAC1B,cAAc,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC,CAoCtD;AA2LD,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,oCAAoC,EAC5C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,iBAAiB,EAC5B,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,eAAe,CAAC,CAiG1B"}