@researchdatabox/redbox-core 0.0.1-beta.9950 → 5.0.0-RC1

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 (376) hide show
  1. package/dist/CoreController.d.ts +12 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +91 -52
  4. package/dist/CoreService.d.ts +8 -1
  5. package/dist/CoreService.d.ts.map +1 -1
  6. package/dist/CoreService.js +8 -1
  7. package/dist/RecordsService.d.ts +2 -0
  8. package/dist/RecordsService.d.ts.map +1 -1
  9. package/dist/SearchService.d.ts +1 -1
  10. package/dist/SearchService.d.ts.map +1 -1
  11. package/dist/StorageService.d.ts +3 -1
  12. package/dist/StorageService.d.ts.map +1 -1
  13. package/dist/api-routes/groups/branding.d.ts +1 -0
  14. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  15. package/dist/api-routes/groups/branding.js +19 -2
  16. package/dist/api-routes/groups/export.js +2 -2
  17. package/dist/api-routes/groups/figshare-crosswalks.d.ts +11 -0
  18. package/dist/api-routes/groups/figshare-crosswalks.d.ts.map +1 -0
  19. package/dist/api-routes/groups/figshare-crosswalks.js +171 -0
  20. package/dist/api-routes/groups/figshare-vocabulary.d.ts +12 -0
  21. package/dist/api-routes/groups/figshare-vocabulary.d.ts.map +1 -0
  22. package/dist/api-routes/groups/figshare-vocabulary.js +248 -0
  23. package/dist/api-routes/groups/search.js +4 -4
  24. package/dist/api-routes/groups/users.js +3 -3
  25. package/dist/api-routes/helpers.d.ts +4 -4
  26. package/dist/api-routes/helpers.d.ts.map +1 -1
  27. package/dist/api-routes/helpers.js +3 -4
  28. package/dist/api-routes/index.d.ts +2 -0
  29. package/dist/api-routes/index.d.ts.map +1 -1
  30. package/dist/api-routes/index.js +3 -1
  31. package/dist/api-routes/openapi.js +1 -1
  32. package/dist/api-routes/request-extraction.d.ts +2 -2
  33. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  34. package/dist/api-routes/request-extraction.js +1 -1
  35. package/dist/api-routes/route-registry.d.ts.map +1 -1
  36. package/dist/api-routes/route-registry.js +5 -1
  37. package/dist/api-routes/schemas/common.d.ts +19 -19
  38. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  39. package/dist/api-routes/schemas/common.js +3 -2
  40. package/dist/api-routes/schemas/responses.d.ts +352 -7032
  41. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  42. package/dist/api-routes/schemas/responses.js +2 -2
  43. package/dist/api-routes/types.d.ts +2 -2
  44. package/dist/api-routes/types.d.ts.map +1 -1
  45. package/dist/api-routes/validation.js +1 -1
  46. package/dist/bootstrap.d.ts.map +1 -1
  47. package/dist/bootstrap.js +5 -1
  48. package/dist/config/agendaQueue.config.d.ts +11 -5
  49. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  50. package/dist/config/agendaQueue.config.js +27 -19
  51. package/dist/config/auth.config.d.ts.map +1 -1
  52. package/dist/config/auth.config.js +4 -1
  53. package/dist/config/brandingConfigurationDefaults.config.d.ts +1 -1
  54. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  55. package/dist/config/brandingConfigurationDefaults.config.js +22 -227
  56. package/dist/config/dashboardtype.config.d.ts +7 -0
  57. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  58. package/dist/config/dashboardtype.config.js +9 -89
  59. package/dist/config/dashboardview.config.d.ts +7 -0
  60. package/dist/config/dashboardview.config.d.ts.map +1 -1
  61. package/dist/config/dashboardview.config.js +9 -134
  62. package/dist/config/emailnotification.config.d.ts.map +1 -1
  63. package/dist/config/emailnotification.config.js +2 -1
  64. package/dist/config/http.config.d.ts +2 -0
  65. package/dist/config/http.config.d.ts.map +1 -1
  66. package/dist/config/http.config.js +47 -1
  67. package/dist/config/jsonld.config.d.ts.map +1 -1
  68. package/dist/config/jsonld.config.js +2 -21
  69. package/dist/config/record.config.d.ts.map +1 -1
  70. package/dist/config/record.config.js +2 -9
  71. package/dist/config/recordtype.config.d.ts +8 -0
  72. package/dist/config/recordtype.config.d.ts.map +1 -1
  73. package/dist/config/recordtype.config.js +10 -660
  74. package/dist/config/reusableContributorFormDefinitions.config.d.ts.map +1 -1
  75. package/dist/config/reusableContributorFormDefinitions.config.js +11 -5
  76. package/dist/config/reusableViewFormDefinitions.config.d.ts.map +1 -1
  77. package/dist/config/reusableViewFormDefinitions.config.js +15 -4
  78. package/dist/config/routes.config.d.ts.map +1 -1
  79. package/dist/config/routes.config.js +13 -3
  80. package/dist/config/solr.config.d.ts +1 -0
  81. package/dist/config/solr.config.d.ts.map +1 -1
  82. package/dist/config/solr.config.js +3 -2
  83. package/dist/config/static_assets.config.d.ts +2 -0
  84. package/dist/config/static_assets.config.d.ts.map +1 -1
  85. package/dist/config/static_assets.config.js +4 -2
  86. package/dist/config/storage.config.d.ts.map +1 -1
  87. package/dist/config/storage.config.js +7 -1
  88. package/dist/config/views.config.d.ts.map +1 -1
  89. package/dist/config/views.config.js +2 -6
  90. package/dist/config/vocab.config.d.ts +4 -0
  91. package/dist/config/vocab.config.d.ts.map +1 -1
  92. package/dist/config/vocab.config.js +1 -1
  93. package/dist/config/workflow.config.d.ts +7 -0
  94. package/dist/config/workflow.config.d.ts.map +1 -1
  95. package/dist/config/workflow.config.js +9 -194
  96. package/dist/config/workspacetype.config.d.ts +7 -0
  97. package/dist/config/workspacetype.config.d.ts.map +1 -1
  98. package/dist/config/workspacetype.config.js +9 -10
  99. package/dist/configmodels/ConfigModels.d.ts +1 -1
  100. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  101. package/dist/configmodels/ConfigModels.js +9 -1
  102. package/dist/configmodels/DoiPublishing.d.ts +1 -1
  103. package/dist/configmodels/DoiPublishing.d.ts.map +1 -1
  104. package/dist/configmodels/FigsharePublishing.d.ts +746 -217
  105. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  106. package/dist/configmodels/FigsharePublishing.js +181 -190
  107. package/dist/configmodels/IntegrationNotificationConfig.d.ts +133 -0
  108. package/dist/configmodels/IntegrationNotificationConfig.d.ts.map +1 -0
  109. package/dist/configmodels/IntegrationNotificationConfig.js +64 -0
  110. package/dist/constants/export.d.ts +2 -0
  111. package/dist/constants/export.d.ts.map +1 -0
  112. package/dist/constants/export.js +8 -0
  113. package/dist/controllers/AdminController.d.ts.map +1 -1
  114. package/dist/controllers/AdminController.js +1 -1
  115. package/dist/controllers/AsynchController.d.ts +4 -1
  116. package/dist/controllers/AsynchController.d.ts.map +1 -1
  117. package/dist/controllers/AsynchController.js +118 -9
  118. package/dist/controllers/BrandingAppController.d.ts +2 -0
  119. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  120. package/dist/controllers/BrandingAppController.js +40 -2
  121. package/dist/controllers/BrandingController.d.ts +8 -0
  122. package/dist/controllers/BrandingController.d.ts.map +1 -1
  123. package/dist/controllers/BrandingController.js +45 -1
  124. package/dist/controllers/ExportController.d.ts.map +1 -1
  125. package/dist/controllers/ExportController.js +6 -10
  126. package/dist/controllers/RecordAuditController.d.ts +2 -0
  127. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  128. package/dist/controllers/RecordAuditController.js +55 -1
  129. package/dist/controllers/RecordController.d.ts +5 -1
  130. package/dist/controllers/RecordController.d.ts.map +1 -1
  131. package/dist/controllers/RecordController.js +51 -21
  132. package/dist/controllers/UserController.d.ts.map +1 -1
  133. package/dist/controllers/UserController.js +3 -2
  134. package/dist/controllers/VocabularyController.js +4 -4
  135. package/dist/controllers/index.d.ts.map +1 -1
  136. package/dist/controllers/index.js +7 -1
  137. package/dist/controllers/webservice/BrandingController.d.ts +1 -0
  138. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  139. package/dist/controllers/webservice/BrandingController.js +69 -10
  140. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  141. package/dist/controllers/webservice/ExportController.js +6 -10
  142. package/dist/controllers/webservice/FigshareCrosswalkController.d.ts +20 -0
  143. package/dist/controllers/webservice/FigshareCrosswalkController.d.ts.map +1 -0
  144. package/dist/controllers/webservice/FigshareCrosswalkController.js +184 -0
  145. package/dist/controllers/webservice/FigshareVocabularyController.d.ts +21 -0
  146. package/dist/controllers/webservice/FigshareVocabularyController.d.ts.map +1 -0
  147. package/dist/controllers/webservice/FigshareVocabularyController.js +223 -0
  148. package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
  149. package/dist/controllers/webservice/IntegrationAuditController.js +1 -1
  150. package/dist/controllers/webservice/RecordController.d.ts +6 -1
  151. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  152. package/dist/controllers/webservice/RecordController.js +64 -13
  153. package/dist/controllers/webservice/UserManagementController.d.ts +5 -3
  154. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  155. package/dist/controllers/webservice/UserManagementController.js +140 -9
  156. package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts +14 -0
  157. package/dist/controllers/webservice/figshare-vocabulary-errors.d.ts.map +1 -0
  158. package/dist/controllers/webservice/figshare-vocabulary-errors.js +39 -0
  159. package/dist/form-config/index.d.ts +7 -0
  160. package/dist/form-config/index.d.ts.map +1 -1
  161. package/dist/form-config/index.js +8 -5
  162. package/dist/hooks/defineRedboxHook.d.ts +11 -2
  163. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  164. package/dist/hooks/defineRedboxHook.js +36 -7
  165. package/dist/hooks/hookDiscovery.d.ts +20 -0
  166. package/dist/hooks/hookDiscovery.d.ts.map +1 -0
  167. package/dist/hooks/hookDiscovery.js +186 -0
  168. package/dist/hooks/hookResources.d.ts +23 -0
  169. package/dist/hooks/hookResources.d.ts.map +1 -0
  170. package/dist/hooks/hookResources.js +136 -0
  171. package/dist/hooks/index.d.ts +4 -0
  172. package/dist/hooks/index.d.ts.map +1 -1
  173. package/dist/hooks/index.js +14 -2
  174. package/dist/index.d.ts +6 -1
  175. package/dist/index.d.ts.map +1 -1
  176. package/dist/index.js +15 -2
  177. package/dist/loader/index.d.ts +2 -0
  178. package/dist/loader/index.d.ts.map +1 -1
  179. package/dist/loader/index.js +82 -64
  180. package/dist/model/storage/BrandingModel.d.ts +2 -0
  181. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  182. package/dist/model/storage/BrandingModel.js +3 -1
  183. package/dist/model/storage/IntegrationAuditModel.d.ts +2 -0
  184. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  185. package/dist/model/storage/IntegrationAuditModel.js +3 -1
  186. package/dist/policies/i18nLanguages.d.ts.map +1 -1
  187. package/dist/policies/i18nLanguages.js +1 -1
  188. package/dist/policies/menuResolver.d.ts.map +1 -1
  189. package/dist/policies/menuResolver.js +1 -1
  190. package/dist/policies/setLang.d.ts.map +1 -1
  191. package/dist/policies/setLang.js +1 -1
  192. package/dist/responses/badRequest.d.ts.map +1 -1
  193. package/dist/responses/badRequest.js +3 -2
  194. package/dist/responses/created.d.ts.map +1 -1
  195. package/dist/responses/created.js +3 -2
  196. package/dist/responses/forbidden.d.ts.map +1 -1
  197. package/dist/responses/forbidden.js +3 -2
  198. package/dist/responses/ok.d.ts.map +1 -1
  199. package/dist/responses/ok.js +3 -2
  200. package/dist/responses/serverError.d.ts.map +1 -1
  201. package/dist/responses/serverError.js +3 -2
  202. package/dist/responses/siteTitle.d.ts.map +1 -1
  203. package/dist/responses/siteTitle.js +1 -1
  204. package/dist/services/AgendaQueueService.d.ts +1 -0
  205. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  206. package/dist/services/AgendaQueueService.js +24 -9
  207. package/dist/services/BrandingLogoService.d.ts +25 -1
  208. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  209. package/dist/services/BrandingLogoService.js +56 -5
  210. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  211. package/dist/services/BrandingThemeTokens.js +2 -1
  212. package/dist/services/DoiService.js +5 -5
  213. package/dist/services/EmailService.d.ts +12 -4
  214. package/dist/services/EmailService.d.ts.map +1 -1
  215. package/dist/services/EmailService.js +28 -19
  216. package/dist/services/FigshareService.d.ts +12 -7
  217. package/dist/services/FigshareService.d.ts.map +1 -1
  218. package/dist/services/FigshareService.js +258 -104
  219. package/dist/services/FigshareVocabularyService.d.ts +442 -0
  220. package/dist/services/FigshareVocabularyService.d.ts.map +1 -0
  221. package/dist/services/FigshareVocabularyService.js +1802 -0
  222. package/dist/services/FormVocabularyService.d.ts.map +1 -1
  223. package/dist/services/FormVocabularyService.js +28 -7
  224. package/dist/services/HarvestRunService.d.ts.map +1 -1
  225. package/dist/services/HarvestRunService.js +1 -1
  226. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  227. package/dist/services/I18nEntriesService.js +26 -4
  228. package/dist/services/IntegrationAuditService.d.ts +58 -0
  229. package/dist/services/IntegrationAuditService.d.ts.map +1 -1
  230. package/dist/services/IntegrationAuditService.js +292 -15
  231. package/dist/services/IntegrationNotificationService.d.ts +55 -0
  232. package/dist/services/IntegrationNotificationService.d.ts.map +1 -0
  233. package/dist/services/IntegrationNotificationService.js +271 -0
  234. package/dist/services/NamedQueryService.d.ts.map +1 -1
  235. package/dist/services/NamedQueryService.js +3 -16
  236. package/dist/services/OniService.d.ts.map +1 -1
  237. package/dist/services/OniService.js +3 -5
  238. package/dist/services/RDMPService.d.ts +2 -0
  239. package/dist/services/RDMPService.d.ts.map +1 -1
  240. package/dist/services/RDMPService.js +49 -33
  241. package/dist/services/RecordsService.d.ts +9 -2
  242. package/dist/services/RecordsService.d.ts.map +1 -1
  243. package/dist/services/RecordsService.js +66 -46
  244. package/dist/services/ReportsService.d.ts +0 -5
  245. package/dist/services/ReportsService.d.ts.map +1 -1
  246. package/dist/services/ReportsService.js +22 -31
  247. package/dist/services/SolrSearchService.d.ts +10 -2
  248. package/dist/services/SolrSearchService.d.ts.map +1 -1
  249. package/dist/services/SolrSearchService.js +110 -52
  250. package/dist/services/StandardDatastreamService.d.ts +7 -0
  251. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  252. package/dist/services/StandardDatastreamService.js +127 -27
  253. package/dist/services/TemplateService.d.ts +0 -14
  254. package/dist/services/TemplateService.d.ts.map +1 -1
  255. package/dist/services/TemplateService.js +5 -45
  256. package/dist/services/UsersService.d.ts.map +1 -1
  257. package/dist/services/UsersService.js +19 -16
  258. package/dist/services/ViewUtilsService.d.ts +5 -1
  259. package/dist/services/ViewUtilsService.d.ts.map +1 -1
  260. package/dist/services/ViewUtilsService.js +38 -46
  261. package/dist/services/VocabularyService.d.ts +11 -2
  262. package/dist/services/VocabularyService.d.ts.map +1 -1
  263. package/dist/services/VocabularyService.js +46 -20
  264. package/dist/services/doi-v2/audit.d.ts.map +1 -1
  265. package/dist/services/doi-v2/audit.js +1 -1
  266. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  267. package/dist/services/doi-v2/bindings.js +2 -11
  268. package/dist/services/doi-v2/payload.d.ts.map +1 -1
  269. package/dist/services/doi-v2/payload.js +32 -18
  270. package/dist/services/figshare-v2/assets.d.ts +2 -1
  271. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  272. package/dist/services/figshare-v2/assets.js +144 -89
  273. package/dist/services/figshare-v2/audit.d.ts +7 -0
  274. package/dist/services/figshare-v2/audit.d.ts.map +1 -0
  275. package/dist/services/figshare-v2/audit.js +30 -0
  276. package/dist/services/figshare-v2/bindings.d.ts +28 -3
  277. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  278. package/dist/services/figshare-v2/bindings.js +76 -17
  279. package/dist/services/figshare-v2/categories.d.ts +142 -0
  280. package/dist/services/figshare-v2/categories.d.ts.map +1 -0
  281. package/dist/services/figshare-v2/categories.js +408 -0
  282. package/dist/services/figshare-v2/config.d.ts +10 -0
  283. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  284. package/dist/services/figshare-v2/config.js +64 -2
  285. package/dist/services/figshare-v2/context.d.ts +18 -1
  286. package/dist/services/figshare-v2/context.d.ts.map +1 -1
  287. package/dist/services/figshare-v2/context.js +35 -2
  288. package/dist/services/figshare-v2/embargo.d.ts.map +1 -1
  289. package/dist/services/figshare-v2/embargo.js +6 -4
  290. package/dist/services/figshare-v2/http.d.ts +20 -1
  291. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  292. package/dist/services/figshare-v2/http.js +85 -9
  293. package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
  294. package/dist/services/figshare-v2/metadata.js +150 -35
  295. package/dist/services/figshare-v2/observability.d.ts +1 -2
  296. package/dist/services/figshare-v2/observability.d.ts.map +1 -1
  297. package/dist/services/figshare-v2/observability.js +7 -45
  298. package/dist/services/figshare-v2/runtime.d.ts +5 -2
  299. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  300. package/dist/services/figshare-v2/runtime.js +59 -37
  301. package/dist/services/figshare-v2/types.d.ts +18 -0
  302. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  303. package/dist/services/figshare-v2/types.js +1 -1
  304. package/dist/services/figshare-v2/vocabulary-errors.d.ts +39 -0
  305. package/dist/services/figshare-v2/vocabulary-errors.d.ts.map +1 -0
  306. package/dist/services/figshare-v2/vocabulary-errors.js +68 -0
  307. package/dist/services/index.d.ts +6 -0
  308. package/dist/services/index.d.ts.map +1 -1
  309. package/dist/services/index.js +13 -2
  310. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
  311. package/dist/storage/TusStorageManagerDataStore.js +14 -1
  312. package/dist/transformers/ExportJSONTransformer.d.ts +1 -1
  313. package/dist/transformers/ExportJSONTransformer.d.ts.map +1 -1
  314. package/dist/transformers/ExportJSONTransformer.js +3 -3
  315. package/dist/utilities/ContextVariableUtils.d.ts +3 -1
  316. package/dist/utilities/ContextVariableUtils.d.ts.map +1 -1
  317. package/dist/utilities/ContextVariableUtils.js +25 -7
  318. package/dist/utilities/PromiseUtils.d.ts +9 -0
  319. package/dist/utilities/PromiseUtils.d.ts.map +1 -0
  320. package/dist/utilities/PromiseUtils.js +27 -0
  321. package/dist/utilities/RedactionUtils.d.ts +3 -0
  322. package/dist/utilities/RedactionUtils.d.ts.map +1 -0
  323. package/dist/utilities/RedactionUtils.js +55 -0
  324. package/dist/visitor/client.visitor.d.ts +7 -0
  325. package/dist/visitor/client.visitor.d.ts.map +1 -1
  326. package/dist/visitor/client.visitor.js +135 -30
  327. package/dist/visitor/construct.visitor.d.ts +6 -0
  328. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  329. package/dist/visitor/construct.visitor.js +152 -108
  330. package/dist/visitor/data-value.visitor.d.ts +3 -0
  331. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  332. package/dist/visitor/data-value.visitor.js +6 -1
  333. package/dist/visitor/json-type-def.visitor.d.ts +4 -0
  334. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  335. package/dist/visitor/json-type-def.visitor.js +25 -4
  336. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +9 -3
  337. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  338. package/dist/visitor/migrate-config-v4-v5.visitor.js +168 -104
  339. package/dist/visitor/template.visitor.d.ts +3 -0
  340. package/dist/visitor/template.visitor.d.ts.map +1 -1
  341. package/dist/visitor/template.visitor.js +6 -1
  342. package/dist/visitor/validator.visitor.d.ts +3 -1
  343. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  344. package/dist/visitor/validator.visitor.js +8 -2
  345. package/dist/visitor/visitor-helpers.js +2 -2
  346. package/dist/waterline-models/BrandingConfig.d.ts +2 -0
  347. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  348. package/dist/waterline-models/BrandingConfig.js +6 -1
  349. package/dist/waterline-models/FigshareVocabularyCategory.d.ts +38 -0
  350. package/dist/waterline-models/FigshareVocabularyCategory.d.ts.map +1 -0
  351. package/dist/waterline-models/FigshareVocabularyCategory.js +157 -0
  352. package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts +37 -0
  353. package/dist/waterline-models/FigshareVocabularyCrosswalk.d.ts.map +1 -0
  354. package/dist/waterline-models/FigshareVocabularyCrosswalk.js +153 -0
  355. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts +37 -0
  356. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.d.ts.map +1 -0
  357. package/dist/waterline-models/FigshareVocabularyCrosswalkMapping.js +138 -0
  358. package/dist/waterline-models/FigshareVocabularySource.d.ts +45 -0
  359. package/dist/waterline-models/FigshareVocabularySource.d.ts.map +1 -0
  360. package/dist/waterline-models/FigshareVocabularySource.js +149 -0
  361. package/dist/waterline-models/FigshareVocabularySyncRun.d.ts +70 -0
  362. package/dist/waterline-models/FigshareVocabularySyncRun.d.ts.map +1 -0
  363. package/dist/waterline-models/FigshareVocabularySyncRun.js +237 -0
  364. package/dist/waterline-models/Vocabulary.d.ts +3 -1
  365. package/dist/waterline-models/Vocabulary.d.ts.map +1 -1
  366. package/dist/waterline-models/Vocabulary.js +9 -3
  367. package/dist/waterline-models/index.d.ts +10 -0
  368. package/dist/waterline-models/index.d.ts.map +1 -1
  369. package/dist/waterline-models/index.js +16 -1
  370. package/package.json +28 -31
  371. package/dist/form-config/dataRecord-1.0-draft.d.ts +0 -4
  372. package/dist/form-config/dataRecord-1.0-draft.d.ts.map +0 -1
  373. package/dist/form-config/dataRecord-1.0-draft.js +0 -1042
  374. package/dist/form-config/default-1.0-draft.d.ts +0 -4
  375. package/dist/form-config/default-1.0-draft.d.ts.map +0 -1
  376. package/dist/form-config/default-1.0-draft.js +0 -1156
@@ -126,57 +126,74 @@ var Services;
126
126
  async buildSchema(ref = this) {
127
127
  const solrConfig = sails.config.solr;
128
128
  const coreNameKeys = Object.keys(solrConfig.cores);
129
- // wait for SOLR deafult core to start up
130
- await ref.waitForSolr('default');
131
129
  for (const coreId of coreNameKeys) {
132
130
  const core = solrConfig.cores[coreId];
133
131
  const coreName = core.options.core;
134
- if (coreId != 'default') {
135
- await ref.waitForSolr(coreId, ref);
136
- }
137
- // check if the schema is built....
138
- try {
139
- if (core.initSchemaFlag) {
140
- const flagName = core.initSchemaFlag.name;
141
- const schemaInitFlag = await ref.getSchemaEntry(coreId, 'fields', flagName, ref);
142
- if (!_.isEmpty(schemaInitFlag)) {
143
- sails.log.verbose(`${ref.logHeader} Schema flag found: ${flagName}. Schema is already initialised, skipping build.`);
144
- continue;
145
- }
146
- }
147
- }
148
- catch (err) {
149
- sails.log.verbose(JSON.stringify(err));
150
- }
151
- sails.log.verbose(`${ref.logHeader} Schema not initialised, building schema...`);
152
- const schemaUrl = `${ref.getBaseUrl(core.options)}${coreName}/schema`;
132
+ await ref.waitForSolr(coreId, ref);
153
133
  try {
154
- const schemaDef = _.get(sails.config.solr.cores, coreId + '.schema');
155
- if (_.isEmpty(schemaDef)) {
156
- sails.log.verbose(`${ref.logHeader} Schema definition empty, skipping build.`);
134
+ const liveSchema = await ref.getSchema(coreId, ref);
135
+ const schemaDef = ref.getMissingSchemaDefinitions(coreId, core, liveSchema.schema, ref);
136
+ if (ref.isSchemaDefinitionEmpty(schemaDef)) {
137
+ sails.log.verbose(`${ref.logHeader} Schema already reconciled for core: ${coreName}.`);
157
138
  continue;
158
139
  }
159
- // append the init flag
160
- if (_.isEmpty(schemaDef['add-field'])) {
161
- schemaDef['add-field'] = [];
162
- }
163
- const initSchemaFlag = _.get(sails.config.solr.cores, coreId + '.initSchemaFlag');
164
- schemaDef['add-field'].push(initSchemaFlag);
165
- sails.log.verbose(`${ref.logHeader} sending schema definition:`);
166
- sails.log.verbose(JSON.stringify(schemaDef));
140
+ const schemaUrl = `${ref.getBaseUrl(core.options)}${coreName}/schema`;
141
+ sails.log.verbose(`${ref.logHeader} Sending missing schema definitions for core: ${coreName}.`);
167
142
  const response = await axios.post(schemaUrl, schemaDef).then((response) => response.data);
168
- sails.log.verbose(`${ref.logHeader} Schema build successful, response: `);
143
+ sails.log.verbose(`${ref.logHeader} Schema reconciliation successful, response: `);
169
144
  sails.log.verbose(JSON.stringify(response));
170
145
  }
171
146
  catch (err) {
172
- sails.log.error(`${ref.logHeader} Failed to build SOLR schema:`);
147
+ sails.log.error(`${ref.logHeader} Failed to reconcile SOLR schema for core: ${coreName}.`);
173
148
  sails.log.error(JSON.stringify(err));
174
149
  }
175
150
  }
176
151
  }
177
- async getSchemaEntry(coreId, fieldName, name, ref = this) {
178
- const schemaResp = await ref.getSchema(coreId);
179
- return _.find(_.get(schemaResp.schema, fieldName), (schemaDef) => { return schemaDef.name == name; });
152
+ isSchemaDefinitionEmpty(schemaDef) {
153
+ return schemaDef['add-field'].length === 0 &&
154
+ schemaDef['add-dynamic-field'].length === 0 &&
155
+ schemaDef['add-copy-field'].length === 0;
156
+ }
157
+ getMissingSchemaDefinitions(coreId, core, liveSchema, ref = this) {
158
+ const configuredFields = [...(core.schema['add-field'] || [])];
159
+ if (core.initSchemaFlag && !configuredFields.some(field => field.name === core.initSchemaFlag?.name)) {
160
+ configuredFields.push({ ...core.initSchemaFlag });
161
+ }
162
+ return {
163
+ 'add-field': ref.getMissingFieldDefinitions(coreId, configuredFields, liveSchema.fields || [], ref),
164
+ 'add-dynamic-field': ref.getMissingFieldDefinitions(coreId, core.schema['add-dynamic-field'] || [], liveSchema.dynamicFields || [], ref),
165
+ 'add-copy-field': (core.schema['add-copy-field'] || []).filter(copyField => !(liveSchema.copyFields || []).some(liveCopyField => liveCopyField.source === copyField.source && liveCopyField.dest === copyField.dest))
166
+ };
167
+ }
168
+ getMissingFieldDefinitions(coreId, configured, live, ref) {
169
+ return configured.filter(desired => {
170
+ const existing = live.find(field => field.name === desired.name);
171
+ if (!existing) {
172
+ return true;
173
+ }
174
+ if (!ref.schemaFieldsMatch(desired, existing)) {
175
+ sails.log.error(JSON.stringify({
176
+ message: 'Solr schema definition conflict; existing field will not be replaced.',
177
+ core: coreId,
178
+ fieldName: desired.name,
179
+ desiredDefinition: desired,
180
+ liveDefinition: existing
181
+ }));
182
+ }
183
+ return false;
184
+ });
185
+ }
186
+ schemaFieldsMatch(desired, live) {
187
+ const properties = ['name', 'type', 'indexed', 'stored', 'multiValued', 'required', 'docValues'];
188
+ return properties.every(property => {
189
+ if (desired[property] === undefined) {
190
+ return true;
191
+ }
192
+ const liveValue = live[property] === undefined && typeof desired[property] === 'boolean'
193
+ ? false
194
+ : live[property];
195
+ return desired[property] === liveValue;
196
+ });
180
197
  }
181
198
  async getSchema(coreId, ref = this) {
182
199
  const solrConfig = sails.config.solr;
@@ -247,9 +264,10 @@ var Services;
247
264
  const solrConfig = sails.config.solr;
248
265
  const core = solrConfig.cores[coreId];
249
266
  const coreName = core.options.core;
250
- const url = `${this.getBaseUrl(core.options)}${coreName}/select?q=${query}`;
267
+ const url = `${this.getBaseUrl(core.options)}${coreName}/select`;
268
+ const params = query instanceof URLSearchParams ? query : this.parseQueryFragment(query);
251
269
  sails.log.verbose(`Searching advanced using: ${url}`);
252
- const response = await axios.get(url).then((response) => response.data);
270
+ const response = await axios.get(url, { params }).then((response) => response.data);
253
271
  return response;
254
272
  }
255
273
  async searchFuzzy(coreId = 'default', type, workflowState, searchQuery, exactSearches, facetSearches, brand, user, roles, returnFields, start = 0, rows = 10) {
@@ -257,22 +275,39 @@ var Services;
257
275
  const solrConfig = sails.config.solr;
258
276
  const core = solrConfig.cores[coreId];
259
277
  const coreName = core.options.core;
260
- let searchParam = workflowState ? ` AND workflow_stage:${workflowState} ` : '';
261
- searchParam = `${searchParam} AND full_text:${searchQuery}`;
278
+ const baseUrl = `${this.getBaseUrl(core.options)}${coreName}/select`;
279
+ const allParams = [];
280
+ const qParts = [`metaMetadata_brandId:${brand.id}`, `metaMetadata_type:${type}`];
281
+ if (workflowState) {
282
+ qParts.push(`workflow_stage:${workflowState}`);
283
+ }
284
+ qParts.push(`full_text:${searchQuery}`);
285
+ allParams.push({ key: 'q', value: qParts.join(' AND ') });
262
286
  _.forEach(exactSearches, (exactSearch) => {
263
- searchParam = `${searchParam}&fq=${exactSearch.name}:${this.luceneEscape(exactSearch.value)}`;
287
+ allParams.push({ key: 'fq', value: `${exactSearch.name}:${this.luceneEscape(exactSearch.value)}` });
264
288
  });
265
289
  if (facetSearches.length > 0) {
266
- searchParam = `${searchParam}&facet=true`;
290
+ allParams.push({ key: 'facet', value: 'true' });
267
291
  _.forEach(facetSearches, (facetSearch) => {
268
- searchParam = `${searchParam}&facet.field=${facetSearch.name}${_.isEmpty(facetSearch.value) ? '' : `&fq=${facetSearch.name}:${this.luceneEscape(facetSearch.value)}`}`;
292
+ allParams.push({ key: 'facet.field', value: facetSearch.name });
293
+ if (!_.isEmpty(facetSearch.value)) {
294
+ allParams.push({ key: 'fq', value: `${facetSearch.name}:${this.luceneEscape(facetSearch.value)}` });
295
+ }
269
296
  });
270
297
  }
271
- searchParam = `${searchParam}&start=${start}&rows=${rows}`;
272
- let url = `${this.getBaseUrl(core.options)}${coreName}/select?q=metaMetadata_brandId:${brand.id} AND metaMetadata_type:${type}${searchParam}&version=2.2&wt=json&sort=date_object_modified desc`;
273
- url = this.addAuthFilter(url, username, roles, brand, false);
298
+ allParams.push({ key: 'start', value: String(start) });
299
+ allParams.push({ key: 'rows', value: String(rows) });
300
+ allParams.push({ key: 'version', value: '2.2' });
301
+ allParams.push({ key: 'wt', value: 'json' });
302
+ allParams.push({ key: 'sort', value: 'date_object_modified desc' });
303
+ this.addAuthParams(allParams, username, roles, brand, false);
304
+ const params = new URLSearchParams();
305
+ for (const param of allParams) {
306
+ params.append(param.key, param.value);
307
+ }
308
+ const url = `${baseUrl}?${params.toString()}`;
274
309
  sails.log.verbose(`Searching fuzzy using: ${url}`);
275
- const response = await axios.get(url).then((response) => response.data);
310
+ const response = await axios.get(baseUrl, { params }).then((response) => response.data);
276
311
  const customResp = {
277
312
  records: []
278
313
  };
@@ -434,7 +469,7 @@ var Services;
434
469
  luceneEscape(str) {
435
470
  return luceneEscapeQuery(String(str ?? ''));
436
471
  }
437
- addAuthFilter(url, username, roles, brand, editAccessOnly = undefined) {
472
+ addAuthParams(allParams, username, roles, brand, editAccessOnly = undefined) {
438
473
  let roleString = "";
439
474
  let matched = false;
440
475
  for (let i = 0; i < roles.length; i++) {
@@ -449,8 +484,31 @@ var Services;
449
484
  matched = true;
450
485
  }
451
486
  }
452
- url = url + "&fq=authorization_edit:" + username + (editAccessOnly ? "" : (" OR authorization_view:" + username + " OR authorization_viewRoles:(" + roleString + ")")) + " OR authorization_editRoles:(" + roleString + ")";
453
- return url;
487
+ const fqValue = "authorization_edit:" + username + (editAccessOnly ? "" : (" OR authorization_view:" + username + " OR authorization_viewRoles:(" + roleString + ")")) + " OR authorization_editRoles:(" + roleString + ")";
488
+ if (allParams instanceof URLSearchParams) {
489
+ allParams.append('fq', fqValue);
490
+ }
491
+ else {
492
+ allParams.push({ key: 'fq', value: fqValue });
493
+ }
494
+ }
495
+ parseQueryFragment(query) {
496
+ const params = new URLSearchParams();
497
+ for (const [index, part] of query.split('&').entries()) {
498
+ const separator = part.indexOf('=');
499
+ if (separator < 0) {
500
+ if (index === 0 && part)
501
+ params.set('q', part);
502
+ continue;
503
+ }
504
+ params.append(part.slice(0, separator), part.slice(separator + 1));
505
+ }
506
+ return params;
507
+ }
508
+ addAuthFilter(url, username, roles, brand, editAccessOnly = undefined) {
509
+ const allParams = [];
510
+ this.addAuthParams(allParams, username, roles, brand, editAccessOnly);
511
+ return url + allParams.map(param => `&${param.key}=${param.value}`).join('');
454
512
  }
455
513
  async solrDelete(job, _done) {
456
514
  try {
@@ -471,4 +529,4 @@ var Services;
471
529
  }
472
530
  Services.SolrSearchService = SolrSearchService;
473
531
  })(Services || (exports.Services = Services = {}));
474
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29sclNlYXJjaFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvU29sclNlYXJjaFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7QUFTOUQsd0RBQXFEO0FBQ3JELGdEQUFzRDtBQU90RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFHL0IsSUFBSSxJQUFJLEdBQXNCLElBQUksQ0FBQztBQUNuQyxNQUFNLHVCQUF1QixHQUE0QixPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN4RixNQUFNLGlCQUFpQixHQUNyQixPQUFPLHVCQUF1QixLQUFLLFVBQVU7SUFDM0MsQ0FBQyxDQUFDLHVCQUF1QjtJQUN6QixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLElBQUksdUJBQXVCLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFJMUcsTUFBTSxVQUFVO0lBQ2QsT0FBTyxDQUFjO0lBQ3JCLEtBQUssQ0FBNkQ7SUFDbEUsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixZQUFZLE9BQW9CO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FB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
532
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29sclNlYXJjaFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvU29sclNlYXJjaFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7QUFTOUQsd0RBQXFEO0FBQ3JELGdEQUFzRDtBQU90RCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7QUFHL0IsSUFBSSxJQUFJLEdBQXNCLElBQUksQ0FBQztBQUNuQyxNQUFNLHVCQUF1QixHQUE0QixPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUN4RixNQUFNLGlCQUFpQixHQUNyQixPQUFPLHVCQUF1QixLQUFLLFVBQVU7SUFDM0MsQ0FBQyxDQUFDLHVCQUF1QjtJQUN6QixDQUFDLENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLElBQUksdUJBQXVCLEVBQUUsT0FBTyxJQUFJLENBQUMsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFJMUcsTUFBTSxVQUFVO0lBQ2QsT0FBTyxDQUFjO0lBQ3JCLEtBQUssQ0FBNkQ7SUFDbEUsVUFBVSxHQUFZLElBQUksQ0FBQztJQUMzQixZQUFZLE9BQW9CO1FBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FB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
@@ -38,12 +38,19 @@ export declare namespace Services {
38
38
  private datastreamListEntry;
39
39
  private isStorageNotFoundError;
40
40
  private isStorageAlreadyExistsError;
41
+ private describeStorageError;
42
+ private checkPrimaryObject;
41
43
  private promoteFromStagingOnce;
42
44
  private promoteFromStaging;
43
45
  private promoteTusPartsFromStaging;
44
46
  private listTusPartKeys;
47
+ private selectTusPartPrefix;
48
+ private tusPartSelectionSignature;
49
+ private tusPartRelativeKey;
45
50
  private listedObjectKey;
46
51
  private sumDiskObjectContentLength;
52
+ private tusBasePrefixes;
53
+ private tusPartPrefixes;
47
54
  private tusPartsPrefix;
48
55
  private tusInfoKey;
49
56
  private streamDiskObjects;
@@ -1 +1 @@
1
- {"version":3,"file":"StandardDatastreamService.d.ts","sourceRoot":"","sources":["../../src/services/StandardDatastreamService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StandardDatastreamService.d.ts","sourceRoot":"","sources":["../../src/services/StandardDatastreamService.ts"],"names":[],"mappings":"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"}