@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,639 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DOI_PUBLISHING_SCHEMA = exports.DoiPublishing = void 0;
7
+ exports.createDefaultBinding = createDefaultBinding;
8
+ exports.resolveDoiConnectionPassword = resolveDoiConnectionPassword;
9
+ exports.toDoiPublishingFormModel = toDoiPublishingFormModel;
10
+ exports.fromDoiPublishingFormModel = fromDoiPublishingFormModel;
11
+ const lodash_1 = __importDefault(require("lodash"));
12
+ const AppConfig_interface_1 = require("./AppConfig.interface");
13
+ function createDefaultBinding(path, defaultValue) {
14
+ return {
15
+ kind: 'path',
16
+ path,
17
+ defaultValue
18
+ };
19
+ }
20
+ function resolveDoiConnectionPassword(password, options = {}) {
21
+ const value = typeof password === 'string' ? password.trim() : '';
22
+ if (value.startsWith('$')) {
23
+ const envVarName = value.slice(1);
24
+ const resolved = process.env[envVarName]?.trim() ?? '';
25
+ if (!resolved && !options.allowEmpty) {
26
+ throw new Error(`DOI connection password environment variable '${envVarName}' is not set or is empty`);
27
+ }
28
+ return resolved;
29
+ }
30
+ if (!value) {
31
+ for (const envVarName of options.fallbackEnvVarNames ?? []) {
32
+ const resolved = process.env[envVarName]?.trim() ?? '';
33
+ if (resolved) {
34
+ return resolved;
35
+ }
36
+ }
37
+ }
38
+ if (!value && !options.allowEmpty) {
39
+ throw new Error('DOI connection password must not be empty');
40
+ }
41
+ return value;
42
+ }
43
+ function isRecord(value) {
44
+ return value != null && typeof value === 'object' && !Array.isArray(value);
45
+ }
46
+ function normaliseProfileName(name, fallback) {
47
+ const trimmed = String(name ?? '').trim();
48
+ return trimmed !== '' ? trimmed : fallback;
49
+ }
50
+ function cloneProfileAsFormEntry(name, profile) {
51
+ const entry = isRecord(profile) ? lodash_1.default.cloneDeep(profile) : {};
52
+ return {
53
+ ...entry,
54
+ name
55
+ };
56
+ }
57
+ function toDoiPublishingFormModel(model) {
58
+ const cloned = lodash_1.default.cloneDeep(model ?? {});
59
+ const profiles = cloned.profiles;
60
+ if (Array.isArray(profiles)) {
61
+ cloned.profiles = profiles.map((profile, index) => {
62
+ if (!isRecord(profile)) {
63
+ return { name: `profile-${index + 1}` };
64
+ }
65
+ const entry = lodash_1.default.cloneDeep(profile);
66
+ entry.name = normaliseProfileName(entry.name, `profile-${index + 1}`);
67
+ return entry;
68
+ });
69
+ return cloned;
70
+ }
71
+ if (isRecord(profiles)) {
72
+ cloned.profiles = Object.entries(profiles).map(([name, profile], index) => {
73
+ const entryName = normaliseProfileName(name, `profile-${index + 1}`);
74
+ return cloneProfileAsFormEntry(entryName, profile);
75
+ });
76
+ return cloned;
77
+ }
78
+ cloned.profiles = [];
79
+ return cloned;
80
+ }
81
+ function fromDoiPublishingFormModel(model) {
82
+ const cloned = lodash_1.default.cloneDeep(model ?? {});
83
+ const profiles = cloned.profiles;
84
+ if (!Array.isArray(profiles)) {
85
+ return cloned;
86
+ }
87
+ const mappedProfiles = {};
88
+ profiles.forEach((profile, index) => {
89
+ if (!isRecord(profile)) {
90
+ return;
91
+ }
92
+ const entry = lodash_1.default.cloneDeep(profile);
93
+ const name = normaliseProfileName(entry.name, `profile-${index + 1}`);
94
+ if (mappedProfiles[name] != null) {
95
+ throw new Error(`Duplicate DOI profile name '${name}' resolved from profile entry at index ${index} (original name: '${String(entry.name ?? '')}').`);
96
+ }
97
+ delete entry.name;
98
+ mappedProfiles[name] = entry;
99
+ });
100
+ cloned.profiles = mappedProfiles;
101
+ return cloned;
102
+ }
103
+ const VALUE_BINDING_EDITOR_WIDGET = {
104
+ widget: {
105
+ formlyConfig: {
106
+ type: 'value-binding-editor'
107
+ }
108
+ }
109
+ };
110
+ const VALUE_BINDING_SCHEMA = {
111
+ type: 'object',
112
+ title: 'Binding',
113
+ properties: {
114
+ kind: {
115
+ type: 'string',
116
+ title: 'Binding Type',
117
+ enum: ['path', 'handlebars', 'jsonata'],
118
+ default: 'path'
119
+ },
120
+ path: {
121
+ type: 'string',
122
+ title: 'Record Path'
123
+ },
124
+ template: {
125
+ type: 'string',
126
+ title: 'Handlebars Template'
127
+ },
128
+ expression: {
129
+ type: 'string',
130
+ title: 'JSONata Expression'
131
+ },
132
+ defaultValue: {
133
+ title: 'Default Value'
134
+ }
135
+ },
136
+ required: ['kind'],
137
+ ...VALUE_BINDING_EDITOR_WIDGET
138
+ };
139
+ const NAME_IDENTIFIER_SCHEMA = {
140
+ type: 'object',
141
+ title: 'Name Identifier',
142
+ properties: {
143
+ nameIdentifier: VALUE_BINDING_SCHEMA,
144
+ nameIdentifierScheme: VALUE_BINDING_SCHEMA,
145
+ schemeUri: VALUE_BINDING_SCHEMA
146
+ }
147
+ };
148
+ const AFFILIATION_SCHEMA = {
149
+ type: 'object',
150
+ title: 'Affiliation',
151
+ properties: {
152
+ name: VALUE_BINDING_SCHEMA,
153
+ affiliationIdentifier: VALUE_BINDING_SCHEMA,
154
+ affiliationIdentifierScheme: VALUE_BINDING_SCHEMA,
155
+ schemeUri: VALUE_BINDING_SCHEMA
156
+ }
157
+ };
158
+ const CREATOR_SCHEMA = {
159
+ type: 'object',
160
+ title: 'Creator',
161
+ properties: {
162
+ sourcePath: { type: 'string', title: 'Source Path' },
163
+ itemMode: {
164
+ type: 'string',
165
+ title: 'Item Mode',
166
+ enum: ['array'],
167
+ default: 'array'
168
+ },
169
+ name: VALUE_BINDING_SCHEMA,
170
+ nameType: VALUE_BINDING_SCHEMA,
171
+ givenName: VALUE_BINDING_SCHEMA,
172
+ familyName: VALUE_BINDING_SCHEMA,
173
+ affiliations: {
174
+ type: 'array',
175
+ title: 'Affiliations',
176
+ items: AFFILIATION_SCHEMA,
177
+ default: []
178
+ },
179
+ nameIdentifiers: {
180
+ type: 'array',
181
+ title: 'Name Identifiers',
182
+ items: NAME_IDENTIFIER_SCHEMA,
183
+ default: []
184
+ }
185
+ },
186
+ required: ['sourcePath', 'itemMode', 'name']
187
+ };
188
+ const CONTRIBUTOR_SCHEMA = {
189
+ type: 'object',
190
+ title: 'Contributor',
191
+ properties: {
192
+ sourcePath: { type: 'string', title: 'Source Path' },
193
+ itemMode: {
194
+ type: 'string',
195
+ title: 'Item Mode',
196
+ enum: ['array'],
197
+ default: 'array'
198
+ },
199
+ name: VALUE_BINDING_SCHEMA,
200
+ nameType: VALUE_BINDING_SCHEMA,
201
+ givenName: VALUE_BINDING_SCHEMA,
202
+ familyName: VALUE_BINDING_SCHEMA,
203
+ affiliations: {
204
+ type: 'array',
205
+ title: 'Affiliations',
206
+ items: AFFILIATION_SCHEMA,
207
+ default: []
208
+ },
209
+ nameIdentifiers: {
210
+ type: 'array',
211
+ title: 'Name Identifiers',
212
+ items: NAME_IDENTIFIER_SCHEMA,
213
+ default: []
214
+ },
215
+ contributorType: VALUE_BINDING_SCHEMA
216
+ },
217
+ required: ['sourcePath', 'itemMode', 'name', 'contributorType']
218
+ };
219
+ const TITLE_SCHEMA = {
220
+ type: 'object',
221
+ title: 'Title',
222
+ properties: {
223
+ title: VALUE_BINDING_SCHEMA,
224
+ titleType: VALUE_BINDING_SCHEMA,
225
+ lang: VALUE_BINDING_SCHEMA
226
+ },
227
+ required: ['title']
228
+ };
229
+ const SUBJECT_SCHEMA = {
230
+ type: 'object',
231
+ title: 'Subject',
232
+ properties: {
233
+ subject: VALUE_BINDING_SCHEMA,
234
+ subjectScheme: VALUE_BINDING_SCHEMA,
235
+ schemeUri: VALUE_BINDING_SCHEMA,
236
+ valueUri: VALUE_BINDING_SCHEMA,
237
+ classificationCode: VALUE_BINDING_SCHEMA,
238
+ lang: VALUE_BINDING_SCHEMA
239
+ },
240
+ required: ['subject']
241
+ };
242
+ const DATE_SCHEMA = {
243
+ type: 'object',
244
+ title: 'Date',
245
+ properties: {
246
+ date: VALUE_BINDING_SCHEMA,
247
+ dateType: VALUE_BINDING_SCHEMA,
248
+ dateInformation: VALUE_BINDING_SCHEMA
249
+ },
250
+ required: ['date', 'dateType']
251
+ };
252
+ const IDENTIFIER_SCHEMA = {
253
+ type: 'object',
254
+ title: 'Alternate Identifier',
255
+ properties: {
256
+ identifier: VALUE_BINDING_SCHEMA,
257
+ identifierType: VALUE_BINDING_SCHEMA
258
+ },
259
+ required: ['identifier', 'identifierType']
260
+ };
261
+ const RELATED_IDENTIFIER_SCHEMA = {
262
+ type: 'object',
263
+ title: 'Related Identifier',
264
+ properties: {
265
+ relatedIdentifier: VALUE_BINDING_SCHEMA,
266
+ relatedIdentifierType: VALUE_BINDING_SCHEMA,
267
+ relationType: VALUE_BINDING_SCHEMA,
268
+ relatedMetadataScheme: VALUE_BINDING_SCHEMA,
269
+ schemeUri: VALUE_BINDING_SCHEMA,
270
+ schemeType: VALUE_BINDING_SCHEMA,
271
+ resourceTypeGeneral: VALUE_BINDING_SCHEMA
272
+ },
273
+ required: ['relatedIdentifier', 'relatedIdentifierType', 'relationType']
274
+ };
275
+ const RIGHTS_SCHEMA = {
276
+ type: 'object',
277
+ title: 'Rights',
278
+ properties: {
279
+ rights: VALUE_BINDING_SCHEMA,
280
+ rightsUri: VALUE_BINDING_SCHEMA,
281
+ rightsIdentifier: VALUE_BINDING_SCHEMA,
282
+ rightsIdentifierScheme: VALUE_BINDING_SCHEMA,
283
+ schemeUri: VALUE_BINDING_SCHEMA,
284
+ lang: VALUE_BINDING_SCHEMA
285
+ }
286
+ };
287
+ const DESCRIPTION_SCHEMA = {
288
+ type: 'object',
289
+ title: 'Description',
290
+ properties: {
291
+ description: VALUE_BINDING_SCHEMA,
292
+ descriptionType: VALUE_BINDING_SCHEMA,
293
+ lang: VALUE_BINDING_SCHEMA
294
+ },
295
+ required: ['description', 'descriptionType']
296
+ };
297
+ const GEOLOCATION_POINT_SCHEMA = {
298
+ type: 'object',
299
+ title: 'Geo Location Point',
300
+ properties: {
301
+ pointLongitude: VALUE_BINDING_SCHEMA,
302
+ pointLatitude: VALUE_BINDING_SCHEMA
303
+ },
304
+ required: ['pointLongitude', 'pointLatitude']
305
+ };
306
+ const GEOLOCATION_BOX_SCHEMA = {
307
+ type: 'object',
308
+ title: 'Geo Location Box',
309
+ properties: {
310
+ westBoundLongitude: VALUE_BINDING_SCHEMA,
311
+ eastBoundLongitude: VALUE_BINDING_SCHEMA,
312
+ southBoundLatitude: VALUE_BINDING_SCHEMA,
313
+ northBoundLatitude: VALUE_BINDING_SCHEMA
314
+ },
315
+ required: ['westBoundLongitude', 'eastBoundLongitude', 'southBoundLatitude', 'northBoundLatitude']
316
+ };
317
+ const GEOLOCATION_PLACE_SCHEMA = {
318
+ type: 'object',
319
+ title: 'Geo Location Place',
320
+ properties: {
321
+ geoLocationPlace: VALUE_BINDING_SCHEMA
322
+ },
323
+ required: ['geoLocationPlace']
324
+ };
325
+ const GEOLOCATION_SCHEMA = {
326
+ type: 'object',
327
+ title: 'Geo Location',
328
+ properties: {
329
+ geoLocationPoint: GEOLOCATION_POINT_SCHEMA,
330
+ geoLocationBox: GEOLOCATION_BOX_SCHEMA,
331
+ geoLocationPlace: GEOLOCATION_PLACE_SCHEMA
332
+ }
333
+ };
334
+ const FUNDING_REFERENCE_SCHEMA = {
335
+ type: 'object',
336
+ title: 'Funding Reference',
337
+ properties: {
338
+ funderName: VALUE_BINDING_SCHEMA,
339
+ funderIdentifier: VALUE_BINDING_SCHEMA,
340
+ funderIdentifierType: VALUE_BINDING_SCHEMA,
341
+ awardNumber: VALUE_BINDING_SCHEMA,
342
+ awardUri: VALUE_BINDING_SCHEMA,
343
+ awardTitle: VALUE_BINDING_SCHEMA
344
+ },
345
+ required: ['funderName']
346
+ };
347
+ const RELATED_ITEM_SCHEMA = {
348
+ type: 'object',
349
+ title: 'Related Item',
350
+ properties: {
351
+ relationType: VALUE_BINDING_SCHEMA,
352
+ relatedItemType: VALUE_BINDING_SCHEMA,
353
+ titles: {
354
+ type: 'array',
355
+ title: 'Titles',
356
+ items: TITLE_SCHEMA,
357
+ default: []
358
+ },
359
+ creators: {
360
+ type: 'array',
361
+ title: 'Creators',
362
+ items: CREATOR_SCHEMA,
363
+ default: []
364
+ },
365
+ publicationYear: VALUE_BINDING_SCHEMA,
366
+ volume: VALUE_BINDING_SCHEMA,
367
+ issue: VALUE_BINDING_SCHEMA,
368
+ number: VALUE_BINDING_SCHEMA,
369
+ firstPage: VALUE_BINDING_SCHEMA,
370
+ lastPage: VALUE_BINDING_SCHEMA,
371
+ publisher: VALUE_BINDING_SCHEMA,
372
+ edition: VALUE_BINDING_SCHEMA,
373
+ contributors: {
374
+ type: 'array',
375
+ title: 'Contributors',
376
+ items: CONTRIBUTOR_SCHEMA,
377
+ default: []
378
+ }
379
+ },
380
+ required: ['relationType', 'relatedItemType']
381
+ };
382
+ const TYPE_SCHEMA = {
383
+ type: 'object',
384
+ title: 'Types',
385
+ properties: {
386
+ resourceTypeGeneral: VALUE_BINDING_SCHEMA,
387
+ resourceType: VALUE_BINDING_SCHEMA,
388
+ ris: VALUE_BINDING_SCHEMA,
389
+ bibtex: VALUE_BINDING_SCHEMA,
390
+ citeproc: VALUE_BINDING_SCHEMA,
391
+ schemaOrg: VALUE_BINDING_SCHEMA
392
+ },
393
+ required: ['resourceTypeGeneral']
394
+ };
395
+ const WRITE_BACK_SCHEMA = {
396
+ type: 'object',
397
+ title: 'Write Back',
398
+ properties: {
399
+ citationUrlPath: { type: 'string', title: 'Citation URL Path' },
400
+ citationDoiPath: { type: 'string', title: 'Citation DOI Path' },
401
+ generatedCitationPath: { type: 'string', title: 'Generated Citation Path' },
402
+ citationString: VALUE_BINDING_SCHEMA,
403
+ extraFields: {
404
+ type: 'array',
405
+ title: 'Extra Fields',
406
+ items: {
407
+ type: 'object',
408
+ properties: {
409
+ sourcePath: { type: 'string', title: 'Source Path' },
410
+ targetPath: { type: 'string', title: 'Target Path' }
411
+ },
412
+ required: ['sourcePath', 'targetPath']
413
+ },
414
+ default: []
415
+ }
416
+ }
417
+ };
418
+ const VALIDATION_SCHEMA = {
419
+ type: 'object',
420
+ title: 'Validation',
421
+ widget: {
422
+ formlyConfig: {
423
+ hide: true
424
+ }
425
+ },
426
+ properties: {
427
+ requireUrl: { type: 'boolean', title: 'Require Url', default: true },
428
+ requirePublisher: { type: 'boolean', title: 'Require Publisher', default: true },
429
+ requirePublicationYear: { type: 'boolean', title: 'Require Publication Year', default: true },
430
+ requireCreators: { type: 'boolean', title: 'Require Creators', default: true },
431
+ requireTitles: { type: 'boolean', title: 'Require Titles', default: true }
432
+ }
433
+ };
434
+ const PROFILE_SCHEMA = {
435
+ type: 'object',
436
+ title: 'Profile',
437
+ properties: {
438
+ name: { type: 'string', title: 'Profile Name' },
439
+ enabled: { type: 'boolean', title: 'Enabled', default: true },
440
+ label: { type: 'string', title: 'Label' },
441
+ metadata: {
442
+ type: 'object',
443
+ title: 'Metadata',
444
+ properties: {
445
+ doi: VALUE_BINDING_SCHEMA,
446
+ prefix: VALUE_BINDING_SCHEMA,
447
+ url: VALUE_BINDING_SCHEMA,
448
+ contentUrl: VALUE_BINDING_SCHEMA,
449
+ publicationYear: VALUE_BINDING_SCHEMA,
450
+ language: VALUE_BINDING_SCHEMA,
451
+ publisher: VALUE_BINDING_SCHEMA,
452
+ version: VALUE_BINDING_SCHEMA,
453
+ formats: VALUE_BINDING_SCHEMA,
454
+ sizes: VALUE_BINDING_SCHEMA,
455
+ creators: {
456
+ type: 'array',
457
+ title: 'Creators',
458
+ items: CREATOR_SCHEMA,
459
+ default: []
460
+ },
461
+ titles: {
462
+ type: 'array',
463
+ title: 'Titles',
464
+ items: TITLE_SCHEMA,
465
+ default: []
466
+ },
467
+ subjects: {
468
+ type: 'array',
469
+ title: 'Subjects',
470
+ items: SUBJECT_SCHEMA,
471
+ default: []
472
+ },
473
+ contributors: {
474
+ type: 'array',
475
+ title: 'Contributors',
476
+ items: CONTRIBUTOR_SCHEMA,
477
+ default: []
478
+ },
479
+ dates: {
480
+ type: 'array',
481
+ title: 'Dates',
482
+ items: DATE_SCHEMA,
483
+ default: []
484
+ },
485
+ alternateIdentifiers: {
486
+ type: 'array',
487
+ title: 'Alternate Identifiers',
488
+ items: IDENTIFIER_SCHEMA,
489
+ default: []
490
+ },
491
+ relatedIdentifiers: {
492
+ type: 'array',
493
+ title: 'Related Identifiers',
494
+ items: RELATED_IDENTIFIER_SCHEMA,
495
+ default: []
496
+ },
497
+ rightsList: {
498
+ type: 'array',
499
+ title: 'Rights List',
500
+ items: RIGHTS_SCHEMA,
501
+ default: []
502
+ },
503
+ descriptions: {
504
+ type: 'array',
505
+ title: 'Descriptions',
506
+ items: DESCRIPTION_SCHEMA,
507
+ default: []
508
+ },
509
+ geoLocations: {
510
+ type: 'array',
511
+ title: 'Geo Locations',
512
+ items: GEOLOCATION_SCHEMA,
513
+ default: []
514
+ },
515
+ fundingReferences: {
516
+ type: 'array',
517
+ title: 'Funding References',
518
+ items: FUNDING_REFERENCE_SCHEMA,
519
+ default: []
520
+ },
521
+ relatedItems: {
522
+ type: 'array',
523
+ title: 'Related Items',
524
+ items: RELATED_ITEM_SCHEMA,
525
+ default: []
526
+ },
527
+ types: TYPE_SCHEMA
528
+ },
529
+ required: ['url', 'publicationYear', 'publisher', 'creators', 'titles', 'types']
530
+ },
531
+ writeBack: WRITE_BACK_SCHEMA,
532
+ validation: VALIDATION_SCHEMA
533
+ },
534
+ required: ['name', 'enabled', 'label', 'metadata', 'writeBack', 'validation']
535
+ };
536
+ const PROFILES_SCHEMA = {
537
+ type: 'array',
538
+ title: 'Profiles',
539
+ items: PROFILE_SCHEMA,
540
+ default: []
541
+ };
542
+ const CONNECTION_RETRY_SCHEMA = {
543
+ type: 'object',
544
+ title: 'Retry Policy',
545
+ properties: {
546
+ maxAttempts: { type: 'integer', title: 'Max Attempts', default: 3 },
547
+ baseDelayMs: { type: 'integer', title: 'Base Delay (ms)', default: 500 },
548
+ maxDelayMs: { type: 'integer', title: 'Max Delay (ms)', default: 4000 },
549
+ retryOnStatusCodes: {
550
+ type: 'array',
551
+ title: 'Retry On Status Codes',
552
+ items: { type: 'integer' },
553
+ default: [408, 429, 500, 502, 503, 504]
554
+ },
555
+ retryOnMethods: {
556
+ type: 'array',
557
+ title: 'Retry On Methods',
558
+ items: { type: 'string' },
559
+ default: ['get', 'put', 'patch', 'delete']
560
+ }
561
+ }
562
+ };
563
+ const OPERATIONS_SCHEMA = {
564
+ type: 'object',
565
+ title: 'Operations',
566
+ properties: {
567
+ createEvent: {
568
+ type: 'string',
569
+ title: 'Create Event',
570
+ enum: ['draft', 'register', 'publish'],
571
+ default: 'publish'
572
+ },
573
+ updateEvent: {
574
+ type: 'string',
575
+ title: 'Update Event',
576
+ enum: ['draft', 'register', 'publish', 'hide'],
577
+ default: 'publish'
578
+ },
579
+ allowDeleteDraft: {
580
+ type: 'boolean',
581
+ title: 'Allow Delete Draft',
582
+ default: true
583
+ },
584
+ allowStateChange: {
585
+ type: 'boolean',
586
+ title: 'Allow State Change',
587
+ default: true
588
+ }
589
+ }
590
+ };
591
+ class DoiPublishing extends AppConfig_interface_1.AppConfig {
592
+ enabled = false;
593
+ defaultProfile = '';
594
+ connection = {
595
+ baseUrl: 'https://api.test.datacite.org',
596
+ username: '',
597
+ password: '',
598
+ timeoutMs: 30000,
599
+ retry: {
600
+ maxAttempts: 3,
601
+ baseDelayMs: 500,
602
+ maxDelayMs: 4000,
603
+ retryOnStatusCodes: [408, 429, 500, 502, 503, 504],
604
+ retryOnMethods: ['get', 'put', 'patch', 'delete']
605
+ }
606
+ };
607
+ operations = {
608
+ createEvent: 'publish',
609
+ updateEvent: 'publish',
610
+ allowDeleteDraft: true,
611
+ allowStateChange: true
612
+ };
613
+ profiles = {};
614
+ static getFieldOrder() {
615
+ return ['enabled', 'defaultProfile', 'connection', 'profiles'];
616
+ }
617
+ }
618
+ exports.DoiPublishing = DoiPublishing;
619
+ exports.DOI_PUBLISHING_SCHEMA = {
620
+ type: 'object',
621
+ properties: {
622
+ enabled: { type: 'boolean', title: 'Enabled', default: false },
623
+ defaultProfile: { type: 'string', title: 'Default Profile', default: '' },
624
+ connection: {
625
+ type: 'object',
626
+ title: 'Connection',
627
+ properties: {
628
+ baseUrl: { type: 'string', title: 'Base URL' },
629
+ username: { type: 'string', title: 'Username' },
630
+ password: { type: 'string', title: 'Password' },
631
+ timeoutMs: { type: 'number', title: 'Timeout (ms)' },
632
+ retry: CONNECTION_RETRY_SCHEMA
633
+ }
634
+ },
635
+ operations: OPERATIONS_SCHEMA,
636
+ profiles: PROFILES_SCHEMA
637
+ }
638
+ };
639
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRG9pUHVibGlzaGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWdtb2RlbHMvRG9pUHVibGlzaGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUE4T0Esb0RBTUM7QUFFRCxvRUF5QkM7QUFtQkQsNERBMEJDO0FBRUQsZ0VBMEJDO0FBeFZELG9EQUF1QjtBQUN2QiwrREFBa0Q7QUE2T2xELFNBQWdCLG9CQUFvQixDQUFDLElBQVksRUFBRSxZQUFzQjtJQUN2RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJO1FBQ0osWUFBWTtLQUNiLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsNEJBQTRCLENBQzFDLFFBQWdCLEVBQ2hCLFVBQW9FLEVBQUU7SUFFdEUsTUFBTSxLQUFLLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNsRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsVUFBVSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pHLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsS0FBSyxNQUFNLFVBQVUsSUFBSSxPQUFPLENBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFF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