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

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 (649) 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 +5 -1
  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 +158 -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/FormVocabularyController.d.ts +3 -0
  237. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  238. package/dist/controllers/FormVocabularyController.js +154 -4
  239. package/dist/controllers/NamedQueryController.d.ts +8 -0
  240. package/dist/controllers/NamedQueryController.d.ts.map +1 -0
  241. package/dist/controllers/NamedQueryController.js +17 -0
  242. package/dist/controllers/RecordAuditController.d.ts +31 -14
  243. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  244. package/dist/controllers/RecordAuditController.js +509 -57
  245. package/dist/controllers/RecordController.d.ts +18 -16
  246. package/dist/controllers/RecordController.d.ts.map +1 -1
  247. package/dist/controllers/RecordController.js +314 -167
  248. package/dist/controllers/RenderViewController.d.ts.map +1 -1
  249. package/dist/controllers/RenderViewController.js +4 -2
  250. package/dist/controllers/ReportController.d.ts +7 -0
  251. package/dist/controllers/ReportController.d.ts.map +1 -1
  252. package/dist/controllers/ReportController.js +75 -2
  253. package/dist/controllers/ReportsController.d.ts +1 -0
  254. package/dist/controllers/ReportsController.d.ts.map +1 -1
  255. package/dist/controllers/ReportsController.js +12 -2
  256. package/dist/controllers/TranslationController.d.ts.map +1 -1
  257. package/dist/controllers/TranslationController.js +14 -12
  258. package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
  259. package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
  260. package/dist/controllers/WorkspaceTypesController.js +120 -31
  261. package/dist/controllers/index.d.ts.map +1 -1
  262. package/dist/controllers/index.js +19 -4
  263. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  264. package/dist/controllers/webservice/AdminController.js +16 -17
  265. package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
  266. package/dist/controllers/webservice/AppConfigController.js +17 -18
  267. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  268. package/dist/controllers/webservice/BrandingController.js +102 -48
  269. package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
  270. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
  271. package/dist/controllers/webservice/DashboardConfigController.js +241 -0
  272. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  273. package/dist/controllers/webservice/ExportController.js +11 -11
  274. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  275. package/dist/controllers/webservice/FormManagementController.js +11 -13
  276. package/dist/controllers/webservice/HarvestRunController.d.ts +13 -0
  277. package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -0
  278. package/dist/controllers/webservice/HarvestRunController.js +148 -0
  279. package/dist/controllers/webservice/IntegrationAuditController.d.ts +10 -0
  280. package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
  281. package/dist/controllers/webservice/IntegrationAuditController.js +98 -0
  282. package/dist/controllers/webservice/NamedQueryController.d.ts +17 -0
  283. package/dist/controllers/webservice/NamedQueryController.d.ts.map +1 -0
  284. package/dist/controllers/webservice/NamedQueryController.js +127 -0
  285. package/dist/controllers/webservice/RecordController.d.ts +4 -0
  286. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  287. package/dist/controllers/webservice/RecordController.js +441 -314
  288. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  289. package/dist/controllers/webservice/RecordTypeController.js +9 -10
  290. package/dist/controllers/webservice/ReportController.d.ts +7 -0
  291. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  292. package/dist/controllers/webservice/ReportController.js +125 -19
  293. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  294. package/dist/controllers/webservice/SearchController.js +28 -35
  295. package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
  296. package/dist/controllers/webservice/TranslationController.js +65 -43
  297. package/dist/controllers/webservice/UserManagementController.d.ts +1 -1
  298. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  299. package/dist/controllers/webservice/UserManagementController.js +114 -101
  300. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  301. package/dist/controllers/webservice/VocabularyController.js +76 -28
  302. package/dist/form-config/dataRecord-1.0-draft.js +3 -3
  303. package/dist/form-config/default-1.0-draft.d.ts.map +1 -1
  304. package/dist/form-config/default-1.0-draft.js +27 -3
  305. package/dist/form-config/index.d.ts.map +1 -1
  306. package/dist/form-config/index.js +1 -1
  307. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  308. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  309. package/dist/hooks/defineRedboxHook.js +4 -1
  310. package/dist/hooks/webpack.d.ts.map +1 -1
  311. package/dist/hooks/webpack.js +17 -7
  312. package/dist/index.d.ts +12 -2
  313. package/dist/index.d.ts.map +1 -1
  314. package/dist/index.js +17 -2
  315. package/dist/loader/MigrationRunner.d.ts +19 -0
  316. package/dist/loader/MigrationRunner.d.ts.map +1 -0
  317. package/dist/loader/MigrationRunner.js +108 -0
  318. package/dist/loader/bootstrapShimRuntime.d.ts +2 -1
  319. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  320. package/dist/loader/bootstrapShimRuntime.js +7 -2
  321. package/dist/loader/index.d.ts +17 -0
  322. package/dist/loader/index.d.ts.map +1 -1
  323. package/dist/loader/index.js +216 -13
  324. package/dist/middleware/redboxSession.d.ts +5 -0
  325. package/dist/middleware/redboxSession.d.ts.map +1 -1
  326. package/dist/middleware/redboxSession.js +19 -6
  327. package/dist/model/BuildResponse.d.ts +4 -0
  328. package/dist/model/BuildResponse.d.ts.map +1 -1
  329. package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
  330. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  331. package/dist/model/DashboardTypeResponseModel.js +12 -4
  332. package/dist/model/DashboardViewResponseModel.d.ts +20 -0
  333. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
  334. package/dist/model/DashboardViewResponseModel.js +38 -0
  335. package/dist/model/RecordTypeResponseModel.d.ts +3 -1
  336. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  337. package/dist/model/RecordTypeResponseModel.js +4 -2
  338. package/dist/model/RequestDetails.d.ts +1 -1
  339. package/dist/model/RequestDetails.d.ts.map +1 -1
  340. package/dist/model/RequestDetails.js +1 -1
  341. package/dist/model/config/ReportConfig.d.ts +1 -1
  342. package/dist/model/config/ReportConfig.d.ts.map +1 -1
  343. package/dist/model/config/ReportConfig.js +2 -2
  344. package/dist/model/index.d.ts +1 -0
  345. package/dist/model/index.d.ts.map +1 -1
  346. package/dist/model/index.js +5 -2
  347. package/dist/model/storage/BrandingModel.d.ts +0 -16
  348. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  349. package/dist/model/storage/BrandingModel.js +2 -51
  350. package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
  351. package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
  352. package/dist/model/storage/HarvestRunModel.d.ts +140 -0
  353. package/dist/model/storage/HarvestRunModel.d.ts.map +1 -0
  354. package/dist/model/storage/HarvestRunModel.js +110 -0
  355. package/dist/model/storage/IntegrationAuditModel.d.ts +49 -0
  356. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  357. package/dist/model/storage/IntegrationAuditModel.js +106 -0
  358. package/dist/model/storage/RecordTypeModel.d.ts +16 -0
  359. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  360. package/dist/model/storage/RecordTypeModel.js +9 -1
  361. package/dist/model/storage/ReportModel.d.ts +1 -0
  362. package/dist/model/storage/ReportModel.d.ts.map +1 -1
  363. package/dist/model/storage/index.d.ts +2 -0
  364. package/dist/model/storage/index.d.ts.map +1 -1
  365. package/dist/model/storage/index.js +15 -2
  366. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  367. package/dist/policies/contentSecurityPolicy.js +23 -2
  368. package/dist/policies/i18nLanguages.d.ts.map +1 -1
  369. package/dist/policies/i18nLanguages.js +1 -1
  370. package/dist/policies/index.d.ts +3 -0
  371. package/dist/policies/index.d.ts.map +1 -1
  372. package/dist/policies/index.js +6 -2
  373. package/dist/policies/menuResolver.d.ts.map +1 -1
  374. package/dist/policies/menuResolver.js +1 -1
  375. package/dist/policies/setLang.d.ts.map +1 -1
  376. package/dist/policies/setLang.js +1 -1
  377. package/dist/policies/validateApiContractRequest.d.ts +3 -0
  378. package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
  379. package/dist/policies/validateApiContractRequest.js +74 -0
  380. package/dist/responses/badRequest.d.ts.map +1 -1
  381. package/dist/responses/badRequest.js +5 -3
  382. package/dist/responses/created.d.ts.map +1 -1
  383. package/dist/responses/created.js +5 -3
  384. package/dist/responses/forbidden.d.ts.map +1 -1
  385. package/dist/responses/forbidden.js +5 -3
  386. package/dist/responses/ok.d.ts.map +1 -1
  387. package/dist/responses/ok.js +5 -3
  388. package/dist/responses/serverError.d.ts.map +1 -1
  389. package/dist/responses/serverError.js +5 -3
  390. package/dist/responses/siteTitle.d.ts +6 -0
  391. package/dist/responses/siteTitle.d.ts.map +1 -0
  392. package/dist/responses/siteTitle.js +28 -0
  393. package/dist/sails.d.ts +9 -0
  394. package/dist/sails.d.ts.map +1 -1
  395. package/dist/services/AgendaQueueService.d.ts +39 -17
  396. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  397. package/dist/services/AgendaQueueService.js +328 -87
  398. package/dist/services/AppConfigService.d.ts +20 -2
  399. package/dist/services/AppConfigService.d.ts.map +1 -1
  400. package/dist/services/AppConfigService.js +129 -15
  401. package/dist/services/AttachmentMetadataService.d.ts +34 -0
  402. package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
  403. package/dist/services/AttachmentMetadataService.js +133 -0
  404. package/dist/services/BrandingLogoService.d.ts +11 -8
  405. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  406. package/dist/services/BrandingLogoService.js +71 -72
  407. package/dist/services/BrandingService.d.ts.map +1 -1
  408. package/dist/services/BrandingService.js +4 -32
  409. package/dist/services/BrandingThemeCssService.d.ts +21 -0
  410. package/dist/services/BrandingThemeCssService.d.ts.map +1 -0
  411. package/dist/services/BrandingThemeCssService.js +113 -0
  412. package/dist/services/BrandingThemeTokens.d.ts +16 -0
  413. package/dist/services/BrandingThemeTokens.d.ts.map +1 -0
  414. package/dist/services/BrandingThemeTokens.js +82 -0
  415. package/dist/services/CacheService.d.ts.map +1 -1
  416. package/dist/services/CacheService.js +37 -29
  417. package/dist/services/DashboardConfigService.d.ts +71 -0
  418. package/dist/services/DashboardConfigService.d.ts.map +1 -0
  419. package/dist/services/DashboardConfigService.js +315 -0
  420. package/dist/services/DashboardTypesService.d.ts +61 -63
  421. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  422. package/dist/services/DashboardTypesService.js +361 -198
  423. package/dist/services/DoiService.d.ts +30 -25
  424. package/dist/services/DoiService.d.ts.map +1 -1
  425. package/dist/services/DoiService.js +448 -393
  426. package/dist/services/EmailService.d.ts +17 -3
  427. package/dist/services/EmailService.d.ts.map +1 -1
  428. package/dist/services/EmailService.js +44 -17
  429. package/dist/services/FigshareService.d.ts +40 -65
  430. package/dist/services/FigshareService.d.ts.map +1 -1
  431. package/dist/services/FigshareService.js +616 -2038
  432. package/dist/services/FormPayloadPrehydrateService.d.ts +35 -0
  433. package/dist/services/FormPayloadPrehydrateService.d.ts.map +1 -0
  434. package/dist/services/FormPayloadPrehydrateService.js +200 -0
  435. package/dist/services/FormRecordConsistencyService.d.ts +3 -3
  436. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  437. package/dist/services/FormRecordConsistencyService.js +21 -19
  438. package/dist/services/FormVocabularyService.d.ts +45 -0
  439. package/dist/services/FormVocabularyService.d.ts.map +1 -0
  440. package/dist/services/FormVocabularyService.js +326 -0
  441. package/dist/services/FormsService.d.ts.map +1 -1
  442. package/dist/services/FormsService.js +8 -6
  443. package/dist/services/HarvestRunService.d.ts +73 -0
  444. package/dist/services/HarvestRunService.d.ts.map +1 -0
  445. package/dist/services/HarvestRunService.js +1317 -0
  446. package/dist/services/I18nEntriesService.d.ts +9 -4
  447. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  448. package/dist/services/I18nEntriesService.js +96 -18
  449. package/dist/services/IntegrationAuditService.d.ts +158 -0
  450. package/dist/services/IntegrationAuditService.d.ts.map +1 -1
  451. package/dist/services/IntegrationAuditService.js +838 -0
  452. package/dist/services/IntegrationNotificationService.d.ts +55 -0
  453. package/dist/services/IntegrationNotificationService.d.ts.map +1 -0
  454. package/dist/services/IntegrationNotificationService.js +271 -0
  455. package/dist/services/NamedQueryService.d.ts +51 -12
  456. package/dist/services/NamedQueryService.d.ts.map +1 -1
  457. package/dist/services/NamedQueryService.js +622 -125
  458. package/dist/services/OniService.js +2 -2
  459. package/dist/services/RDMPService.d.ts.map +1 -1
  460. package/dist/services/RDMPService.js +3 -2
  461. package/dist/services/RecordsService.d.ts +24 -2
  462. package/dist/services/RecordsService.d.ts.map +1 -1
  463. package/dist/services/RecordsService.js +119 -19
  464. package/dist/services/ReportsService.d.ts +57 -1
  465. package/dist/services/ReportsService.d.ts.map +1 -1
  466. package/dist/services/ReportsService.js +258 -34
  467. package/dist/services/SassCompilerService.d.ts +4 -10
  468. package/dist/services/SassCompilerService.d.ts.map +1 -1
  469. package/dist/services/SassCompilerService.js +9 -173
  470. package/dist/services/SolrSearchService.d.ts +1 -0
  471. package/dist/services/SolrSearchService.d.ts.map +1 -1
  472. package/dist/services/SolrSearchService.js +14 -3
  473. package/dist/services/StandardDatastreamService.d.ts +37 -5
  474. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  475. package/dist/services/StandardDatastreamService.js +535 -38
  476. package/dist/services/StorageManagerService.d.ts +13 -1
  477. package/dist/services/StorageManagerService.d.ts.map +1 -1
  478. package/dist/services/StorageManagerService.js +94 -11
  479. package/dist/services/TemplateService.d.ts +2 -18
  480. package/dist/services/TemplateService.d.ts.map +1 -1
  481. package/dist/services/TemplateService.js +9 -53
  482. package/dist/services/VocabularyService.d.ts +13 -0
  483. package/dist/services/VocabularyService.d.ts.map +1 -1
  484. package/dist/services/VocabularyService.js +204 -14
  485. package/dist/services/doi-v2/audit.d.ts +7 -0
  486. package/dist/services/doi-v2/audit.d.ts.map +1 -1
  487. package/dist/services/doi-v2/audit.js +30 -0
  488. package/dist/services/doi-v2/bindings.d.ts +8 -0
  489. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  490. package/dist/services/doi-v2/bindings.js +79 -0
  491. package/dist/services/doi-v2/config.d.ts +7 -0
  492. package/dist/services/doi-v2/config.js +51 -0
  493. package/dist/services/doi-v2/context.d.ts +18 -0
  494. package/dist/services/doi-v2/context.js +41 -0
  495. package/dist/services/doi-v2/http.d.ts +21 -0
  496. package/dist/services/doi-v2/http.js +88 -0
  497. package/dist/services/doi-v2/payload.d.ts +4 -0
  498. package/dist/services/doi-v2/payload.js +291 -0
  499. package/dist/services/doi-v2/profiles.d.ts +5 -0
  500. package/dist/services/doi-v2/profiles.js +31 -0
  501. package/dist/services/doi-v2/runtime.d.ts +16 -0
  502. package/dist/services/doi-v2/runtime.js +173 -0
  503. package/dist/services/doi-v2/types.d.ts +49 -0
  504. package/dist/services/doi-v2/types.js +3 -0
  505. package/dist/services/figshare-v2/assets.d.ts +5 -0
  506. package/dist/services/figshare-v2/assets.js +297 -0
  507. package/dist/services/figshare-v2/audit.d.ts +7 -0
  508. package/dist/services/figshare-v2/audit.d.ts.map +1 -0
  509. package/dist/services/figshare-v2/audit.js +30 -0
  510. package/dist/services/figshare-v2/bindings.d.ts +6 -0
  511. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  512. package/dist/services/figshare-v2/bindings.js +58 -0
  513. package/dist/services/figshare-v2/config.d.ts +13 -0
  514. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  515. package/dist/services/figshare-v2/config.js +105 -0
  516. package/dist/services/figshare-v2/context.d.ts +4 -0
  517. package/dist/services/figshare-v2/context.d.ts.map +1 -1
  518. package/dist/services/figshare-v2/context.js +21 -0
  519. package/dist/services/figshare-v2/embargo.d.ts +5 -0
  520. package/dist/services/figshare-v2/embargo.js +36 -0
  521. package/dist/services/figshare-v2/http.d.ts +42 -0
  522. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  523. package/dist/services/figshare-v2/http.js +324 -0
  524. package/dist/services/figshare-v2/metadata.d.ts +6 -0
  525. package/dist/services/figshare-v2/metadata.d.ts.map +1 -1
  526. package/dist/services/figshare-v2/metadata.js +280 -0
  527. package/dist/services/figshare-v2/observability.d.ts +7 -0
  528. package/dist/services/figshare-v2/observability.d.ts.map +1 -1
  529. package/dist/services/figshare-v2/observability.js +87 -0
  530. package/dist/services/figshare-v2/plan.d.ts +5 -0
  531. package/dist/services/figshare-v2/plan.js +51 -0
  532. package/dist/services/figshare-v2/publish.d.ts +5 -0
  533. package/dist/services/figshare-v2/publish.js +20 -0
  534. package/dist/services/figshare-v2/queue.d.ts +4 -0
  535. package/dist/services/figshare-v2/queue.js +11 -0
  536. package/dist/services/figshare-v2/runtime.d.ts +14 -0
  537. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  538. package/dist/services/figshare-v2/runtime.js +88 -0
  539. package/dist/services/figshare-v2/types.d.ts +198 -0
  540. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  541. package/dist/services/figshare-v2/types.js +59 -0
  542. package/dist/services/figshare-v2/workflow.d.ts +3 -0
  543. package/dist/services/figshare-v2/workflow.js +7 -0
  544. package/dist/services/figshare-v2/writeback.d.ts +5 -0
  545. package/dist/services/figshare-v2/writeback.js +45 -0
  546. package/dist/services/index.d.ts +24 -3
  547. package/dist/services/index.d.ts.map +1 -1
  548. package/dist/services/index.js +43 -7
  549. package/dist/shims/momentShim.d.ts.map +1 -1
  550. package/dist/shims/momentShim.js +1 -6
  551. package/dist/storage/GridFSDriver.d.ts +101 -0
  552. package/dist/storage/GridFSDriver.d.ts.map +1 -0
  553. package/dist/storage/GridFSDriver.js +291 -0
  554. package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
  555. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
  556. package/dist/storage/TusStorageManagerDataStore.js +300 -0
  557. package/dist/utilities/RequestParamUtils.d.ts +3 -0
  558. package/dist/utilities/RequestParamUtils.d.ts.map +1 -0
  559. package/dist/utilities/RequestParamUtils.js +13 -0
  560. package/dist/visitor/attachment-fields.visitor.d.ts +17 -17
  561. package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -1
  562. package/dist/visitor/attachment-fields.visitor.js +44 -34
  563. package/dist/visitor/client.visitor.d.ts +145 -97
  564. package/dist/visitor/client.visitor.d.ts.map +1 -1
  565. package/dist/visitor/client.visitor.js +366 -273
  566. package/dist/visitor/construct.visitor.d.ts +99 -93
  567. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  568. package/dist/visitor/construct.visitor.js +302 -227
  569. package/dist/visitor/context-variables.visitor.d.ts +35 -35
  570. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  571. package/dist/visitor/context-variables.visitor.js +85 -75
  572. package/dist/visitor/data-value.visitor.d.ts +99 -93
  573. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  574. package/dist/visitor/data-value.visitor.js +157 -148
  575. package/dist/visitor/json-type-def.visitor.d.ts +96 -90
  576. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  577. package/dist/visitor/json-type-def.visitor.js +158 -149
  578. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +101 -94
  579. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  580. package/dist/visitor/migrate-config-v4-v5.visitor.js +356 -295
  581. package/dist/visitor/template.visitor.d.ts +100 -92
  582. package/dist/visitor/template.visitor.d.ts.map +1 -1
  583. package/dist/visitor/template.visitor.js +245 -156
  584. package/dist/visitor/validator.visitor.d.ts +95 -91
  585. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  586. package/dist/visitor/validator.visitor.js +184 -152
  587. package/dist/visitor/visitor-helpers.js +9 -9
  588. package/dist/visitor/vocab-inline.visitor.d.ts +34 -19
  589. package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
  590. package/dist/visitor/vocab-inline.visitor.js +157 -48
  591. package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
  592. package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
  593. package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
  594. package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
  595. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
  596. package/dist/waterline-models/AttachmentMetadata.js +147 -0
  597. package/dist/waterline-models/BrandingConfig.d.ts +0 -2
  598. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  599. package/dist/waterline-models/BrandingConfig.js +5 -9
  600. package/dist/waterline-models/DashboardType.d.ts +7 -0
  601. package/dist/waterline-models/DashboardType.d.ts.map +1 -1
  602. package/dist/waterline-models/DashboardType.js +16 -1
  603. package/dist/waterline-models/HarvestRecordEvent.d.ts +43 -0
  604. package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -0
  605. package/dist/waterline-models/HarvestRecordEvent.js +107 -0
  606. package/dist/waterline-models/HarvestRun.d.ts +51 -0
  607. package/dist/waterline-models/HarvestRun.d.ts.map +1 -0
  608. package/dist/waterline-models/HarvestRun.js +125 -0
  609. package/dist/waterline-models/HarvestRunChunk.d.ts +57 -0
  610. package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -0
  611. package/dist/waterline-models/HarvestRunChunk.js +140 -0
  612. package/dist/waterline-models/I18nTranslation.d.ts +2 -0
  613. package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
  614. package/dist/waterline-models/I18nTranslation.js +6 -1
  615. package/dist/waterline-models/Migration.d.ts +24 -0
  616. package/dist/waterline-models/Migration.d.ts.map +1 -0
  617. package/dist/waterline-models/Migration.js +52 -0
  618. package/dist/waterline-models/NamedQuery.d.ts +6 -0
  619. package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
  620. package/dist/waterline-models/NamedQuery.js +16 -1
  621. package/dist/waterline-models/index.d.ts +12 -0
  622. package/dist/waterline-models/index.d.ts.map +1 -1
  623. package/dist/waterline-models/index.js +19 -1
  624. package/package.json +77 -51
  625. package/redbox-loader-templates/bootstrap-shim.js.hbs +14 -1
  626. package/dist/config/datacite.config.d.ts +0 -51
  627. package/dist/config/datacite.config.d.ts.map +0 -1
  628. package/dist/config/datacite.config.js +0 -44
  629. package/dist/config/figshareAPI.config.d.ts +0 -116
  630. package/dist/config/figshareAPI.config.d.ts.map +0 -1
  631. package/dist/config/figshareAPI.config.js +0 -857
  632. package/dist/config/figshareAPIEnv.config.d.ts +0 -11
  633. package/dist/config/figshareAPIEnv.config.d.ts.map +0 -1
  634. package/dist/config/figshareAPIEnv.config.js +0 -13
  635. package/dist/config/figshareRedboxFORMapping.config.d.ts +0 -15
  636. package/dist/config/figshareRedboxFORMapping.config.d.ts.map +0 -1
  637. package/dist/config/figshareRedboxFORMapping.config.js +0 -7458
  638. package/dist/config/relatedObjectsFormDefinition.config.d.ts.map +0 -1
  639. package/dist/controllers/VocabController.d.ts +0 -43
  640. package/dist/controllers/VocabController.d.ts.map +0 -1
  641. package/dist/controllers/VocabController.js +0 -190
  642. package/dist/form-config/dataPublication-1.0-draft.d.ts.map +0 -1
  643. package/dist/form-config/dataPublication-1.0-embargoed.d.ts.map +0 -1
  644. package/dist/form-config/dataPublication-1.0-published.d.ts.map +0 -1
  645. package/dist/form-config/dataPublication-1.0-queued.d.ts.map +0 -1
  646. package/dist/form-config/dataPublication-1.0-retired.d.ts.map +0 -1
  647. package/dist/services/VocabService.d.ts +0 -81
  648. package/dist/services/VocabService.d.ts.map +0 -1
  649. package/dist/services/VocabService.js +0 -424
@@ -71,6 +71,7 @@ const luceneEscapeQuery = typeof luceneEscapeQueryModule === 'function'
71
71
  luceneEscapeQueryModule.default);
72
72
  const luxon_1 = require("luxon");
73
73
  const rxjs_2 = require("rxjs");
74
+ const recordtype_config_1 = require("../config/recordtype.config");
74
75
  var Services;
75
76
  (function (Services) {
76
77
  const DEFAULT_BOOTSTRAP_DATA_PATH = 'bootstrap-data';
@@ -267,12 +268,15 @@ var Services;
267
268
  'updateMeta',
268
269
  'getMeta',
269
270
  'getRecordAudit',
271
+ 'getResolvedPermissionsSummary',
270
272
  'hasEditAccess',
271
273
  'hasViewAccess',
272
274
  'createBatch',
273
275
  'provideUserAccessAndRemovePendingAccess',
274
276
  'searchFuzzy',
275
277
  'getRelatedRecords',
278
+ 'getMetaWithRelationships',
279
+ 'getRecordTypeSummary',
276
280
  'delete',
277
281
  'restoreRecord',
278
282
  'destroyDeletedRecord',
@@ -352,7 +356,7 @@ var Services;
352
356
  recordObj.authorization_editRoles = recordObj.authorization_editRoles ?? authorization.editRoles;
353
357
  const createResponse = await this.storageService.create(brandObj, recordObj, recordTypeObj, userObj);
354
358
  if (createResponse.isSuccessful()) {
355
- if (this.searchService && typeof this.searchService.index === 'function') {
359
+ if (this.searchService && typeof this.searchService.index === 'function' && recordTypeObj.searchable !== false) {
356
360
  this.searchService.index(createResponse['oid'], recordObj);
357
361
  }
358
362
  await this.auditRecord(createResponse['oid'], recordObj, userObj, RecordAuditModel_1.RecordAuditActionType.created);
@@ -447,7 +451,7 @@ var Services;
447
451
  try {
448
452
  createResponse = (await this.triggerPostSaveSyncTriggers(createResponse['oid'], recordObj, recordTypeObj, 'onCreate', userObj, createResponse));
449
453
  if (this.hasPostSaveSyncHooks(recordTypeObj, 'onCreate')) {
450
- this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
454
+ await this.storageService.updateMeta(brandObj, oid, recordObj, userObj);
451
455
  }
452
456
  }
453
457
  catch (err) {
@@ -494,13 +498,17 @@ var Services;
494
498
  const recordOid = String(_.get(recordObj, 'redboxOid', ''));
495
499
  if (_.isEmpty(recordOid)) {
496
500
  sails.log.warn(`recordOid: '${recordOid}' is empty! Using response oid: ${createResponse['oid']} for solr index.`);
497
- this.searchService.index(createResponse['oid'], recordObj);
501
+ if (recordTypeObj.searchable !== false) {
502
+ this.searchService.index(createResponse['oid'], recordObj);
503
+ }
498
504
  }
499
505
  else {
500
506
  if (createResponse['oid'] !== recordOid) {
501
507
  sails.log.warn(`response oid: ${createResponse['oid']} is not the same as recordOid: ${recordOid}.`);
502
508
  }
503
- this.searchService.index(recordOid, recordObj);
509
+ if (recordTypeObj.searchable !== false) {
510
+ this.searchService.index(recordOid, recordObj);
511
+ }
504
512
  }
505
513
  await this.auditRecord(createResponse['oid'], recordObj, userObj, RecordAuditModel_1.RecordAuditActionType.created);
506
514
  }
@@ -696,7 +704,9 @@ var Services;
696
704
  }
697
705
  }
698
706
  }
699
- this.searchService.index(oid, record);
707
+ if (recordType?.searchable !== false) {
708
+ this.searchService.index(oid, recordObj);
709
+ }
700
710
  await this.auditRecord(updateResponse['oid'], record, user, RecordAuditModel_1.RecordAuditActionType.updated);
701
711
  }
702
712
  else {
@@ -752,7 +762,58 @@ var Services;
752
762
  },
753
763
  ];
754
764
  }
755
- return audit;
765
+ const actionFilter = _.isString(params.action) ? params.action.trim().toLowerCase() : '';
766
+ const workflowStateFilter = _.isString(params.workflowState) ? params.workflowState.trim().toLowerCase() : '';
767
+ return audit.filter(auditRow => {
768
+ const action = String(auditRow['action'] ?? '').trim().toLowerCase();
769
+ const workflowStageLabel = String(_.get(auditRow, 'record.workflow.stageLabel', '')).trim().toLowerCase();
770
+ const actionMatches = _.isEmpty(actionFilter) || action === actionFilter;
771
+ const workflowMatches = _.isEmpty(workflowStateFilter) || workflowStageLabel.includes(workflowStateFilter);
772
+ return actionMatches && workflowMatches;
773
+ });
774
+ }
775
+ async getResolvedPermissionsSummary(oid) {
776
+ const record = await this.getMeta(oid);
777
+ if (_.isEmpty(record)) {
778
+ throw new Error(`Record not found: ${oid}`);
779
+ }
780
+ const authorization = (record.authorization ?? {});
781
+ const resolveUsers = async (value) => {
782
+ const usernames = Array.isArray(value) ? value : [];
783
+ const resolvedUsers = [];
784
+ for (const usernameValue of usernames) {
785
+ const username = String(usernameValue ?? '');
786
+ if (_.isEmpty(username)) {
787
+ continue;
788
+ }
789
+ try {
790
+ const user = await (0, rxjs_1.firstValueFrom)(UsersService.getUserWithUsername(username));
791
+ resolvedUsers.push({
792
+ username,
793
+ name: String(_.get(user, 'name', '')),
794
+ email: String(_.get(user, 'email', '')),
795
+ });
796
+ }
797
+ catch (error) {
798
+ sails.log.warn(`RecordsService.getResolvedPermissionsSummary could not resolve user '${username}' for record '${oid}'.`);
799
+ sails.log.warn(error);
800
+ resolvedUsers.push({
801
+ username,
802
+ name: '',
803
+ email: '',
804
+ });
805
+ }
806
+ }
807
+ return resolvedUsers;
808
+ };
809
+ return {
810
+ edit: await resolveUsers(authorization.edit),
811
+ view: await resolveUsers(authorization.view),
812
+ editPending: _.castArray(authorization.editPending ?? []).map(value => String(value ?? '')),
813
+ viewPending: _.castArray(authorization.viewPending ?? []).map(value => String(value ?? '')),
814
+ editRoles: _.castArray(authorization.editRoles ?? []).map(value => String(value ?? '')),
815
+ viewRoles: _.castArray(authorization.viewRoles ?? []).map(value => String(value ?? '')),
816
+ };
756
817
  }
757
818
  createBatch(type, data, harvestIdFldName) {
758
819
  return this.storageService.createBatch(type, data, harvestIdFldName);
@@ -760,8 +821,26 @@ var Services;
760
821
  provideUserAccessAndRemovePendingAccess(oid, userid, pendingValue) {
761
822
  this.storageService.provideUserAccessAndRemovePendingAccess(oid, userid, pendingValue);
762
823
  }
763
- getRelatedRecords(oid, brand) {
764
- return this.storageService.getRelatedRecords(oid, brand);
824
+ getRelatedRecords(oid, brand, options = {}) {
825
+ return this.storageService.getRelatedRecords(oid, brand, options);
826
+ }
827
+ async getMetaWithRelationships(oid, brand, options = {}) {
828
+ const metadata = await this.getMeta(oid);
829
+ const relationships = await this.getRelatedRecords(oid, brand, options);
830
+ return { metadata, relationships };
831
+ }
832
+ async getRecordTypeSummary(brand, recordTypeName) {
833
+ const recordType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brand, recordTypeName));
834
+ if (_.isEmpty(recordType)) {
835
+ return null;
836
+ }
837
+ return {
838
+ name: String(_.get(recordType, 'name', recordTypeName)),
839
+ packageType: String(_.get(recordType, 'packageType', '')),
840
+ searchFilters: (_.get(recordType, 'searchFilters', []) ?? []),
841
+ searchable: Boolean(_.get(recordType, 'searchable', true)),
842
+ relatedTo: (0, recordtype_config_1.normalizeRecordRelations)(String(_.get(recordType, 'name', recordTypeName)), _.get(recordType, 'relatedTo', [])),
843
+ };
765
844
  }
766
845
  async delete(oid, permanentlyDelete, currentRec, recordType, user) {
767
846
  let currentRecObj = currentRec;
@@ -828,17 +907,24 @@ var Services;
828
907
  // Params:
829
908
  // oid - record idea
830
909
  // labelFilterStr - set if you want to be selective in your attachments, will just run a simple `.indexOf`
831
- async getAttachments(oid, labelFilterStr = undefined) {
910
+ async getAttachments(oid, labelFilterStr = undefined, requestContext = undefined) {
832
911
  sails.log.verbose(`RecordsService::Getting attachments of ${oid}`);
833
- const datastreams = (await this.datastreamService.listDatastreams(oid, ''));
912
+ const datastreams = (await this.datastreamService.listDatastreams(oid, '', requestContext));
834
913
  const attachments = [];
835
914
  _.each(datastreams, (datastream) => {
836
915
  const datastreamObj = datastream;
837
916
  let attachment = {};
838
- attachment['dateUpdated'] = luxon_1.DateTime.fromJSDate(new Date(datastreamObj['uploadDate'])).toISO();
917
+ const rawDateUpdated = datastreamObj['uploadDate'] ?? datastreamObj['lastModified'] ?? _.get(datastreamObj.metadata, 'dateUpdated');
918
+ const normalizedDateUpdated = rawDateUpdated
919
+ ? luxon_1.DateTime.fromJSDate(new Date(rawDateUpdated)).toUTC().toISO()
920
+ : null;
921
+ attachment['dateUpdated'] = rawDateUpdated
922
+ ? normalizedDateUpdated
923
+ : null;
839
924
  attachment['label'] = _.get(datastreamObj.metadata, 'name');
840
925
  attachment['contentType'] = _.get(datastreamObj.metadata, 'mimeType');
841
926
  attachment = _.merge(attachment, datastreamObj.metadata);
927
+ attachment['dateUpdated'] = normalizedDateUpdated;
842
928
  if (_.isUndefined(labelFilterStr) && _.isEmpty(labelFilterStr)) {
843
929
  attachments.push(attachment);
844
930
  }
@@ -902,7 +988,7 @@ var Services;
902
988
  sails.log.verbose(`${this.logHeader} Queue service isn't defined. Skipping auditing`);
903
989
  return;
904
990
  }
905
- this.queueService.now(sails.config.record.auditing.recordAuditJobName, data);
991
+ await this.queueService.now(sails.config.record.auditing.recordAuditJobName, data);
906
992
  }
907
993
  storeRecordAudit(job) {
908
994
  const jobObj = job;
@@ -1222,10 +1308,24 @@ var Services;
1222
1308
  // });
1223
1309
  }
1224
1310
  async restoreRecord(oid, user) {
1225
- const record = await this.storageService.restoreRecord(oid);
1226
- this.searchService.index(oid, record);
1227
- await this.auditRecord(oid, record, user, RecordAuditModel_1.RecordAuditActionType.restored);
1228
- return record;
1311
+ const recordStorageServiceResponse = await this.storageService.restoreRecord(oid);
1312
+ if (recordStorageServiceResponse.isSuccessful() && !_.isNil(recordStorageServiceResponse.metadata)) {
1313
+ const record = recordStorageServiceResponse.metadata;
1314
+ const metaMetadata = (record?.metaMetadata ?? {});
1315
+ const brandId = _.get(metaMetadata, 'brandId');
1316
+ const recordTypeName = _.get(metaMetadata, 'type');
1317
+ if (!_.isNil(brandId) && !_.isNil(recordTypeName)) {
1318
+ const brand = await BrandingService.getBrandById(String(brandId));
1319
+ const recordType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brand, String(recordTypeName)));
1320
+ if (this.searchService &&
1321
+ typeof this.searchService.index === 'function' &&
1322
+ recordType?.searchable !== false) {
1323
+ this.searchService.index(oid, record);
1324
+ }
1325
+ }
1326
+ }
1327
+ await this.auditRecord(oid, recordStorageServiceResponse, user, RecordAuditModel_1.RecordAuditActionType.restored);
1328
+ return recordStorageServiceResponse;
1229
1329
  }
1230
1330
  async destroyDeletedRecord(oid, user) {
1231
1331
  const record = await this.storageService.destroyDeletedRecord(oid);
@@ -1273,8 +1373,8 @@ var Services;
1273
1373
  }
1274
1374
  // update authorizations based on workflow...
1275
1375
  const configAuth = config.authorization;
1276
- currentRecObj.authorization.viewRoles = configAuth.viewRoles;
1277
- currentRecObj.authorization.editRoles = configAuth.editRoles;
1376
+ currentRecObj.authorization.viewRoles = currentRecObj.authorization.viewRoles ?? configAuth.viewRoles;
1377
+ currentRecObj.authorization.editRoles = currentRecObj.authorization.editRoles ?? configAuth.editRoles;
1278
1378
  }
1279
1379
  sails.log.verbose(`transitionWorkflowStepMetadata - finish - previousWorkflow: ${currentRecObj.previousWorkflow}; workflow: ${currentRecObj.workflow}; nextStep: ${nextStepObj}`);
1280
1380
  }
@@ -1474,4 +1574,4 @@ var Services;
1474
1574
  }
1475
1575
  Services.Records = Records;
1476
1576
  })(Services || (exports.Services = Services = {}));
1477
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3Jkc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVjb3Jkc1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUQsK0JBQWlGO0FBQ2pGLDhDQUE2RDtBQUs3RCx3RUFBNEY7QUFHNUYsZ0RBQXNEO0FBSXRELHNFQUFtRTtBQUVuRSxrRUFBK0Q7QUFLL0Qsa0RBQTBCO0FBQzFCLHFEQUF1QztBQUN2QyxnREFBa0M7QUFDbEMsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQTBELENBQUM7QUFDeEgsTUFBTSxpQkFBaUIsR0FDckIsT0FBTyx1QkFBdUIsS0FBSyxVQUFVO0lBQzNDLENBQUMsQ0FBQyx1QkFBdUI7SUFDekIsQ0FBQyxDQUFFLENBQUUsdUJBQW1ELENBQUMsTUFBTTtRQUM1RCx1QkFBbUQsQ0FBQyxPQUFPLENBQStCLENBQUM7QUFDbEcsaUNBQWlDO0FBRWpDLCtCQUFvQztBQUtwQyxJQUFpQixRQUFRLENBOHdEeEI7QUE5d0RELFdBQWlCLFFBQVE7SUFTdkIsTUFBTSwyQkFBMkIsR0FBRyxnQkFBZ0IsQ0FBQztJQUNyRDs7Ozs7T0FLRztJQUNILE1BQWEsT0FBUSxTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFDaEQsY0FBYyxDQUFrQjtRQUNoQyxpQkFBaUIsQ0FBcUI7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
1577
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3Jkc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvUmVjb3Jkc1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUQsK0JBQWlGO0FBQ2pGLDhDQUE2RDtBQUs3RCx3RUFBNEY7QUFHNUYsZ0RBQXNEO0FBSXRELHNFQUFtRTtBQUVuRSxrRUFBK0Q7QUFLL0Qsa0RBQTBCO0FBQzFCLHFEQUF1QztBQUN2QyxnREFBa0M7QUFDbEMsTUFBTSx1QkFBdUIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQTBELENBQUM7QUFDeEgsTUFBTSxpQkFBaUIsR0FDckIsT0FBTyx1QkFBdUIsS0FBSyxVQUFVO0lBQzNDLENBQUMsQ0FBQyx1QkFBdUI7SUFDekIsQ0FBQyxDQUFFLENBQUUsdUJBQW1ELENBQUMsTUFBTTtRQUM1RCx1QkFBbUQsQ0FBQyxPQUFPLENBQStCLENBQUM7QUFDbEcsaUNBQWlDO0FBRWpDLCtCQUFvQztBQUlwQyxtRUFBdUU7QUFRdkUsSUFBaUIsUUFBUSxDQTYzRHhCO0FBNzNERCxXQUFpQixRQUFRO0lBU3ZCLE1BQU0sMkJBQTJCLEdBQUcsZ0JBQWdCLENBQUM7SUFDckQ7Ozs7O09BS0c7SUFDSCxNQUFhLE9BQVEsU0FBUSxzQkFBUSxDQUFDLElBQUksQ0FBQyxPQUFPO1FBQ2hELGNBQWMsQ0FBa0I7UUFDaEMs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