@researchdatabox/redbox-core 0.0.0-bootstrap.0 → 0.0.1-beta.10213

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 (656) hide show
  1. package/dist/CoreController.d.ts +4 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +68 -23
  4. package/dist/CoreService.d.ts +1 -1
  5. package/dist/CoreService.d.ts.map +1 -1
  6. package/dist/CoreService.js +1 -1
  7. package/dist/DatastreamService.d.ts +5 -2
  8. package/dist/DatastreamService.d.ts.map +1 -1
  9. package/dist/HarvestRunService.d.ts +49 -0
  10. package/dist/HarvestRunService.d.ts.map +1 -0
  11. package/dist/HarvestRunService.js +13 -0
  12. package/dist/IntegrationAuditParams.d.ts +11 -0
  13. package/dist/IntegrationAuditParams.js +14 -0
  14. package/dist/QueueService.d.ts +1 -1
  15. package/dist/QueueService.d.ts.map +1 -1
  16. package/dist/RecordAuditParams.d.ts +2 -0
  17. package/dist/RecordAuditParams.d.ts.map +1 -1
  18. package/dist/RecordAuditParams.js +3 -1
  19. package/dist/RecordsService.d.ts +52 -2
  20. package/dist/RecordsService.d.ts.map +1 -1
  21. package/dist/StorageService.d.ts +6 -2
  22. package/dist/StorageService.d.ts.map +1 -1
  23. package/dist/api-routes/apib.d.ts +7 -0
  24. package/dist/api-routes/apib.d.ts.map +1 -0
  25. package/dist/api-routes/apib.js +43 -0
  26. package/dist/api-routes/define.d.ts +4 -0
  27. package/dist/api-routes/define.d.ts.map +1 -0
  28. package/dist/api-routes/define.js +29 -0
  29. package/dist/api-routes/groups/admin.d.ts +6 -0
  30. package/dist/api-routes/groups/admin.d.ts.map +1 -0
  31. package/dist/api-routes/groups/admin.js +53 -0
  32. package/dist/api-routes/groups/appconfig.d.ts +4 -0
  33. package/dist/api-routes/groups/appconfig.d.ts.map +1 -0
  34. package/dist/api-routes/groups/appconfig.js +33 -0
  35. package/dist/api-routes/groups/branding.d.ts +8 -0
  36. package/dist/api-routes/groups/branding.d.ts.map +1 -0
  37. package/dist/api-routes/groups/branding.js +61 -0
  38. package/dist/api-routes/groups/dashboard-config.d.ts +11 -0
  39. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -0
  40. package/dist/api-routes/groups/dashboard-config.js +90 -0
  41. package/dist/api-routes/groups/export.d.ts +3 -0
  42. package/dist/api-routes/groups/export.d.ts.map +1 -0
  43. package/dist/api-routes/groups/export.js +30 -0
  44. package/dist/api-routes/groups/forms.d.ts +4 -0
  45. package/dist/api-routes/groups/forms.d.ts.map +1 -0
  46. package/dist/api-routes/groups/forms.js +29 -0
  47. package/dist/api-routes/groups/harvest-runs.d.ts +5 -0
  48. package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -0
  49. package/dist/api-routes/groups/harvest-runs.js +79 -0
  50. package/dist/api-routes/groups/integration-audit.d.ts +3 -0
  51. package/dist/api-routes/groups/integration-audit.d.ts.map +1 -0
  52. package/dist/api-routes/groups/integration-audit.js +35 -0
  53. package/dist/api-routes/groups/named-query.d.ts +8 -0
  54. package/dist/api-routes/groups/named-query.d.ts.map +1 -0
  55. package/dist/api-routes/groups/named-query.js +54 -0
  56. package/dist/api-routes/groups/notifications.d.ts +3 -0
  57. package/dist/api-routes/groups/notifications.d.ts.map +1 -0
  58. package/dist/api-routes/groups/notifications.js +20 -0
  59. package/dist/api-routes/groups/records.d.ts +28 -0
  60. package/dist/api-routes/groups/records.d.ts.map +1 -0
  61. package/dist/api-routes/groups/records.js +353 -0
  62. package/dist/api-routes/groups/recordtypes.d.ts +4 -0
  63. package/dist/api-routes/groups/recordtypes.d.ts.map +1 -0
  64. package/dist/api-routes/groups/recordtypes.js +27 -0
  65. package/dist/api-routes/groups/reports.d.ts +9 -0
  66. package/dist/api-routes/groups/reports.d.ts.map +1 -0
  67. package/dist/api-routes/groups/reports.js +63 -0
  68. package/dist/api-routes/groups/search-query.d.ts +4 -0
  69. package/dist/api-routes/groups/search-query.d.ts.map +1 -0
  70. package/dist/api-routes/groups/search-query.js +51 -0
  71. package/dist/api-routes/groups/search.d.ts +6 -0
  72. package/dist/api-routes/groups/search.d.ts.map +1 -0
  73. package/dist/api-routes/groups/search.js +31 -0
  74. package/dist/api-routes/groups/translation.d.ts +8 -0
  75. package/dist/api-routes/groups/translation.d.ts.map +1 -0
  76. package/dist/api-routes/groups/translation.js +82 -0
  77. package/dist/api-routes/groups/users.d.ts +17 -0
  78. package/dist/api-routes/groups/users.d.ts.map +1 -0
  79. package/dist/api-routes/groups/users.js +149 -0
  80. package/dist/api-routes/groups/vocabulary.d.ts +10 -0
  81. package/dist/api-routes/groups/vocabulary.d.ts.map +1 -0
  82. package/dist/api-routes/groups/vocabulary.js +97 -0
  83. package/dist/api-routes/helpers.d.ts +29 -0
  84. package/dist/api-routes/helpers.d.ts.map +1 -0
  85. package/dist/api-routes/helpers.js +485 -0
  86. package/dist/api-routes/index.d.ts +27 -0
  87. package/dist/api-routes/index.d.ts.map +1 -0
  88. package/dist/api-routes/index.js +43 -0
  89. package/dist/api-routes/openapi.d.ts +26 -0
  90. package/dist/api-routes/openapi.d.ts.map +1 -0
  91. package/dist/api-routes/openapi.js +292 -0
  92. package/dist/api-routes/request-extraction.d.ts +14 -0
  93. package/dist/api-routes/request-extraction.d.ts.map +1 -0
  94. package/dist/api-routes/request-extraction.js +100 -0
  95. package/dist/api-routes/route-factory.d.ts +3 -0
  96. package/dist/api-routes/route-factory.d.ts.map +1 -0
  97. package/dist/api-routes/route-factory.js +30 -0
  98. package/dist/api-routes/route-registry.d.ts +24 -0
  99. package/dist/api-routes/route-registry.d.ts.map +1 -0
  100. package/dist/api-routes/route-registry.js +117 -0
  101. package/dist/api-routes/route-resolution.d.ts +4 -0
  102. package/dist/api-routes/route-resolution.d.ts.map +1 -0
  103. package/dist/api-routes/route-resolution.js +71 -0
  104. package/dist/api-routes/schemas/common.d.ts +35 -0
  105. package/dist/api-routes/schemas/common.d.ts.map +1 -0
  106. package/dist/api-routes/schemas/common.js +146 -0
  107. package/dist/api-routes/schemas/responses.d.ts +972 -0
  108. package/dist/api-routes/schemas/responses.d.ts.map +1 -0
  109. package/dist/api-routes/schemas/responses.js +512 -0
  110. package/dist/api-routes/types.d.ts +70 -0
  111. package/dist/api-routes/types.d.ts.map +1 -0
  112. package/dist/api-routes/types.js +3 -0
  113. package/dist/api-routes/validation.d.ts +32 -0
  114. package/dist/api-routes/validation.d.ts.map +1 -0
  115. package/dist/api-routes/validation.js +142 -0
  116. package/dist/api-routes/zod-openapi.d.ts +3 -0
  117. package/dist/api-routes/zod-openapi.d.ts.map +1 -0
  118. package/dist/api-routes/zod-openapi.js +8 -0
  119. package/dist/bootstrap.d.ts.map +1 -1
  120. package/dist/bootstrap.js +12 -12
  121. package/dist/config/agendaQueue.config.d.ts +33 -6
  122. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  123. package/dist/config/agendaQueue.config.js +40 -18
  124. package/dist/config/auth.config.d.ts.map +1 -1
  125. package/dist/config/auth.config.js +29 -2
  126. package/dist/config/branding.config.d.ts +2 -1
  127. package/dist/config/branding.config.d.ts.map +1 -1
  128. package/dist/config/branding.config.js +5 -95
  129. package/dist/config/brandingConfigurationDefaults.config.d.ts +3 -0
  130. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  131. package/dist/config/brandingConfigurationDefaults.config.js +161 -5
  132. package/dist/config/custom.config.d.ts +6 -0
  133. package/dist/config/custom.config.d.ts.map +1 -1
  134. package/dist/config/custom.config.js +10 -1
  135. package/dist/config/dashboardtype.config.d.ts +5 -0
  136. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  137. package/dist/config/dashboardtype.config.js +1 -1
  138. package/dist/config/dashboardview.config.d.ts +24 -0
  139. package/dist/config/dashboardview.config.d.ts.map +1 -0
  140. package/dist/config/dashboardview.config.js +137 -0
  141. package/dist/config/dompurify.config.d.ts +1 -0
  142. package/dist/config/dompurify.config.d.ts.map +1 -1
  143. package/dist/config/dompurify.config.js +5 -4
  144. package/dist/config/emailnotification.config.d.ts.map +1 -1
  145. package/dist/config/emailnotification.config.js +2 -1
  146. package/dist/config/figshareDev.config.d.ts +12 -0
  147. package/dist/config/figshareDev.config.js +9 -0
  148. package/dist/config/form.config.d.ts +4 -0
  149. package/dist/config/form.config.d.ts.map +1 -1
  150. package/dist/config/form.config.js +1 -1
  151. package/dist/config/harvestRuns.config.d.ts +9 -0
  152. package/dist/config/harvestRuns.config.d.ts.map +1 -0
  153. package/dist/config/harvestRuns.config.js +11 -0
  154. package/dist/config/http.config.d.ts +13 -1
  155. package/dist/config/http.config.d.ts.map +1 -1
  156. package/dist/config/http.config.js +201 -38
  157. package/dist/config/index.d.ts +14 -19
  158. package/dist/config/index.d.ts.map +1 -1
  159. package/dist/config/index.js +10 -15
  160. package/dist/config/namedQuery.config.d.ts +26 -4
  161. package/dist/config/namedQuery.config.d.ts.map +1 -1
  162. package/dist/config/namedQuery.config.js +7 -350
  163. package/dist/config/policies.config.d.ts +3 -0
  164. package/dist/config/policies.config.d.ts.map +1 -1
  165. package/dist/config/policies.config.js +35 -1
  166. package/dist/config/record.config.d.ts.map +1 -1
  167. package/dist/config/record.config.js +2 -1
  168. package/dist/config/recordtype.config.d.ts +28 -0
  169. package/dist/config/recordtype.config.d.ts.map +1 -1
  170. package/dist/config/recordtype.config.js +105 -13
  171. package/dist/config/redboxSession.config.d.ts +3 -0
  172. package/dist/config/redboxSession.config.d.ts.map +1 -1
  173. package/dist/config/redboxSession.config.js +1 -1
  174. package/dist/config/report.config.d.ts +2 -11
  175. package/dist/config/report.config.d.ts.map +1 -1
  176. package/dist/config/report.config.js +3 -49
  177. package/dist/config/reusableContributorFormDefinitions.config.d.ts +1 -1
  178. package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
  179. package/dist/config/reusableContributorFormDefinitions.config.js +371 -206
  180. package/dist/config/reusableViewFormDefinitions.config.js +3 -3
  181. package/dist/config/routes.config.d.ts +5 -2
  182. package/dist/config/routes.config.d.ts.map +1 -1
  183. package/dist/config/routes.config.js +55 -117
  184. package/dist/config/storage.config.d.ts +20 -2
  185. package/dist/config/storage.config.d.ts.map +1 -1
  186. package/dist/config/storage.config.js +2 -1
  187. package/dist/config/validators.config.d.ts +6 -4
  188. package/dist/config/validators.config.d.ts.map +1 -1
  189. package/dist/config/validators.config.js +5 -3
  190. package/dist/config/vocab.config.d.ts +30 -0
  191. package/dist/config/vocab.config.d.ts.map +1 -1
  192. package/dist/config/vocab.config.js +21 -1
  193. package/dist/config/webpack.config.d.ts.map +1 -1
  194. package/dist/config/webpack.config.js +18 -12
  195. package/dist/config/workflow.config.d.ts +0 -1
  196. package/dist/config/workflow.config.d.ts.map +1 -1
  197. package/dist/config/workflow.config.js +1 -137
  198. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  199. package/dist/configmodels/AdminSidebarConfig.js +4 -3
  200. package/dist/configmodels/AuthorizedDomainsEmails.d.ts +48 -0
  201. package/dist/configmodels/AuthorizedDomainsEmails.d.ts.map +1 -1
  202. package/dist/configmodels/AuthorizedDomainsEmails.js +50 -2
  203. package/dist/configmodels/ConfigModels.d.ts +7 -1
  204. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  205. package/dist/configmodels/ConfigModels.js +41 -1
  206. package/dist/configmodels/DashboardTableOverrideConfig.d.ts +1011 -0
  207. package/dist/configmodels/DashboardTableOverrideConfig.d.ts.map +1 -0
  208. package/dist/configmodels/DashboardTableOverrideConfig.js +138 -0
  209. package/dist/configmodels/DoiPublishing.d.ts +4711 -0
  210. package/dist/configmodels/DoiPublishing.js +639 -0
  211. package/dist/configmodels/FigsharePublishing.d.ts +1376 -0
  212. package/dist/configmodels/FigsharePublishing.js +630 -0
  213. package/dist/configmodels/IntegrationNotificationConfig.d.ts +133 -0
  214. package/dist/configmodels/IntegrationNotificationConfig.d.ts.map +1 -0
  215. package/dist/configmodels/IntegrationNotificationConfig.js +64 -0
  216. package/dist/configmodels/SystemMessage.d.ts +32 -0
  217. package/dist/configmodels/SystemMessage.d.ts.map +1 -1
  218. package/dist/configmodels/SystemMessage.js +34 -2
  219. package/dist/controllers/AdminController.d.ts +1 -1
  220. package/dist/controllers/AdminController.d.ts.map +1 -1
  221. package/dist/controllers/AdminController.js +6 -32
  222. package/dist/controllers/AppConfigController.js +3 -3
  223. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  224. package/dist/controllers/BrandingAppController.js +11 -10
  225. package/dist/controllers/BrandingController.d.ts +11 -5
  226. package/dist/controllers/BrandingController.d.ts.map +1 -1
  227. package/dist/controllers/BrandingController.js +116 -48
  228. package/dist/controllers/DashboardConfigController.d.ts +8 -0
  229. package/dist/controllers/DashboardConfigController.d.ts.map +1 -0
  230. package/dist/controllers/DashboardConfigController.js +17 -0
  231. package/dist/controllers/DynamicAssetController.d.ts +1 -21
  232. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  233. package/dist/controllers/DynamicAssetController.js +19 -41
  234. package/dist/controllers/EmailController.d.ts.map +1 -1
  235. package/dist/controllers/EmailController.js +16 -12
  236. package/dist/controllers/ExportController.d.ts.map +1 -1
  237. package/dist/controllers/ExportController.js +3 -8
  238. package/dist/controllers/FormVocabularyController.d.ts +3 -0
  239. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  240. package/dist/controllers/FormVocabularyController.js +154 -4
  241. package/dist/controllers/NamedQueryController.d.ts +8 -0
  242. package/dist/controllers/NamedQueryController.d.ts.map +1 -0
  243. package/dist/controllers/NamedQueryController.js +17 -0
  244. package/dist/controllers/RecordAuditController.d.ts +31 -14
  245. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  246. package/dist/controllers/RecordAuditController.js +509 -57
  247. package/dist/controllers/RecordController.d.ts +18 -16
  248. package/dist/controllers/RecordController.d.ts.map +1 -1
  249. package/dist/controllers/RecordController.js +314 -167
  250. package/dist/controllers/RenderViewController.d.ts.map +1 -1
  251. package/dist/controllers/RenderViewController.js +4 -2
  252. package/dist/controllers/ReportController.d.ts +7 -0
  253. package/dist/controllers/ReportController.d.ts.map +1 -1
  254. package/dist/controllers/ReportController.js +75 -2
  255. package/dist/controllers/ReportsController.d.ts +1 -0
  256. package/dist/controllers/ReportsController.d.ts.map +1 -1
  257. package/dist/controllers/ReportsController.js +12 -2
  258. package/dist/controllers/TranslationController.d.ts.map +1 -1
  259. package/dist/controllers/TranslationController.js +14 -12
  260. package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
  261. package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
  262. package/dist/controllers/WorkspaceTypesController.js +120 -31
  263. package/dist/controllers/index.d.ts.map +1 -1
  264. package/dist/controllers/index.js +19 -4
  265. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  266. package/dist/controllers/webservice/AdminController.js +16 -17
  267. package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
  268. package/dist/controllers/webservice/AppConfigController.js +17 -18
  269. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  270. package/dist/controllers/webservice/BrandingController.js +102 -48
  271. package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
  272. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
  273. package/dist/controllers/webservice/DashboardConfigController.js +241 -0
  274. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  275. package/dist/controllers/webservice/ExportController.js +13 -18
  276. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  277. package/dist/controllers/webservice/FormManagementController.js +11 -13
  278. package/dist/controllers/webservice/HarvestRunController.d.ts +13 -0
  279. package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -0
  280. package/dist/controllers/webservice/HarvestRunController.js +148 -0
  281. package/dist/controllers/webservice/IntegrationAuditController.d.ts +10 -0
  282. package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
  283. package/dist/controllers/webservice/IntegrationAuditController.js +98 -0
  284. package/dist/controllers/webservice/NamedQueryController.d.ts +17 -0
  285. package/dist/controllers/webservice/NamedQueryController.d.ts.map +1 -0
  286. package/dist/controllers/webservice/NamedQueryController.js +127 -0
  287. package/dist/controllers/webservice/RecordController.d.ts +4 -0
  288. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  289. package/dist/controllers/webservice/RecordController.js +441 -314
  290. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  291. package/dist/controllers/webservice/RecordTypeController.js +9 -10
  292. package/dist/controllers/webservice/ReportController.d.ts +7 -0
  293. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  294. package/dist/controllers/webservice/ReportController.js +125 -19
  295. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  296. package/dist/controllers/webservice/SearchController.js +28 -35
  297. package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
  298. package/dist/controllers/webservice/TranslationController.js +65 -43
  299. package/dist/controllers/webservice/UserManagementController.d.ts +1 -1
  300. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  301. package/dist/controllers/webservice/UserManagementController.js +114 -101
  302. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  303. package/dist/controllers/webservice/VocabularyController.js +76 -28
  304. package/dist/form-config/dataRecord-1.0-draft.js +3 -3
  305. package/dist/form-config/default-1.0-draft.d.ts.map +1 -1
  306. package/dist/form-config/default-1.0-draft.js +27 -3
  307. package/dist/form-config/index.d.ts.map +1 -1
  308. package/dist/form-config/index.js +1 -1
  309. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  310. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  311. package/dist/hooks/defineRedboxHook.js +4 -1
  312. package/dist/hooks/webpack.d.ts.map +1 -1
  313. package/dist/hooks/webpack.js +17 -7
  314. package/dist/index.d.ts +12 -2
  315. package/dist/index.d.ts.map +1 -1
  316. package/dist/index.js +17 -2
  317. package/dist/loader/MigrationRunner.d.ts +19 -0
  318. package/dist/loader/MigrationRunner.d.ts.map +1 -0
  319. package/dist/loader/MigrationRunner.js +108 -0
  320. package/dist/loader/bootstrapShimRuntime.d.ts +2 -1
  321. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  322. package/dist/loader/bootstrapShimRuntime.js +7 -2
  323. package/dist/loader/index.d.ts +17 -0
  324. package/dist/loader/index.d.ts.map +1 -1
  325. package/dist/loader/index.js +216 -13
  326. package/dist/middleware/redboxSession.d.ts +5 -0
  327. package/dist/middleware/redboxSession.d.ts.map +1 -1
  328. package/dist/middleware/redboxSession.js +19 -6
  329. package/dist/model/BuildResponse.d.ts +4 -0
  330. package/dist/model/BuildResponse.d.ts.map +1 -1
  331. package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
  332. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  333. package/dist/model/DashboardTypeResponseModel.js +12 -4
  334. package/dist/model/DashboardViewResponseModel.d.ts +20 -0
  335. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
  336. package/dist/model/DashboardViewResponseModel.js +38 -0
  337. package/dist/model/RecordTypeResponseModel.d.ts +3 -1
  338. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  339. package/dist/model/RecordTypeResponseModel.js +4 -2
  340. package/dist/model/RequestDetails.d.ts +1 -1
  341. package/dist/model/RequestDetails.d.ts.map +1 -1
  342. package/dist/model/RequestDetails.js +1 -1
  343. package/dist/model/config/ReportConfig.d.ts +1 -1
  344. package/dist/model/config/ReportConfig.d.ts.map +1 -1
  345. package/dist/model/config/ReportConfig.js +2 -2
  346. package/dist/model/index.d.ts +1 -0
  347. package/dist/model/index.d.ts.map +1 -1
  348. package/dist/model/index.js +5 -2
  349. package/dist/model/storage/BrandingModel.d.ts +0 -16
  350. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  351. package/dist/model/storage/BrandingModel.js +2 -51
  352. package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
  353. package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
  354. package/dist/model/storage/HarvestRunModel.d.ts +140 -0
  355. package/dist/model/storage/HarvestRunModel.d.ts.map +1 -0
  356. package/dist/model/storage/HarvestRunModel.js +110 -0
  357. package/dist/model/storage/IntegrationAuditModel.d.ts +49 -0
  358. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  359. package/dist/model/storage/IntegrationAuditModel.js +106 -0
  360. package/dist/model/storage/RecordTypeModel.d.ts +16 -0
  361. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  362. package/dist/model/storage/RecordTypeModel.js +9 -1
  363. package/dist/model/storage/ReportModel.d.ts +1 -0
  364. package/dist/model/storage/ReportModel.d.ts.map +1 -1
  365. package/dist/model/storage/index.d.ts +2 -0
  366. package/dist/model/storage/index.d.ts.map +1 -1
  367. package/dist/model/storage/index.js +15 -2
  368. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  369. package/dist/policies/contentSecurityPolicy.js +23 -2
  370. package/dist/policies/i18nLanguages.d.ts.map +1 -1
  371. package/dist/policies/i18nLanguages.js +1 -1
  372. package/dist/policies/index.d.ts +3 -0
  373. package/dist/policies/index.d.ts.map +1 -1
  374. package/dist/policies/index.js +6 -2
  375. package/dist/policies/menuResolver.d.ts.map +1 -1
  376. package/dist/policies/menuResolver.js +1 -1
  377. package/dist/policies/setLang.d.ts.map +1 -1
  378. package/dist/policies/setLang.js +1 -1
  379. package/dist/policies/validateApiContractRequest.d.ts +3 -0
  380. package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
  381. package/dist/policies/validateApiContractRequest.js +74 -0
  382. package/dist/responses/badRequest.d.ts.map +1 -1
  383. package/dist/responses/badRequest.js +7 -4
  384. package/dist/responses/created.d.ts.map +1 -1
  385. package/dist/responses/created.js +7 -4
  386. package/dist/responses/forbidden.d.ts.map +1 -1
  387. package/dist/responses/forbidden.js +7 -4
  388. package/dist/responses/ok.d.ts.map +1 -1
  389. package/dist/responses/ok.js +7 -4
  390. package/dist/responses/serverError.d.ts.map +1 -1
  391. package/dist/responses/serverError.js +7 -4
  392. package/dist/responses/siteTitle.d.ts +6 -0
  393. package/dist/responses/siteTitle.d.ts.map +1 -0
  394. package/dist/responses/siteTitle.js +28 -0
  395. package/dist/sails.d.ts +9 -0
  396. package/dist/sails.d.ts.map +1 -1
  397. package/dist/services/AgendaQueueService.d.ts +39 -17
  398. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  399. package/dist/services/AgendaQueueService.js +328 -87
  400. package/dist/services/AppConfigService.d.ts +20 -2
  401. package/dist/services/AppConfigService.d.ts.map +1 -1
  402. package/dist/services/AppConfigService.js +129 -15
  403. package/dist/services/AttachmentMetadataService.d.ts +34 -0
  404. package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
  405. package/dist/services/AttachmentMetadataService.js +133 -0
  406. package/dist/services/BrandingLogoService.d.ts +11 -8
  407. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  408. package/dist/services/BrandingLogoService.js +71 -72
  409. package/dist/services/BrandingService.d.ts.map +1 -1
  410. package/dist/services/BrandingService.js +4 -32
  411. package/dist/services/BrandingThemeCssService.d.ts +21 -0
  412. package/dist/services/BrandingThemeCssService.d.ts.map +1 -0
  413. package/dist/services/BrandingThemeCssService.js +113 -0
  414. package/dist/services/BrandingThemeTokens.d.ts +16 -0
  415. package/dist/services/BrandingThemeTokens.d.ts.map +1 -0
  416. package/dist/services/BrandingThemeTokens.js +82 -0
  417. package/dist/services/CacheService.d.ts.map +1 -1
  418. package/dist/services/CacheService.js +37 -29
  419. package/dist/services/DashboardConfigService.d.ts +71 -0
  420. package/dist/services/DashboardConfigService.d.ts.map +1 -0
  421. package/dist/services/DashboardConfigService.js +315 -0
  422. package/dist/services/DashboardTypesService.d.ts +61 -63
  423. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  424. package/dist/services/DashboardTypesService.js +361 -198
  425. package/dist/services/DoiService.d.ts +30 -25
  426. package/dist/services/DoiService.d.ts.map +1 -1
  427. package/dist/services/DoiService.js +448 -393
  428. package/dist/services/EmailService.d.ts +17 -3
  429. package/dist/services/EmailService.d.ts.map +1 -1
  430. package/dist/services/EmailService.js +44 -17
  431. package/dist/services/FigshareService.d.ts +40 -65
  432. package/dist/services/FigshareService.d.ts.map +1 -1
  433. package/dist/services/FigshareService.js +616 -2038
  434. package/dist/services/FormPayloadPrehydrateService.d.ts +35 -0
  435. package/dist/services/FormPayloadPrehydrateService.d.ts.map +1 -0
  436. package/dist/services/FormPayloadPrehydrateService.js +200 -0
  437. package/dist/services/FormRecordConsistencyService.d.ts +3 -3
  438. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  439. package/dist/services/FormRecordConsistencyService.js +21 -19
  440. package/dist/services/FormVocabularyService.d.ts +45 -0
  441. package/dist/services/FormVocabularyService.d.ts.map +1 -0
  442. package/dist/services/FormVocabularyService.js +326 -0
  443. package/dist/services/FormsService.d.ts.map +1 -1
  444. package/dist/services/FormsService.js +8 -6
  445. package/dist/services/HarvestRunService.d.ts +73 -0
  446. package/dist/services/HarvestRunService.d.ts.map +1 -0
  447. package/dist/services/HarvestRunService.js +1317 -0
  448. package/dist/services/I18nEntriesService.d.ts +9 -4
  449. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  450. package/dist/services/I18nEntriesService.js +96 -18
  451. package/dist/services/IntegrationAuditService.d.ts +158 -0
  452. package/dist/services/IntegrationAuditService.d.ts.map +1 -1
  453. package/dist/services/IntegrationAuditService.js +838 -0
  454. package/dist/services/IntegrationNotificationService.d.ts +55 -0
  455. package/dist/services/IntegrationNotificationService.d.ts.map +1 -0
  456. package/dist/services/IntegrationNotificationService.js +271 -0
  457. package/dist/services/NamedQueryService.d.ts +51 -12
  458. package/dist/services/NamedQueryService.d.ts.map +1 -1
  459. package/dist/services/NamedQueryService.js +622 -125
  460. package/dist/services/OniService.d.ts.map +1 -1
  461. package/dist/services/OniService.js +4 -6
  462. package/dist/services/RDMPService.d.ts.map +1 -1
  463. package/dist/services/RDMPService.js +3 -2
  464. package/dist/services/RecordsService.d.ts +25 -3
  465. package/dist/services/RecordsService.d.ts.map +1 -1
  466. package/dist/services/RecordsService.js +119 -19
  467. package/dist/services/ReportsService.d.ts +57 -1
  468. package/dist/services/ReportsService.d.ts.map +1 -1
  469. package/dist/services/ReportsService.js +258 -34
  470. package/dist/services/SassCompilerService.d.ts +4 -10
  471. package/dist/services/SassCompilerService.d.ts.map +1 -1
  472. package/dist/services/SassCompilerService.js +9 -173
  473. package/dist/services/SolrSearchService.d.ts +1 -0
  474. package/dist/services/SolrSearchService.d.ts.map +1 -1
  475. package/dist/services/SolrSearchService.js +14 -3
  476. package/dist/services/StandardDatastreamService.d.ts +37 -5
  477. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  478. package/dist/services/StandardDatastreamService.js +535 -38
  479. package/dist/services/StorageManagerService.d.ts +13 -1
  480. package/dist/services/StorageManagerService.d.ts.map +1 -1
  481. package/dist/services/StorageManagerService.js +94 -11
  482. package/dist/services/TemplateService.d.ts +2 -18
  483. package/dist/services/TemplateService.d.ts.map +1 -1
  484. package/dist/services/TemplateService.js +9 -53
  485. package/dist/services/VocabularyService.d.ts +13 -0
  486. package/dist/services/VocabularyService.d.ts.map +1 -1
  487. package/dist/services/VocabularyService.js +204 -14
  488. package/dist/services/doi-v2/audit.d.ts +7 -0
  489. package/dist/services/doi-v2/audit.d.ts.map +1 -1
  490. package/dist/services/doi-v2/audit.js +30 -0
  491. package/dist/services/doi-v2/bindings.d.ts +8 -0
  492. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  493. package/dist/services/doi-v2/bindings.js +79 -0
  494. package/dist/services/doi-v2/config.d.ts +7 -0
  495. package/dist/services/doi-v2/config.js +51 -0
  496. package/dist/services/doi-v2/context.d.ts +18 -0
  497. package/dist/services/doi-v2/context.js +41 -0
  498. package/dist/services/doi-v2/http.d.ts +21 -0
  499. package/dist/services/doi-v2/http.js +88 -0
  500. package/dist/services/doi-v2/payload.d.ts +4 -0
  501. package/dist/services/doi-v2/payload.d.ts.map +1 -1
  502. package/dist/services/doi-v2/payload.js +305 -0
  503. package/dist/services/doi-v2/profiles.d.ts +5 -0
  504. package/dist/services/doi-v2/profiles.js +31 -0
  505. package/dist/services/doi-v2/runtime.d.ts +16 -0
  506. package/dist/services/doi-v2/runtime.js +173 -0
  507. package/dist/services/doi-v2/types.d.ts +49 -0
  508. package/dist/services/doi-v2/types.js +3 -0
  509. package/dist/services/figshare-v2/assets.d.ts +5 -0
  510. package/dist/services/figshare-v2/assets.js +297 -0
  511. package/dist/services/figshare-v2/audit.d.ts +7 -0
  512. package/dist/services/figshare-v2/audit.d.ts.map +1 -0
  513. package/dist/services/figshare-v2/audit.js +30 -0
  514. package/dist/services/figshare-v2/bindings.d.ts +6 -0
  515. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  516. package/dist/services/figshare-v2/bindings.js +58 -0
  517. package/dist/services/figshare-v2/config.d.ts +13 -0
  518. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  519. package/dist/services/figshare-v2/config.js +105 -0
  520. package/dist/services/figshare-v2/context.d.ts +4 -0
  521. package/dist/services/figshare-v2/context.d.ts.map +1 -1
  522. package/dist/services/figshare-v2/context.js +21 -0
  523. package/dist/services/figshare-v2/embargo.d.ts +5 -0
  524. package/dist/services/figshare-v2/embargo.js +36 -0
  525. package/dist/services/figshare-v2/http.d.ts +42 -0
  526. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  527. package/dist/services/figshare-v2/http.js +324 -0
  528. package/dist/services/figshare-v2/metadata.d.ts +6 -0
  529. package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
  530. package/dist/services/figshare-v2/metadata.js +280 -0
  531. package/dist/services/figshare-v2/observability.d.ts +7 -0
  532. package/dist/services/figshare-v2/observability.d.ts.map +1 -1
  533. package/dist/services/figshare-v2/observability.js +87 -0
  534. package/dist/services/figshare-v2/plan.d.ts +5 -0
  535. package/dist/services/figshare-v2/plan.js +51 -0
  536. package/dist/services/figshare-v2/publish.d.ts +5 -0
  537. package/dist/services/figshare-v2/publish.js +20 -0
  538. package/dist/services/figshare-v2/queue.d.ts +4 -0
  539. package/dist/services/figshare-v2/queue.js +11 -0
  540. package/dist/services/figshare-v2/runtime.d.ts +14 -0
  541. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  542. package/dist/services/figshare-v2/runtime.js +88 -0
  543. package/dist/services/figshare-v2/types.d.ts +198 -0
  544. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  545. package/dist/services/figshare-v2/types.js +59 -0
  546. package/dist/services/figshare-v2/workflow.d.ts +3 -0
  547. package/dist/services/figshare-v2/workflow.js +7 -0
  548. package/dist/services/figshare-v2/writeback.d.ts +5 -0
  549. package/dist/services/figshare-v2/writeback.js +45 -0
  550. package/dist/services/index.d.ts +24 -3
  551. package/dist/services/index.d.ts.map +1 -1
  552. package/dist/services/index.js +43 -7
  553. package/dist/shims/momentShim.d.ts.map +1 -1
  554. package/dist/shims/momentShim.js +1 -6
  555. package/dist/storage/GridFSDriver.d.ts +101 -0
  556. package/dist/storage/GridFSDriver.d.ts.map +1 -0
  557. package/dist/storage/GridFSDriver.js +291 -0
  558. package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
  559. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
  560. package/dist/storage/TusStorageManagerDataStore.js +300 -0
  561. package/dist/transformers/ExportJSONTransformer.d.ts +1 -1
  562. package/dist/transformers/ExportJSONTransformer.d.ts.map +1 -1
  563. package/dist/transformers/ExportJSONTransformer.js +3 -3
  564. package/dist/utilities/RequestParamUtils.d.ts +3 -0
  565. package/dist/utilities/RequestParamUtils.d.ts.map +1 -0
  566. package/dist/utilities/RequestParamUtils.js +13 -0
  567. package/dist/visitor/attachment-fields.visitor.d.ts +17 -17
  568. package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -1
  569. package/dist/visitor/attachment-fields.visitor.js +44 -34
  570. package/dist/visitor/client.visitor.d.ts +145 -97
  571. package/dist/visitor/client.visitor.d.ts.map +1 -1
  572. package/dist/visitor/client.visitor.js +366 -273
  573. package/dist/visitor/construct.visitor.d.ts +99 -93
  574. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  575. package/dist/visitor/construct.visitor.js +304 -227
  576. package/dist/visitor/context-variables.visitor.d.ts +35 -35
  577. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  578. package/dist/visitor/context-variables.visitor.js +85 -75
  579. package/dist/visitor/data-value.visitor.d.ts +99 -93
  580. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  581. package/dist/visitor/data-value.visitor.js +157 -148
  582. package/dist/visitor/json-type-def.visitor.d.ts +96 -90
  583. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  584. package/dist/visitor/json-type-def.visitor.js +158 -149
  585. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +101 -94
  586. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  587. package/dist/visitor/migrate-config-v4-v5.visitor.js +356 -295
  588. package/dist/visitor/template.visitor.d.ts +100 -92
  589. package/dist/visitor/template.visitor.d.ts.map +1 -1
  590. package/dist/visitor/template.visitor.js +245 -156
  591. package/dist/visitor/validator.visitor.d.ts +95 -91
  592. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  593. package/dist/visitor/validator.visitor.js +184 -152
  594. package/dist/visitor/visitor-helpers.js +9 -9
  595. package/dist/visitor/vocab-inline.visitor.d.ts +34 -19
  596. package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
  597. package/dist/visitor/vocab-inline.visitor.js +157 -48
  598. package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
  599. package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
  600. package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
  601. package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
  602. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
  603. package/dist/waterline-models/AttachmentMetadata.js +147 -0
  604. package/dist/waterline-models/BrandingConfig.d.ts +0 -2
  605. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  606. package/dist/waterline-models/BrandingConfig.js +5 -9
  607. package/dist/waterline-models/DashboardType.d.ts +7 -0
  608. package/dist/waterline-models/DashboardType.d.ts.map +1 -1
  609. package/dist/waterline-models/DashboardType.js +16 -1
  610. package/dist/waterline-models/HarvestRecordEvent.d.ts +43 -0
  611. package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -0
  612. package/dist/waterline-models/HarvestRecordEvent.js +107 -0
  613. package/dist/waterline-models/HarvestRun.d.ts +51 -0
  614. package/dist/waterline-models/HarvestRun.d.ts.map +1 -0
  615. package/dist/waterline-models/HarvestRun.js +125 -0
  616. package/dist/waterline-models/HarvestRunChunk.d.ts +57 -0
  617. package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -0
  618. package/dist/waterline-models/HarvestRunChunk.js +140 -0
  619. package/dist/waterline-models/I18nTranslation.d.ts +2 -0
  620. package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
  621. package/dist/waterline-models/I18nTranslation.js +6 -1
  622. package/dist/waterline-models/Migration.d.ts +24 -0
  623. package/dist/waterline-models/Migration.d.ts.map +1 -0
  624. package/dist/waterline-models/Migration.js +52 -0
  625. package/dist/waterline-models/NamedQuery.d.ts +6 -0
  626. package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
  627. package/dist/waterline-models/NamedQuery.js +16 -1
  628. package/dist/waterline-models/index.d.ts +12 -0
  629. package/dist/waterline-models/index.d.ts.map +1 -1
  630. package/dist/waterline-models/index.js +19 -1
  631. package/package.json +78 -52
  632. package/redbox-loader-templates/bootstrap-shim.js.hbs +14 -1
  633. package/dist/config/datacite.config.d.ts +0 -51
  634. package/dist/config/datacite.config.d.ts.map +0 -1
  635. package/dist/config/datacite.config.js +0 -44
  636. package/dist/config/figshareAPI.config.d.ts +0 -116
  637. package/dist/config/figshareAPI.config.d.ts.map +0 -1
  638. package/dist/config/figshareAPI.config.js +0 -857
  639. package/dist/config/figshareAPIEnv.config.d.ts +0 -11
  640. package/dist/config/figshareAPIEnv.config.d.ts.map +0 -1
  641. package/dist/config/figshareAPIEnv.config.js +0 -13
  642. package/dist/config/figshareRedboxFORMapping.config.d.ts +0 -15
  643. package/dist/config/figshareRedboxFORMapping.config.d.ts.map +0 -1
  644. package/dist/config/figshareRedboxFORMapping.config.js +0 -7458
  645. package/dist/config/relatedObjectsFormDefinition.config.d.ts.map +0 -1
  646. package/dist/controllers/VocabController.d.ts +0 -43
  647. package/dist/controllers/VocabController.d.ts.map +0 -1
  648. package/dist/controllers/VocabController.js +0 -190
  649. package/dist/form-config/dataPublication-1.0-draft.d.ts.map +0 -1
  650. package/dist/form-config/dataPublication-1.0-embargoed.d.ts.map +0 -1
  651. package/dist/form-config/dataPublication-1.0-published.d.ts.map +0 -1
  652. package/dist/form-config/dataPublication-1.0-queued.d.ts.map +0 -1
  653. package/dist/form-config/dataPublication-1.0-retired.d.ts.map +0 -1
  654. package/dist/services/VocabService.d.ts +0 -81
  655. package/dist/services/VocabService.d.ts.map +0 -1
  656. package/dist/services/VocabService.js +0 -424
@@ -0,0 +1,630 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FIGSHARE_PUBLISHING_SCHEMA = exports.FigsharePublishing = void 0;
4
+ exports.resolveFigshareConnectionToken = resolveFigshareConnectionToken;
5
+ const AppConfig_interface_1 = require("./AppConfig.interface");
6
+ function resolveFigshareConnectionToken(token, options = {}) {
7
+ const value = typeof token === 'string' ? token.trim() : '';
8
+ if (value.startsWith('$')) {
9
+ const envVarName = value.slice(1);
10
+ const resolved = process.env[envVarName]?.trim() ?? '';
11
+ if (!resolved && !options.allowEmpty) {
12
+ throw new Error(`Figshare connection token environment variable '${envVarName}' is not set or is empty`);
13
+ }
14
+ return resolved;
15
+ }
16
+ if (!value && !options.allowEmpty) {
17
+ throw new Error('Figshare connection token must not be empty');
18
+ }
19
+ return value;
20
+ }
21
+ function createDefaultBinding(path, defaultValue) {
22
+ return {
23
+ kind: 'path',
24
+ path,
25
+ defaultValue
26
+ };
27
+ }
28
+ class FigsharePublishing extends AppConfig_interface_1.AppConfig {
29
+ enabled = false;
30
+ connection = {
31
+ baseUrl: '',
32
+ frontEndUrl: '',
33
+ token: '',
34
+ timeoutMs: 30000,
35
+ operationTimeouts: {
36
+ metadataMs: 30000,
37
+ uploadInitMs: 30000,
38
+ uploadPartMs: 120000,
39
+ publishMs: 60000
40
+ },
41
+ retry: {
42
+ maxAttempts: 3,
43
+ baseDelayMs: 500,
44
+ maxDelayMs: 4000,
45
+ retryOnStatusCodes: [408, 429, 500, 502, 503, 504],
46
+ retryOnMethods: ['get', 'put', 'delete']
47
+ }
48
+ };
49
+ article = {
50
+ itemType: 'dataset',
51
+ groupId: undefined,
52
+ publishMode: 'afterUploadsComplete',
53
+ republishOnMetadataChange: true,
54
+ republishOnAssetChange: true,
55
+ curationLock: {
56
+ enabled: false,
57
+ statusField: '',
58
+ targetValue: 'public'
59
+ }
60
+ };
61
+ record = {
62
+ articleIdPath: 'metadata.figshare_article_id',
63
+ articleUrlPaths: ['metadata.figshare_article_location'],
64
+ dataLocationsPath: 'metadata.dataLocations',
65
+ statusPath: 'metadata.figshareStatus',
66
+ errorPath: 'metadata.figshareError',
67
+ syncStatePath: 'metadata.figshareSyncState',
68
+ allFilesUploadedPath: ''
69
+ };
70
+ selection = {
71
+ attachmentMode: 'selectedOnly',
72
+ urlMode: 'selectedOnly',
73
+ selectedFlagPath: 'selected'
74
+ };
75
+ authors = {
76
+ source: 'defaultRedboxContributors',
77
+ contributorPaths: [
78
+ 'metadata.contributor_ci',
79
+ 'metadata.contributor_data_manager',
80
+ 'metadata.dataOwner',
81
+ 'metadata.chiefInvestigator',
82
+ 'metadata.contributors'
83
+ ],
84
+ uniqueBy: 'email',
85
+ externalNameField: 'text_full_name',
86
+ maxInlineAuthors: 50,
87
+ emailTransform: {
88
+ prefix: '',
89
+ domainOverride: ''
90
+ },
91
+ lookup: [
92
+ {
93
+ matchBy: 'email',
94
+ value: createDefaultBinding('email')
95
+ }
96
+ ]
97
+ };
98
+ metadata = {
99
+ title: createDefaultBinding('metadata.title', ''),
100
+ description: createDefaultBinding('metadata.description', ''),
101
+ keywords: createDefaultBinding('metadata.finalKeywords', []),
102
+ funding: createDefaultBinding('metadata.funder', ''),
103
+ license: {
104
+ source: createDefaultBinding('metadata.license'),
105
+ matchBy: 'urlContains',
106
+ required: true
107
+ },
108
+ categories: {
109
+ source: createDefaultBinding('metadata.forCodes', []),
110
+ mappingStrategy: 'for2020Mapping'
111
+ },
112
+ relatedResource: {
113
+ title: createDefaultBinding('metadata.title', ''),
114
+ doi: createDefaultBinding('metadata.doi', '')
115
+ },
116
+ customFields: []
117
+ };
118
+ categories = {
119
+ strategy: 'for2020Mapping',
120
+ mappingTable: [],
121
+ allowUnmapped: false
122
+ };
123
+ assets = {
124
+ enableHostedFiles: true,
125
+ enableLinkFiles: true,
126
+ dedupeStrategy: 'sourceId',
127
+ staging: {
128
+ tempDir: '',
129
+ cleanupPolicy: 'deleteAfterSuccess',
130
+ diskSpaceThresholdBytes: 1073741824
131
+ }
132
+ };
133
+ embargo = {
134
+ mode: 'recordDriven',
135
+ forceSync: false,
136
+ accessRights: {
137
+ accessRights: createDefaultBinding('metadata.accessRights', ''),
138
+ fullEmbargoUntil: createDefaultBinding('metadata.embargoUntil'),
139
+ fileEmbargoUntil: createDefaultBinding('metadata.embargoUntil'),
140
+ reason: createDefaultBinding('metadata.embargoReason')
141
+ }
142
+ };
143
+ queue = {
144
+ publishAfterUploadDelay: 'in 2 minutes',
145
+ uploadedFilesCleanupDelay: 'in 5 minutes'
146
+ };
147
+ workflow = {
148
+ transitionRules: [],
149
+ transitionJob: {
150
+ enabled: false,
151
+ namedQuery: '',
152
+ targetStep: '',
153
+ paramMap: {},
154
+ figshareTargetFieldKey: '',
155
+ figshareTargetFieldValue: '',
156
+ username: '',
157
+ userType: ''
158
+ }
159
+ };
160
+ writeBack = {
161
+ articleId: 'metadata.figshare_article_id',
162
+ articleUrls: ['metadata.figshare_article_location'],
163
+ extraFields: []
164
+ };
165
+ static getFieldOrder() {
166
+ return [
167
+ 'enabled',
168
+ 'connection',
169
+ 'article',
170
+ 'record',
171
+ 'selection',
172
+ 'authors',
173
+ 'metadata',
174
+ 'categories',
175
+ 'assets',
176
+ 'embargo',
177
+ 'queue',
178
+ 'workflow',
179
+ 'writeBack'
180
+ ];
181
+ }
182
+ }
183
+ exports.FigsharePublishing = FigsharePublishing;
184
+ const VALUE_BINDING_EDITOR_WIDGET = {
185
+ widget: {
186
+ formlyConfig: {
187
+ type: 'value-binding-editor'
188
+ }
189
+ }
190
+ };
191
+ const CATEGORY_MAPPING_EDITOR_WIDGET = {
192
+ widget: {
193
+ formlyConfig: {
194
+ type: 'figshare-category-mapping-editor'
195
+ }
196
+ }
197
+ };
198
+ const VALUE_BINDING_SCHEMA = {
199
+ type: 'object',
200
+ title: 'Binding',
201
+ properties: {
202
+ kind: {
203
+ type: 'string',
204
+ title: 'Binding Type',
205
+ enum: ['path', 'handlebars', 'jsonata'],
206
+ default: 'path'
207
+ },
208
+ path: {
209
+ type: 'string',
210
+ title: 'Record Path'
211
+ },
212
+ template: {
213
+ type: 'string',
214
+ title: 'Handlebars Template'
215
+ },
216
+ expression: {
217
+ type: 'string',
218
+ title: 'JSONata Expression'
219
+ },
220
+ defaultValue: {
221
+ title: 'Default Value'
222
+ }
223
+ },
224
+ required: ['kind'],
225
+ ...VALUE_BINDING_EDITOR_WIDGET
226
+ };
227
+ exports.FIGSHARE_PUBLISHING_SCHEMA = {
228
+ type: 'object',
229
+ properties: {
230
+ enabled: {
231
+ type: 'boolean',
232
+ title: 'Enabled',
233
+ default: false
234
+ },
235
+ connection: {
236
+ type: 'object',
237
+ title: 'Connection',
238
+ properties: {
239
+ baseUrl: { type: 'string', title: 'Base URL' },
240
+ frontEndUrl: { type: 'string', title: 'Front End URL' },
241
+ token: {
242
+ type: 'string',
243
+ title: 'API Token',
244
+ description: 'Do not commit raw API tokens. Prefer an environment variable reference such as $FIGSHARE_TOKEN or the deployment secret manager.'
245
+ },
246
+ timeoutMs: { type: 'integer', title: 'Request Timeout (ms)', default: 30000 },
247
+ operationTimeouts: {
248
+ type: 'object',
249
+ title: 'Operation Timeouts',
250
+ properties: {
251
+ metadataMs: { type: 'integer', title: 'Metadata Timeout (ms)', default: 30000 },
252
+ uploadInitMs: { type: 'integer', title: 'Upload Init Timeout (ms)', default: 30000 },
253
+ uploadPartMs: { type: 'integer', title: 'Upload Part Timeout (ms)', default: 120000 },
254
+ publishMs: { type: 'integer', title: 'Publish Timeout (ms)', default: 60000 }
255
+ }
256
+ },
257
+ retry: {
258
+ type: 'object',
259
+ title: 'Retry Policy',
260
+ properties: {
261
+ maxAttempts: { type: 'integer', title: 'Max Attempts', default: 3 },
262
+ baseDelayMs: { type: 'integer', title: 'Base Delay (ms)', default: 500 },
263
+ maxDelayMs: { type: 'integer', title: 'Max Delay (ms)', default: 4000 },
264
+ retryOnStatusCodes: {
265
+ type: 'array',
266
+ title: 'Retry On Status Codes',
267
+ items: { type: 'integer' },
268
+ default: [408, 429, 500, 502, 503, 504]
269
+ },
270
+ retryOnMethods: {
271
+ type: 'array',
272
+ title: 'Retry On Methods',
273
+ items: { type: 'string' },
274
+ default: ['get', 'put', 'delete']
275
+ }
276
+ }
277
+ }
278
+ }
279
+ },
280
+ article: {
281
+ type: 'object',
282
+ title: 'Article',
283
+ properties: {
284
+ itemType: {
285
+ type: 'string',
286
+ title: 'Item Type',
287
+ enum: ['dataset', 'fileset', 'figure', 'media', 'poster', 'paper', 'presentation', 'thesis', 'code', 'metadata'],
288
+ default: 'dataset'
289
+ },
290
+ groupId: { type: 'integer', title: 'Group ID' },
291
+ publishMode: {
292
+ type: 'string',
293
+ title: 'Publish Mode',
294
+ enum: ['immediate', 'afterUploadsComplete', 'manual'],
295
+ default: 'afterUploadsComplete'
296
+ },
297
+ republishOnMetadataChange: { type: 'boolean', title: 'Republish On Metadata Change', default: true },
298
+ republishOnAssetChange: { type: 'boolean', title: 'Republish On Asset Change', default: true },
299
+ curationLock: {
300
+ type: 'object',
301
+ title: 'Curation Lock',
302
+ properties: {
303
+ enabled: { type: 'boolean', title: 'Enabled', default: false },
304
+ statusField: { type: 'string', title: 'Status Field', default: '' },
305
+ targetValue: { type: 'string', title: 'Target Value', default: 'public' }
306
+ }
307
+ }
308
+ }
309
+ },
310
+ record: {
311
+ type: 'object',
312
+ title: 'Record',
313
+ properties: {
314
+ articleIdPath: { type: 'string', title: 'Article ID Path', default: 'metadata.figshare_article_id' },
315
+ articleUrlPaths: {
316
+ type: 'array',
317
+ title: 'Article URL Paths',
318
+ items: { type: 'string' },
319
+ default: ['metadata.figshare_article_location']
320
+ },
321
+ dataLocationsPath: { type: 'string', title: 'Data Locations Path', default: 'metadata.dataLocations' },
322
+ statusPath: { type: 'string', title: 'Status Path', default: 'metadata.figshareStatus' },
323
+ errorPath: { type: 'string', title: 'Error Path', default: 'metadata.figshareError' },
324
+ syncStatePath: { type: 'string', title: 'Sync State Path', default: 'metadata.figshareSyncState' },
325
+ allFilesUploadedPath: { type: 'string', title: 'All Files Uploaded Path', default: '' }
326
+ }
327
+ },
328
+ selection: {
329
+ type: 'object',
330
+ title: 'Selection',
331
+ properties: {
332
+ attachmentMode: {
333
+ type: 'string',
334
+ title: 'Attachment Mode',
335
+ enum: ['selectedOnly', 'all'],
336
+ default: 'selectedOnly'
337
+ },
338
+ urlMode: {
339
+ type: 'string',
340
+ title: 'URL Mode',
341
+ enum: ['selectedOnly', 'all'],
342
+ default: 'selectedOnly'
343
+ },
344
+ selectedFlagPath: { type: 'string', title: 'Selected Flag Path', default: 'selected' }
345
+ }
346
+ },
347
+ authors: {
348
+ type: 'object',
349
+ title: 'Authors',
350
+ properties: {
351
+ source: {
352
+ type: 'string',
353
+ title: 'Source Strategy',
354
+ enum: ['defaultRedboxContributors'],
355
+ default: 'defaultRedboxContributors'
356
+ },
357
+ uniqueBy: {
358
+ type: 'string',
359
+ title: 'Unique By',
360
+ enum: ['email', 'orcid', 'username', 'none'],
361
+ default: 'email'
362
+ },
363
+ externalNameField: { type: 'string', title: 'External Name Field', default: 'text_full_name' },
364
+ maxInlineAuthors: { type: 'integer', title: 'Max Inline Authors', default: 50 },
365
+ lookup: {
366
+ type: 'array',
367
+ title: 'Lookup Rules',
368
+ items: {
369
+ type: 'object',
370
+ properties: {
371
+ matchBy: {
372
+ type: 'string',
373
+ title: 'Match By',
374
+ enum: ['email', 'orcid', 'username']
375
+ },
376
+ value: VALUE_BINDING_SCHEMA
377
+ }
378
+ }
379
+ },
380
+ contributorPaths: {
381
+ type: 'array',
382
+ title: 'Contributor Paths',
383
+ items: { type: 'string' },
384
+ default: [
385
+ 'metadata.contributor_ci',
386
+ 'metadata.contributor_data_manager',
387
+ 'metadata.dataOwner',
388
+ 'metadata.chiefInvestigator',
389
+ 'metadata.contributors'
390
+ ]
391
+ },
392
+ emailTransform: {
393
+ type: 'object',
394
+ title: 'Email Transform',
395
+ properties: {
396
+ prefix: { type: 'string', title: 'Prefix', default: '' },
397
+ domainOverride: { type: 'string', title: 'Domain Override', default: '' }
398
+ }
399
+ }
400
+ }
401
+ },
402
+ metadata: {
403
+ type: 'object',
404
+ title: 'Metadata',
405
+ properties: {
406
+ title: VALUE_BINDING_SCHEMA,
407
+ description: VALUE_BINDING_SCHEMA,
408
+ keywords: VALUE_BINDING_SCHEMA,
409
+ funding: VALUE_BINDING_SCHEMA,
410
+ license: {
411
+ type: 'object',
412
+ title: 'License',
413
+ properties: {
414
+ source: VALUE_BINDING_SCHEMA,
415
+ matchBy: {
416
+ type: 'string',
417
+ title: 'Match By',
418
+ enum: ['urlContains', 'nameExact', 'valueExact'],
419
+ default: 'urlContains'
420
+ },
421
+ required: { type: 'boolean', title: 'Required', default: true }
422
+ }
423
+ },
424
+ categories: {
425
+ type: 'object',
426
+ title: 'Categories Binding',
427
+ properties: {
428
+ source: VALUE_BINDING_SCHEMA,
429
+ mappingStrategy: {
430
+ type: 'string',
431
+ title: 'Mapping Strategy',
432
+ enum: ['for2020Mapping'],
433
+ default: 'for2020Mapping'
434
+ }
435
+ }
436
+ },
437
+ relatedResource: {
438
+ type: 'object',
439
+ title: 'Related Resource',
440
+ properties: {
441
+ title: VALUE_BINDING_SCHEMA,
442
+ doi: VALUE_BINDING_SCHEMA
443
+ }
444
+ },
445
+ customFields: {
446
+ type: 'array',
447
+ title: 'Custom Fields',
448
+ items: {
449
+ type: 'object',
450
+ properties: {
451
+ figshareField: { type: 'string', title: 'Figshare Field' },
452
+ value: VALUE_BINDING_SCHEMA,
453
+ validations: {
454
+ type: 'array',
455
+ title: 'Validations',
456
+ items: {
457
+ type: 'object',
458
+ properties: {
459
+ type: {
460
+ type: 'string',
461
+ title: 'Type',
462
+ enum: ['maxLength', 'url', 'doi', 'required']
463
+ },
464
+ value: {
465
+ type: 'integer',
466
+ title: 'Value'
467
+ }
468
+ }
469
+ }
470
+ }
471
+ }
472
+ }
473
+ }
474
+ }
475
+ },
476
+ categories: {
477
+ type: 'object',
478
+ title: 'Categories',
479
+ properties: {
480
+ strategy: {
481
+ type: 'string',
482
+ title: 'Strategy',
483
+ enum: ['for2020Mapping'],
484
+ default: 'for2020Mapping'
485
+ },
486
+ mappingTable: {
487
+ type: 'array',
488
+ title: 'Mapping Table',
489
+ items: {
490
+ type: 'object',
491
+ properties: {
492
+ sourceCode: { type: 'string', title: 'Source Code' },
493
+ figshareCategoryId: { type: 'integer', title: 'Figshare Category ID' }
494
+ }
495
+ },
496
+ ...CATEGORY_MAPPING_EDITOR_WIDGET
497
+ },
498
+ allowUnmapped: { type: 'boolean', title: 'Allow Unmapped Categories', default: false }
499
+ }
500
+ },
501
+ assets: {
502
+ type: 'object',
503
+ title: 'Assets',
504
+ properties: {
505
+ enableHostedFiles: { type: 'boolean', title: 'Enable Hosted Files', default: true },
506
+ enableLinkFiles: { type: 'boolean', title: 'Enable Link Files', default: true },
507
+ dedupeStrategy: {
508
+ type: 'string',
509
+ title: 'Dedupe Strategy',
510
+ enum: ['sourceId', 'nameAndMd5', 'url'],
511
+ default: 'sourceId'
512
+ },
513
+ staging: {
514
+ type: 'object',
515
+ title: 'Staging',
516
+ properties: {
517
+ tempDir: { type: 'string', title: 'Temp Directory' },
518
+ cleanupPolicy: {
519
+ type: 'string',
520
+ title: 'Cleanup Policy',
521
+ enum: ['deleteAfterSuccess', 'retainForRetry'],
522
+ default: 'deleteAfterSuccess'
523
+ },
524
+ diskSpaceThresholdBytes: { type: 'integer', title: 'Disk Space Threshold Bytes', default: 1073741824 }
525
+ }
526
+ }
527
+ }
528
+ },
529
+ embargo: {
530
+ type: 'object',
531
+ title: 'Embargo',
532
+ properties: {
533
+ mode: {
534
+ type: 'string',
535
+ title: 'Mode',
536
+ enum: ['none', 'recordDriven'],
537
+ default: 'recordDriven'
538
+ },
539
+ forceSync: { type: 'boolean', title: 'Force Sync', default: false },
540
+ accessRights: {
541
+ type: 'object',
542
+ title: 'Access Rights Binding',
543
+ properties: {
544
+ accessRights: VALUE_BINDING_SCHEMA,
545
+ fullEmbargoUntil: VALUE_BINDING_SCHEMA,
546
+ fileEmbargoUntil: VALUE_BINDING_SCHEMA,
547
+ reason: VALUE_BINDING_SCHEMA
548
+ }
549
+ }
550
+ }
551
+ },
552
+ queue: {
553
+ type: 'object',
554
+ title: 'Queue',
555
+ properties: {
556
+ publishAfterUploadDelay: { type: 'string', title: 'Publish After Upload Delay', default: 'in 2 minutes' },
557
+ uploadedFilesCleanupDelay: { type: 'string', title: 'Uploaded Files Cleanup Delay', default: 'in 5 minutes' }
558
+ }
559
+ },
560
+ workflow: {
561
+ type: 'object',
562
+ title: 'Workflow',
563
+ properties: {
564
+ transitionRules: {
565
+ type: 'array',
566
+ title: 'Transition Rules',
567
+ items: {
568
+ type: 'object',
569
+ properties: {
570
+ when: {
571
+ type: 'string',
572
+ title: 'When',
573
+ enum: ['published', 'republished', 'embargoUpdated', 'awaitingUploadCompletion']
574
+ },
575
+ targetWorkflowStageName: { type: 'string', title: 'Target Workflow Stage Name' },
576
+ targetWorkflowStageLabel: { type: 'string', title: 'Target Workflow Stage Label' },
577
+ targetForm: { type: 'string', title: 'Target Form' },
578
+ ifArticleField: { type: 'string', title: 'Article Field' },
579
+ equals: { title: 'Equals' }
580
+ }
581
+ }
582
+ },
583
+ transitionJob: {
584
+ type: 'object',
585
+ title: 'Transition Job',
586
+ properties: {
587
+ enabled: { type: 'boolean', title: 'Enabled', default: false },
588
+ namedQuery: { type: 'string', title: 'Named Query', default: '' },
589
+ targetStep: { type: 'string', title: 'Target Step', default: '' },
590
+ paramMap: { type: 'object', title: 'Parameter Map', default: {} },
591
+ figshareTargetFieldKey: { type: 'string', title: 'Figshare Target Field Key', default: '' },
592
+ figshareTargetFieldValue: { type: 'string', title: 'Figshare Target Field Value', default: '' },
593
+ username: { type: 'string', title: 'Username', default: '' },
594
+ userType: { type: 'string', title: 'User Type', default: '' }
595
+ }
596
+ }
597
+ }
598
+ },
599
+ writeBack: {
600
+ type: 'object',
601
+ title: 'Write Back',
602
+ properties: {
603
+ articleId: { type: 'string', title: 'Article ID Target Path', default: 'metadata.figshare_article_id' },
604
+ articleUrls: {
605
+ type: 'array',
606
+ title: 'Article URL Target Paths',
607
+ items: { type: 'string' },
608
+ default: ['metadata.figshare_article_location']
609
+ },
610
+ extraFields: {
611
+ type: 'array',
612
+ title: 'Extra Fields',
613
+ items: {
614
+ type: 'object',
615
+ properties: {
616
+ from: {
617
+ type: 'string',
618
+ title: 'From',
619
+ enum: ['article', 'publishResult', 'assetSyncResult']
620
+ },
621
+ sourcePath: { type: 'string', title: 'Source Path' },
622
+ targetPath: { type: 'string', title: 'Target Path' }
623
+ }
624
+ }
625
+ }
626
+ }
627
+ }
628
+ }
629
+ };
630
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlnc2hhcmVQdWJsaXNoaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZ21vZGVscy9GaWdzaGFyZVB1Ymxpc2hpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBMEhBLHdFQWNDO0FBeElELCtEQUFrRDtBQTBIbEQsU0FBZ0IsOEJBQThCLENBQUMsS0FBYSxFQUFFLFVBQW9DLEVBQUU7SUFDbEcsTUFBTSxLQUFLLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM1RCxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsVUFBVSwwQkFBMEIsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQWlHRCxTQUFTLG9CQUFvQixDQUFDLElBQVksRUFBRSxZQUFzQjtJQUNoRSxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJO1FBQ0osWUFBWTtLQUNiLENBQUM7QUFD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