@researchdatabox/redbox-core 5.1.0-beta.12568 → 5.1.0-beta.13939

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 (385) hide show
  1. package/browser/redoc-library-loader.cjs +20 -0
  2. package/browser/redoc-standalone.js +143 -0
  3. package/dist/CoreBase.d.ts +43 -0
  4. package/dist/CoreBase.d.ts.map +1 -0
  5. package/dist/CoreBase.js +101 -0
  6. package/dist/CoreController.d.ts +23 -31
  7. package/dist/CoreController.d.ts.map +1 -1
  8. package/dist/CoreController.js +142 -131
  9. package/dist/CoreService.d.ts +13 -33
  10. package/dist/CoreService.d.ts.map +1 -1
  11. package/dist/CoreService.js +69 -95
  12. package/dist/HarvestRunService.d.ts +9 -1
  13. package/dist/HarvestRunService.d.ts.map +1 -1
  14. package/dist/HarvestRunService.js +1 -1
  15. package/dist/RecordRouteForm.d.ts +49 -0
  16. package/dist/RecordRouteForm.d.ts.map +1 -0
  17. package/dist/RecordRouteForm.js +188 -0
  18. package/dist/RecordSaveResponse.d.ts +4 -0
  19. package/dist/RecordSaveResponse.d.ts.map +1 -1
  20. package/dist/RecordSaveResponse.js +3 -2
  21. package/dist/action-execution/executor.d.ts +1 -1
  22. package/dist/action-execution/executor.d.ts.map +1 -1
  23. package/dist/action-execution/executor.js +19 -20
  24. package/dist/action-execution/legacy-result.d.ts +1 -1
  25. package/dist/action-execution/legacy-result.d.ts.map +1 -1
  26. package/dist/action-execution/legacy-result.js +43 -10
  27. package/dist/action-execution/types.d.ts +3 -3
  28. package/dist/action-execution/types.d.ts.map +1 -1
  29. package/dist/api-routes/groups/harvest-runs.d.ts +1 -0
  30. package/dist/api-routes/groups/harvest-runs.d.ts.map +1 -1
  31. package/dist/api-routes/groups/harvest-runs.js +24 -3
  32. package/dist/api-routes/groups/records.d.ts.map +1 -1
  33. package/dist/api-routes/groups/records.js +30 -21
  34. package/dist/api-routes/groups/reports.d.ts.map +1 -1
  35. package/dist/api-routes/groups/reports.js +3 -2
  36. package/dist/api-routes/helpers.d.ts +1 -1
  37. package/dist/api-routes/helpers.d.ts.map +1 -1
  38. package/dist/api-routes/helpers.js +10 -6
  39. package/dist/api-routes/openapi.d.ts.map +1 -1
  40. package/dist/api-routes/openapi.js +15 -1
  41. package/dist/api-routes/request-extraction.js +2 -2
  42. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  43. package/dist/api-routes/schemas/common.js +7 -2
  44. package/dist/api-routes/schemas/responses.d.ts +38 -12
  45. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  46. package/dist/api-routes/schemas/responses.js +11 -1
  47. package/dist/bootstrap.d.ts.map +1 -1
  48. package/dist/bootstrap.js +13 -3
  49. package/dist/config/agendaQueue.config.d.ts +5 -0
  50. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  51. package/dist/config/agendaQueue.config.js +29 -2
  52. package/dist/config/appConfigSecrets.config.d.ts +14 -0
  53. package/dist/config/appConfigSecrets.config.d.ts.map +1 -0
  54. package/dist/config/appConfigSecrets.config.js +8 -0
  55. package/dist/config/brandingConfigurationDefaults.config.d.ts +16 -3
  56. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  57. package/dist/config/brandingConfigurationDefaults.config.js +1 -1
  58. package/dist/config/dompurify.config.d.ts.map +1 -1
  59. package/dist/config/dompurify.config.js +3 -2
  60. package/dist/config/harvestRuns.config.d.ts +7 -0
  61. package/dist/config/harvestRuns.config.d.ts.map +1 -1
  62. package/dist/config/harvestRuns.config.js +2 -1
  63. package/dist/config/http.config.d.ts +3 -2
  64. package/dist/config/http.config.d.ts.map +1 -1
  65. package/dist/config/http.config.js +108 -12
  66. package/dist/config/i18n.config.d.ts +3 -0
  67. package/dist/config/i18n.config.d.ts.map +1 -1
  68. package/dist/config/i18n.config.js +1 -1
  69. package/dist/config/index.d.ts +4 -0
  70. package/dist/config/index.d.ts.map +1 -1
  71. package/dist/config/index.js +4 -1
  72. package/dist/config/log.config.d.ts +33 -5
  73. package/dist/config/log.config.d.ts.map +1 -1
  74. package/dist/config/log.config.js +58 -54
  75. package/dist/config/record.config.d.ts +17 -0
  76. package/dist/config/record.config.d.ts.map +1 -1
  77. package/dist/config/record.config.js +7 -1
  78. package/dist/config/routes.config.d.ts.map +1 -1
  79. package/dist/config/routes.config.js +11 -2
  80. package/dist/config/session.config.d.ts +2 -2
  81. package/dist/config/session.config.d.ts.map +1 -1
  82. package/dist/config/solr.config.d.ts +8 -0
  83. package/dist/config/solr.config.d.ts.map +1 -1
  84. package/dist/config/solr.config.js +15 -2
  85. package/dist/config/storage.config.d.ts.map +1 -1
  86. package/dist/config/storage.config.js +9 -1
  87. package/dist/config/vocab.config.d.ts +1 -0
  88. package/dist/config/vocab.config.d.ts.map +1 -1
  89. package/dist/config/vocab.config.js +3 -3
  90. package/dist/config/webpack.config.d.ts.map +1 -1
  91. package/dist/config/webpack.config.js +23 -5
  92. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  93. package/dist/configmodels/ConfigModels.js +3 -2
  94. package/dist/configmodels/FigsharePublishing.d.ts +1 -1
  95. package/dist/controllers/ActionController.d.ts.map +1 -1
  96. package/dist/controllers/ActionController.js +8 -2
  97. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  98. package/dist/controllers/BrandingAppController.js +21 -2
  99. package/dist/controllers/DynamicAssetController.d.ts +9 -10
  100. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  101. package/dist/controllers/DynamicAssetController.js +67 -53
  102. package/dist/controllers/EmailController.d.ts.map +1 -1
  103. package/dist/controllers/EmailController.js +32 -14
  104. package/dist/controllers/ExportController.d.ts +9 -0
  105. package/dist/controllers/ExportController.d.ts.map +1 -1
  106. package/dist/controllers/ExportController.js +154 -3
  107. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  108. package/dist/controllers/FormVocabularyController.js +62 -33
  109. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  110. package/dist/controllers/RecordAuditController.js +4 -2
  111. package/dist/controllers/RecordController.d.ts +4 -1
  112. package/dist/controllers/RecordController.d.ts.map +1 -1
  113. package/dist/controllers/RecordController.js +248 -114
  114. package/dist/controllers/ReportController.d.ts +1 -0
  115. package/dist/controllers/ReportController.d.ts.map +1 -1
  116. package/dist/controllers/ReportController.js +40 -12
  117. package/dist/controllers/TranslationController.d.ts.map +1 -1
  118. package/dist/controllers/TranslationController.js +56 -16
  119. package/dist/controllers/UserController.d.ts +3 -1
  120. package/dist/controllers/UserController.d.ts.map +1 -1
  121. package/dist/controllers/UserController.js +178 -76
  122. package/dist/controllers/VocabularyController.d.ts +0 -1
  123. package/dist/controllers/VocabularyController.d.ts.map +1 -1
  124. package/dist/controllers/VocabularyController.js +18 -16
  125. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  126. package/dist/controllers/webservice/AdminController.js +2 -5
  127. package/dist/controllers/webservice/HarvestRunController.d.ts +1 -0
  128. package/dist/controllers/webservice/HarvestRunController.d.ts.map +1 -1
  129. package/dist/controllers/webservice/HarvestRunController.js +46 -2
  130. package/dist/controllers/webservice/IntegrationAuditController.d.ts +0 -1
  131. package/dist/controllers/webservice/IntegrationAuditController.d.ts.map +1 -1
  132. package/dist/controllers/webservice/IntegrationAuditController.js +13 -6
  133. package/dist/controllers/webservice/RecordController.d.ts +1 -1
  134. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  135. package/dist/controllers/webservice/RecordController.js +13 -4
  136. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  137. package/dist/controllers/webservice/ReportController.js +15 -10
  138. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  139. package/dist/controllers/webservice/UserManagementController.js +17 -8
  140. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  141. package/dist/controllers/webservice/VocabularyController.js +19 -13
  142. package/dist/form-config/generated-view-only.d.ts.map +1 -1
  143. package/dist/form-config/generated-view-only.js +12 -1
  144. package/dist/index.d.ts +2 -1
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +1 -1
  147. package/dist/loader/index.d.ts +1 -0
  148. package/dist/loader/index.d.ts.map +1 -1
  149. package/dist/loader/index.js +56 -11
  150. package/dist/middleware/redboxSession.d.ts.map +1 -1
  151. package/dist/middleware/redboxSession.js +15 -3
  152. package/dist/middleware/requestChronicle.d.ts +14 -0
  153. package/dist/middleware/requestChronicle.d.ts.map +1 -0
  154. package/dist/middleware/requestChronicle.js +73 -0
  155. package/dist/model/BuildResponse.d.ts +7 -5
  156. package/dist/model/BuildResponse.d.ts.map +1 -1
  157. package/dist/model/RBValidationError.d.ts +18 -5
  158. package/dist/model/RBValidationError.d.ts.map +1 -1
  159. package/dist/model/RBValidationError.js +56 -17
  160. package/dist/model/storage/ExportJobModel.d.ts +33 -0
  161. package/dist/model/storage/ExportJobModel.d.ts.map +1 -0
  162. package/dist/model/storage/ExportJobModel.js +3 -0
  163. package/dist/model/storage/HarvestRunModel.d.ts +20 -0
  164. package/dist/model/storage/HarvestRunModel.d.ts.map +1 -1
  165. package/dist/model/storage/HarvestRunModel.js +2 -1
  166. package/dist/model/storage/index.d.ts +2 -1
  167. package/dist/model/storage/index.d.ts.map +1 -1
  168. package/dist/model/storage/index.js +1 -1
  169. package/dist/policies/checkAuth.d.ts.map +1 -1
  170. package/dist/policies/checkAuth.js +3 -2
  171. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  172. package/dist/policies/contentSecurityPolicy.js +7 -2
  173. package/dist/policies/noCache.d.ts.map +1 -1
  174. package/dist/policies/noCache.js +4 -3
  175. package/dist/record-contract/record-contract-compiler.d.ts.map +1 -1
  176. package/dist/record-contract/record-contract-compiler.js +3 -19
  177. package/dist/record-contract/record-contract-context.d.ts +2 -0
  178. package/dist/record-contract/record-contract-context.d.ts.map +1 -1
  179. package/dist/record-contract/record-contract-context.js +1 -1
  180. package/dist/responses/notFound.d.ts.map +1 -1
  181. package/dist/responses/notFound.js +6 -1
  182. package/dist/responses/serverError.d.ts.map +1 -1
  183. package/dist/responses/serverError.js +13 -3
  184. package/dist/sails.d.ts +27 -17
  185. package/dist/sails.d.ts.map +1 -1
  186. package/dist/services/AgendaQueueService.d.ts +11 -2
  187. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  188. package/dist/services/AgendaQueueService.js +163 -51
  189. package/dist/services/AppConfigSecrets.d.ts +66 -0
  190. package/dist/services/AppConfigSecrets.d.ts.map +1 -0
  191. package/dist/services/AppConfigSecrets.js +396 -0
  192. package/dist/services/AppConfigService.d.ts +16 -1
  193. package/dist/services/AppConfigService.d.ts.map +1 -1
  194. package/dist/services/AppConfigService.js +283 -33
  195. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  196. package/dist/services/BrandingThemeCssService.js +32 -3
  197. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  198. package/dist/services/BrandingThemeTokens.js +10 -1
  199. package/dist/services/ConfigService.d.ts +1 -0
  200. package/dist/services/ConfigService.d.ts.map +1 -1
  201. package/dist/services/ConfigService.js +24 -9
  202. package/dist/services/DomSanitizerService.d.ts.map +1 -1
  203. package/dist/services/DomSanitizerService.js +19 -6
  204. package/dist/services/EmailService.d.ts +10 -2
  205. package/dist/services/EmailService.d.ts.map +1 -1
  206. package/dist/services/EmailService.js +53 -53
  207. package/dist/services/ExportService.d.ts +62 -0
  208. package/dist/services/ExportService.d.ts.map +1 -0
  209. package/dist/services/ExportService.js +609 -0
  210. package/dist/services/FormVocabularyService.d.ts.map +1 -1
  211. package/dist/services/FormVocabularyService.js +14 -4
  212. package/dist/services/FormsService.d.ts +3 -0
  213. package/dist/services/FormsService.d.ts.map +1 -1
  214. package/dist/services/FormsService.js +10 -3
  215. package/dist/services/HarvestRunService.d.ts +23 -1
  216. package/dist/services/HarvestRunService.d.ts.map +1 -1
  217. package/dist/services/HarvestRunService.js +155 -22
  218. package/dist/services/I18nEntriesService.d.ts +5 -0
  219. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  220. package/dist/services/I18nEntriesService.js +55 -3
  221. package/dist/services/NamedQueryService.d.ts +1 -0
  222. package/dist/services/NamedQueryService.d.ts.map +1 -1
  223. package/dist/services/NamedQueryService.js +67 -31
  224. package/dist/services/RDMPService.d.ts.map +1 -1
  225. package/dist/services/RDMPService.js +69 -83
  226. package/dist/services/RaidService.d.ts.map +1 -1
  227. package/dist/services/RaidService.js +45 -11
  228. package/dist/services/RecordSchemaService.d.ts +3 -1
  229. package/dist/services/RecordSchemaService.d.ts.map +1 -1
  230. package/dist/services/RecordSchemaService.js +2 -1
  231. package/dist/services/RecordValidationService.d.ts +3 -0
  232. package/dist/services/RecordValidationService.d.ts.map +1 -1
  233. package/dist/services/RecordValidationService.js +25 -5
  234. package/dist/services/RecordsService.d.ts +10 -1
  235. package/dist/services/RecordsService.d.ts.map +1 -1
  236. package/dist/services/RecordsService.js +194 -93
  237. package/dist/services/ReportsService.d.ts +1 -0
  238. package/dist/services/ReportsService.d.ts.map +1 -1
  239. package/dist/services/ReportsService.js +10 -9
  240. package/dist/services/RvaImportService.d.ts.map +1 -1
  241. package/dist/services/RvaImportService.js +6 -5
  242. package/dist/services/SolrSearchService.d.ts +7 -2
  243. package/dist/services/SolrSearchService.d.ts.map +1 -1
  244. package/dist/services/SolrSearchService.js +205 -81
  245. package/dist/services/StorageManagerService.d.ts +5 -0
  246. package/dist/services/StorageManagerService.d.ts.map +1 -1
  247. package/dist/services/StorageManagerService.js +4 -1
  248. package/dist/services/TriggerService.d.ts.map +1 -1
  249. package/dist/services/TriggerService.js +64 -56
  250. package/dist/services/UsersService.d.ts +13 -1
  251. package/dist/services/UsersService.d.ts.map +1 -1
  252. package/dist/services/UsersService.js +191 -257
  253. package/dist/services/VocabularyService.d.ts +11 -1
  254. package/dist/services/VocabularyService.d.ts.map +1 -1
  255. package/dist/services/VocabularyService.js +120 -24
  256. package/dist/services/doi-v2/http.d.ts +3 -2
  257. package/dist/services/doi-v2/http.d.ts.map +1 -1
  258. package/dist/services/doi-v2/http.js +38 -4
  259. package/dist/services/doi-v2/runtime.d.ts +4 -3
  260. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  261. package/dist/services/doi-v2/runtime.js +52 -17
  262. package/dist/services/figshare-v2/assets.d.ts +1 -1
  263. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  264. package/dist/services/figshare-v2/assets.js +1 -1
  265. package/dist/services/figshare-v2/http.d.ts +3 -2
  266. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  267. package/dist/services/figshare-v2/http.js +38 -4
  268. package/dist/services/figshare-v2/observability.d.ts.map +1 -1
  269. package/dist/services/figshare-v2/observability.js +3 -3
  270. package/dist/services/figshare-v2/runtime.d.ts +4 -3
  271. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  272. package/dist/services/figshare-v2/runtime.js +48 -13
  273. package/dist/services/index.d.ts +3 -0
  274. package/dist/services/index.d.ts.map +1 -1
  275. package/dist/services/index.js +8 -3
  276. package/dist/services/integration-v2/runtime.d.ts +1 -1
  277. package/dist/services/integration-v2/runtime.d.ts.map +1 -1
  278. package/dist/services/integration-v2/runtime.js +7 -7
  279. package/dist/services/oni-v2/audit.d.ts +3 -2
  280. package/dist/services/oni-v2/audit.d.ts.map +1 -1
  281. package/dist/services/oni-v2/audit.js +38 -4
  282. package/dist/services/oni-v2/bindings.d.ts +1 -1
  283. package/dist/services/oni-v2/bindings.d.ts.map +1 -1
  284. package/dist/services/oni-v2/bindings.js +37 -4
  285. package/dist/services/oni-v2/repository.d.ts +3 -2
  286. package/dist/services/oni-v2/repository.d.ts.map +1 -1
  287. package/dist/services/oni-v2/repository.js +42 -7
  288. package/dist/services/oni-v2/runtime.d.ts +5 -4
  289. package/dist/services/oni-v2/runtime.d.ts.map +1 -1
  290. package/dist/services/oni-v2/runtime.js +57 -19
  291. package/dist/services/oni-v2/templating.d.ts +4 -2
  292. package/dist/services/oni-v2/templating.d.ts.map +1 -1
  293. package/dist/services/oni-v2/templating.js +42 -7
  294. package/dist/services/raid-v2/audit.d.ts +1 -1
  295. package/dist/services/raid-v2/audit.d.ts.map +1 -1
  296. package/dist/services/raid-v2/audit.js +39 -5
  297. package/dist/services/raid-v2/errors.d.ts +9 -9
  298. package/dist/services/raid-v2/errors.js +44 -11
  299. package/dist/services/raid-v2/http.d.ts +1 -1
  300. package/dist/services/raid-v2/http.d.ts.map +1 -1
  301. package/dist/services/raid-v2/http.js +42 -8
  302. package/dist/services/raid-v2/logger.d.ts +1 -1
  303. package/dist/services/raid-v2/logger.d.ts.map +1 -1
  304. package/dist/services/raid-v2/logger.js +42 -8
  305. package/dist/services/raid-v2/mapping.d.ts +1 -1
  306. package/dist/services/raid-v2/mapping.d.ts.map +1 -1
  307. package/dist/services/raid-v2/mapping.js +41 -7
  308. package/dist/services/raid-v2/runtime.d.ts +1 -1
  309. package/dist/services/raid-v2/runtime.d.ts.map +1 -1
  310. package/dist/services/raid-v2/runtime.js +76 -34
  311. package/dist/services/raid-v2/tags.d.ts +8 -8
  312. package/dist/services/raid-v2/tags.d.ts.map +1 -1
  313. package/dist/services/raid-v2/tags.js +42 -9
  314. package/dist/services/record-hooks/coordinator.d.ts +11 -0
  315. package/dist/services/record-hooks/coordinator.d.ts.map +1 -1
  316. package/dist/services/record-hooks/coordinator.js +70 -6
  317. package/dist/storage/GridFSDriver.d.ts +16 -9
  318. package/dist/storage/GridFSDriver.d.ts.map +1 -1
  319. package/dist/storage/GridFSDriver.js +87 -33
  320. package/dist/storage/TusStorageManagerDataStore.d.ts +11 -1
  321. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -1
  322. package/dist/storage/TusStorageManagerDataStore.js +190 -56
  323. package/dist/utilities/HarvestHistoryRetention.d.ts +17 -0
  324. package/dist/utilities/HarvestHistoryRetention.d.ts.map +1 -0
  325. package/dist/utilities/HarvestHistoryRetention.js +141 -0
  326. package/dist/utilities/HarvestRunIndexes.d.ts +12 -0
  327. package/dist/utilities/HarvestRunIndexes.d.ts.map +1 -0
  328. package/dist/utilities/HarvestRunIndexes.js +84 -0
  329. package/dist/utilities/PinoLoggerUtils.d.ts +9 -0
  330. package/dist/utilities/PinoLoggerUtils.d.ts.map +1 -0
  331. package/dist/utilities/PinoLoggerUtils.js +17 -0
  332. package/dist/utilities/RequestChronicle.d.ts +221 -0
  333. package/dist/utilities/RequestChronicle.d.ts.map +1 -0
  334. package/dist/utilities/RequestChronicle.js +770 -0
  335. package/dist/utilities/RequestChronicleContext.d.ts +6 -0
  336. package/dist/utilities/RequestChronicleContext.d.ts.map +1 -0
  337. package/dist/utilities/RequestChronicleContext.js +19 -0
  338. package/dist/utilities/RequestChronicleSettings.d.ts +29 -0
  339. package/dist/utilities/RequestChronicleSettings.d.ts.map +1 -0
  340. package/dist/utilities/RequestChronicleSettings.js +31 -0
  341. package/dist/utilities/TransactionUtils.d.ts +2 -1
  342. package/dist/utilities/TransactionUtils.d.ts.map +1 -1
  343. package/dist/utilities/TransactionUtils.js +1 -1
  344. package/dist/utilities/TranslationHtml.d.ts.map +1 -1
  345. package/dist/utilities/TranslationHtml.js +13 -5
  346. package/dist/utilities/VocabularyAdminAccess.d.ts +10 -0
  347. package/dist/utilities/VocabularyAdminAccess.d.ts.map +1 -0
  348. package/dist/utilities/VocabularyAdminAccess.js +42 -0
  349. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  350. package/dist/visitor/construct.visitor.js +7 -2
  351. package/dist/visitor/context-variables.visitor.d.ts +1 -2
  352. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  353. package/dist/visitor/context-variables.visitor.js +1 -1
  354. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  355. package/dist/visitor/migrate-config-v4-v5.visitor.js +5 -1
  356. package/dist/visitor/related-object-data-inline.visitor.d.ts +1 -1
  357. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -1
  358. package/dist/visitor/related-object-data-inline.visitor.js +57 -23
  359. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  360. package/dist/visitor/validator.visitor.js +4 -2
  361. package/dist/visitor/visitor-helpers.js +3 -3
  362. package/dist/visitor/vocab-inline.visitor.d.ts +1 -2
  363. package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
  364. package/dist/visitor/vocab-inline.visitor.js +1 -1
  365. package/dist/waterline-models/ExportJob.d.ts +38 -0
  366. package/dist/waterline-models/ExportJob.d.ts.map +1 -0
  367. package/dist/waterline-models/ExportJob.js +148 -0
  368. package/dist/waterline-models/HarvestRecordEvent.d.ts.map +1 -1
  369. package/dist/waterline-models/HarvestRecordEvent.js +3 -9
  370. package/dist/waterline-models/HarvestRun.d.ts +5 -1
  371. package/dist/waterline-models/HarvestRun.d.ts.map +1 -1
  372. package/dist/waterline-models/HarvestRun.js +13 -7
  373. package/dist/waterline-models/HarvestRunChunk.d.ts.map +1 -1
  374. package/dist/waterline-models/HarvestRunChunk.js +3 -7
  375. package/dist/waterline-models/User.d.ts +2 -2
  376. package/dist/waterline-models/User.d.ts.map +1 -1
  377. package/dist/waterline-models/User.js +3 -3
  378. package/dist/waterline-models/index.d.ts +2 -0
  379. package/dist/waterline-models/index.d.ts.map +1 -1
  380. package/dist/waterline-models/index.js +4 -1
  381. package/logfmt-transport.cjs +59 -0
  382. package/package.json +76 -45
  383. package/dist/Logger.d.ts +0 -16
  384. package/dist/Logger.d.ts.map +0 -1
  385. package/dist/Logger.js +0 -3
@@ -16,6 +16,11 @@ export declare namespace Services {
16
16
  * compile-time while preserving type-safety for callers.
17
17
  */
18
18
  interface IDisk {
19
+ /** Optional cleanup-only discovery; unfinished uploads are not readable disk objects. */
20
+ listIncompleteUploads?(prefix: string): Promise<{
21
+ key: string;
22
+ lastModified: Date;
23
+ }[]>;
19
24
  exists(key: string): Promise<boolean>;
20
25
  get(key: string): Promise<string>;
21
26
  getStream(key: string): Promise<import('node:stream').Readable>;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageManagerService.d.ts","sourceRoot":"","sources":["../../src/services/StorageManagerService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageManagerService.d.ts","sourceRoot":"","sources":["../../src/services/StorageManagerService.ts"],"names":[],"mappings":"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"}
@@ -164,6 +164,9 @@ var Services;
164
164
  const driver = this.createDriver(name, diskConf);
165
165
  if (this._DiskConstructor) {
166
166
  const disk = new this._DiskConstructor(driver);
167
+ if (driver instanceof GridFSDriver_1.GridFSDriver) {
168
+ disk.listIncompleteUploads = driver.listIncompleteUploads.bind(driver);
169
+ }
167
170
  disks.set(name, disk);
168
171
  }
169
172
  else {
@@ -314,4 +317,4 @@ var Services;
314
317
  }
315
318
  Services.StorageManager = StorageManager;
316
319
  })(Services || (exports.Services = Services = {}));
317
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1N0b3JhZ2VNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBc0Q7QUFDdEQsNkRBQXVJO0FBQ3ZJLDBEQUF1RDtBQUV2RDs7Ozs7Ozs7R0FRRztBQUNILElBQWlCLFFBQVEsQ0ErV3hCO0FBL1dELFdBQWlCLFFBQVE7SUFVdkIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FB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
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1N0b3JhZ2VNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBc0Q7QUFDdEQsNkRBQXVJO0FBQ3ZJLDBEQUF1RDtBQUV2RDs7Ozs7Ozs7R0FRRztBQUNILElBQWlCLFFBQVEsQ0FvWHhCO0FBcFhELFdBQWlCLFFBQVE7SUFVdkIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerService.d.ts","sourceRoot":"","sources":["../../src/services/TriggerService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;AAI5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAMtD,yBAAiB,QAAQ,CAAC;IACxB,KAAK,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,KAAK,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQjG;;;;;OAKG;IAEH,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAChD;;;;;;;;WAQG;QACI,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QA6B3F;;;;;;;;;;;;;WAaG;QACI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ;QAoCxF,0BAA0B,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,QAAQ;QAyBhB,OAAO,CAAC,yBAAyB;QASpB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QA2GtG;;;;;;;;;;;;;;;WAeG;QACU,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QA4E7F,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAmJ5F,2BAA2B,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,UAAU,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,QAAQ;KAqIjB;;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC;CACtC"}
1
+ {"version":3,"file":"TriggerService.d.ts","sourceRoot":"","sources":["../../src/services/TriggerService.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,UAAU,EAAY,MAAM,MAAM,CAAC;AAI5C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAMtD,yBAAiB,QAAQ,CAAC;IACxB,KAAK,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,KAAK,QAAQ,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQjG;;;;;OAKG;IAEH,MAAM,OAAO,OAAQ,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAChD;;;;;;;;WAQG;QACI,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QA8B3F;;;;;;;;;;;;;WAaG;QACI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ;QAkCxF,0BAA0B,CACrC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,QAAQ;QAuBhB,OAAO,CAAC,yBAAyB;QASpB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAoHtG;;;;;;;;;;;;;;;WAeG;QACU,2BAA2B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAwE7F,0BAA0B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAuI5F,2BAA2B,CACtC,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,UAAU,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,IAAI,EAAE,QAAQ;KA0JjB;;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC;CACtC"}
@@ -60,11 +60,10 @@ var Services;
60
60
  variables['imports'] = record;
61
61
  const compiled = _.template(triggerCondition, variables);
62
62
  const compileResult = compiled();
63
- sails.log.verbose(`Trigger condition for ${oid} ==> "${triggerCondition}", has result: '${compileResult}'`);
63
+ this.updateChronicle({ triggerRecordOid: oid, triggerTransitionConditionMet: compileResult === 'true' });
64
64
  if (_.isEqual(compileResult, 'true')) {
65
65
  const workflowStageTarget = _.get(options, 'targetWorkflowStageName', _.get(record, 'workflow.stage'));
66
66
  const workflowStageLabel = _.get(options, 'targetWorkflowStageLabel', _.get(record, 'workflow.stageLabel'));
67
- sails.log.verbose(`Trigger condition met for ${oid}, transitioning to: ${workflowStageTarget}`);
68
67
  _.set(record, 'workflow.stage', workflowStageTarget);
69
68
  _.set(record, 'workflow.stageLabel', workflowStageLabel);
70
69
  // we need to update the form too!!!!
@@ -87,9 +86,8 @@ var Services;
87
86
  * @return
88
87
  */
89
88
  runHooksSync(oid, record, options, user) {
90
- sails.log.debug(`runHooksSync, starting...`);
91
- sails.log.debug(JSON.stringify(options));
92
- const hookFnArray = _.get(options, 'hooks', []);
89
+ const hookFnArray = (_.get(options, 'hooks', []) ?? []);
90
+ this.updateChronicle({ triggerRecordOid: oid, triggerHookCount: hookFnArray.length });
93
91
  const hookFnDefArray = [];
94
92
  _.each(hookFnArray, hookFnDef => {
95
93
  const hookFnStr = _.get(hookFnDef, 'function', null);
@@ -97,27 +95,26 @@ var Services;
97
95
  const hookFn = eval(hookFnStr);
98
96
  const hookOpt = _.get(hookFnDef, 'options');
99
97
  if (_.isFunction(hookFn)) {
100
- sails.log.debug(`runHooksSync, adding: ${hookFnStr}`);
101
98
  hookFnDefArray.push({ hookFn: hookFn, hookOpt: hookOpt });
102
99
  }
103
100
  else {
104
- sails.log.error(`runHooksSync, this is not a valid function: ${hookFnStr}`);
105
- sails.log.error(hookFnDef);
101
+ this.updateChronicle({ triggerHookOutcome: 'invalid-function' }, [
102
+ new Error('Invalid synchronous record hook.'),
103
+ ]);
106
104
  }
107
105
  }
108
106
  else {
109
- sails.log.error(`runHooksSync, expected a string function name, got: ${hookFnStr}`);
110
- sails.log.error(hookFnDef);
107
+ this.updateChronicle({ triggerHookOutcome: 'missing-function' }, [
108
+ new Error('Missing synchronous record hook name.'),
109
+ ]);
111
110
  }
112
111
  });
113
112
  if (!_.isEmpty(hookFnDefArray)) {
114
- sails.log.debug(`runHooksSync, running..`);
115
113
  return (0, rxjs_1.from)(hookFnDefArray).pipe((0, operators_1.concatMap)(hookDef => {
116
114
  return hookDef.hookFn(oid, record, hookDef.hookOpt ?? {}, user);
117
115
  }), (0, operators_1.last)());
118
116
  }
119
117
  else {
120
- sails.log.debug(`runHooksSync, no observables to run`);
121
118
  return (0, rxjs_1.of)(record);
122
119
  }
123
120
  }
@@ -130,13 +127,10 @@ var Services;
130
127
  if (user.username != userWithPermissionToEdit && !this.userHasRoleEditPermission(user, roleEditPermission)) {
131
128
  const previousRecord = await RecordsService.getMeta(oid);
132
129
  for (const fieldDBName of fieldDBNames) {
133
- const data = _.get(record, fieldDBName);
134
- sails.log.debug(`field name ${fieldDBName} value is ${data}`);
135
130
  const previousData = _.get(previousRecord, fieldDBName);
136
- sails.log.debug(`previous field name ${fieldDBName} value is ${previousData}`);
137
131
  if (previousData != null && String(previousData).trim() != '') {
138
132
  _.set(record, fieldDBName, previousData);
139
- sails.log.info(`Setting field name ${fieldDBName} of record with OID ${oid} to ${previousData}`);
133
+ this.updateChronicle({ triggerRecordOid: oid, triggerRestoredField: fieldDBName });
140
134
  }
141
135
  }
142
136
  }
@@ -184,7 +178,21 @@ var Services;
184
178
  }
185
179
  return new RBValidationError_1.RBValidationError({
186
180
  message: `Failed validating field using regex record ${record} options ${options}`,
187
- displayErrors: [{ detail: displayErrorDetail, meta: displayErrorMeta }],
181
+ problemKind: 'validation',
182
+ displayErrors: [
183
+ {
184
+ code: 'field-validation',
185
+ title: errorLanguageCode.startsWith('@') ? errorLanguageCode : '@record-save-record-validation-failed',
186
+ detail: displayErrorDetail,
187
+ source: {
188
+ pointer: '/' +
189
+ _.toPath(fieldDBName)
190
+ .map(part => part.replace(/~/g, '~0').replace(/\//g, '~1'))
191
+ .join('/'),
192
+ },
193
+ meta: displayErrorMeta,
194
+ },
195
+ ],
188
196
  });
189
197
  };
190
198
  const hasValue = function (data) {
@@ -216,7 +224,6 @@ var Services;
216
224
  throw getError();
217
225
  }
218
226
  if (!hasValue(data) && allowNulls) {
219
- sails.log.debug('validateFieldUsingRegex', 'data value is null and value is allowed to be null', record, options);
220
227
  return record;
221
228
  }
222
229
  if (!_.isArray(data) && arrayObjFieldDBName) {
@@ -238,7 +245,6 @@ var Services;
238
245
  throw getError();
239
246
  }
240
247
  }
241
- sails.log.debug('validateFieldUsingRegex', 'data value passed check', record, options);
242
248
  return record;
243
249
  }
244
250
  /**
@@ -258,9 +264,7 @@ var Services;
258
264
  * @returns
259
265
  */
260
266
  async validateFieldsUsingTemplate(oid, record, options) {
261
- sails.log.verbose('validateFieldsUsingTemplate - enter');
262
267
  if (this.metTriggerCondition(oid, record, options) === 'true') {
263
- sails.log.verbose('validateFieldsUsingTemplate - metTriggerCondition');
264
268
  const getErrorMessage = function (errorLanguageCode) {
265
269
  const baseErrorMessage = TranslationService.t(errorLanguageCode);
266
270
  return baseErrorMessage;
@@ -302,20 +306,18 @@ var Services;
302
306
  altErrorMessage: altErrorMessage,
303
307
  errorFieldList: errorFieldList,
304
308
  };
309
+ this.updateChronicle({ triggerRecordOid: oid, triggerValidationFailureCount: errorMap.errorFieldList.length });
305
310
  if (!_.isEmpty(errorMap.errorFieldList)) {
306
311
  throw new RBValidationError_1.RBValidationError({
307
312
  message: `Field validation using template failed: errorMap ${JSON.stringify(errorMap)}`,
308
313
  displayErrors: [{ title: 'Validation failed', meta: errorMap }],
309
314
  });
310
315
  }
311
- sails.log.debug('validateFieldsUsingTemplate data value passed check');
312
316
  }
313
317
  return record;
314
318
  }
315
319
  async validateFieldMapUsingRegex(oid, record, options) {
316
- sails.log.verbose('validateFieldMapUsingRegex - enter');
317
320
  if (this.metTriggerCondition(oid, record, options) === 'true') {
318
- sails.log.verbose('validateFieldMapUsingRegex - metTriggerCondition');
319
321
  // re-usable functions
320
322
  const textRegex = function (value, regexPattern, caseSensitive) {
321
323
  if (regexPattern == '') {
@@ -332,7 +334,6 @@ var Services;
332
334
  };
333
335
  const getError = function (errorLanguageCode) {
334
336
  const baseErrorMessage = TranslationService.t(errorLanguageCode);
335
- sails.log.error('validateFieldMapUsingRegex ' + baseErrorMessage);
336
337
  return baseErrorMessage;
337
338
  };
338
339
  const hasValue = function (data) {
@@ -345,7 +346,6 @@ var Services;
345
346
  }
346
347
  else if (fieldName != '') {
347
348
  value = _.get(element, fieldName);
348
- sails.log.debug('validateFieldMapUsingRegex evaluate fieldName ' + fieldName + ' value ' + value);
349
349
  }
350
350
  if (trim) {
351
351
  value = _.trim(value);
@@ -370,7 +370,6 @@ var Services;
370
370
  altErrorMessage: altErrorMessage,
371
371
  errorFieldList: [],
372
372
  };
373
- sails.log.debug('validateFieldMapUsingRegex fieldObjectList ' + JSON.stringify(fieldObjectList));
374
373
  for (const field of fieldObjectList) {
375
374
  const fieldName = String(_.get(field, 'name', ''));
376
375
  const fieldLabel = String(_.get(field, 'label', ''));
@@ -379,12 +378,9 @@ var Services;
379
378
  const data = _.get(record, 'metadata.' + fieldName);
380
379
  // caseSensitive default is true - is only false when set to bool false or string 'false'
381
380
  const caseSensitive = String(_.get(field, 'caseSensitive', true)) !== 'false';
382
- sails.log.debug('validateFieldMapUsingRegex field.allowNulls ' + _.get(field, 'allowNulls'));
383
381
  const allowNulls = String(_.get(field, 'allowNulls', true)) !== 'false';
384
- sails.log.debug('validateFieldMapUsingRegex allowNulls ' + allowNulls);
385
382
  const trim = Boolean(_.get(field, 'trim', true));
386
383
  const regexPattern = String(_.get(field, 'regexPattern', ''));
387
- sails.log.debug('validateFieldMapUsingRegex ' + fieldName + ' data ' + JSON.stringify(data));
388
384
  // early checks
389
385
  if (!hasValue(data) && !allowNulls) {
390
386
  const errorField = {};
@@ -395,7 +391,6 @@ var Services;
395
391
  _.set(errorField, 'error', error);
396
392
  }
397
393
  errorMap.errorFieldList.push(errorField);
398
- sails.log.debug('validateFieldMapUsingRegex !hasValue(data) && !allowNulls');
399
394
  continue;
400
395
  }
401
396
  // evaluate the record field against the regex
@@ -403,7 +398,6 @@ var Services;
403
398
  for (const row of data) {
404
399
  const innerFieldName = String(_.get(field, 'arrayObjFieldDBName', ''));
405
400
  if (!evaluate(row, innerFieldName, trim, allowNulls, regexPattern, caseSensitive)) {
406
- sails.log.debug('validateFieldMapUsingRegex evaluate arrayObjFieldDBName ' + fieldName);
407
401
  const errorField = {};
408
402
  _.set(errorField, 'name', fieldName);
409
403
  _.set(errorField, 'label', getError(fieldLabel));
@@ -417,7 +411,6 @@ var Services;
417
411
  }
418
412
  else {
419
413
  if (!evaluate(data, '', trim, allowNulls, regexPattern, caseSensitive)) {
420
- sails.log.debug('validateFieldMapUsingRegex evaluate field.name ' + fieldName);
421
414
  const errorField = {};
422
415
  _.set(errorField, 'name', fieldName);
423
416
  _.set(errorField, 'label', getError(fieldLabel));
@@ -429,23 +422,20 @@ var Services;
429
422
  }
430
423
  }
431
424
  }
432
- sails.log.debug('validateFieldMapUsingRegex errorMap ' + JSON.stringify(errorMap));
425
+ this.updateChronicle({ triggerRecordOid: oid, triggerValidationFailureCount: errorMap.errorFieldList.length });
433
426
  if (!_.isEmpty(errorMap.errorFieldList)) {
434
427
  throw new RBValidationError_1.RBValidationError({
435
428
  message: `Field map validation using regex failed: errorMap ${JSON.stringify(errorMap)}`,
436
429
  displayErrors: [{ title: 'Validation failed', meta: errorMap }],
437
430
  });
438
431
  }
439
- sails.log.debug('validateFieldMapUsingRegex data value passed check');
440
432
  }
441
433
  return record;
442
434
  }
443
435
  async runTemplatesOnRelatedRecord(relatedOid, relatedRecord, options, user) {
444
436
  if (this.metTriggerCondition(relatedOid, relatedRecord, options) === 'true') {
445
- sails.log.verbose('runTemplatesOnRelatedRecord - metTriggerCondition');
446
- const templates = _.get(options, 'templates', []);
447
- sails.log.verbose(`runTemplatesOnRelatedRecord config: ${JSON.stringify(templates)}`);
448
- sails.log.verbose(`runTemplatesOnRelatedRecord to oid: ${relatedOid} with user: ${JSON.stringify(user)}`);
437
+ const templates = (_.get(options, 'templates', []) ?? []);
438
+ this.updateChronicle({ triggerRelatedRecordOid: relatedOid, triggerTemplateCount: templates.length });
449
439
  const pathToRelatedOid = String(_.get(options, 'pathToRelatedOid', ''));
450
440
  const innerPathToRelatedOid = String(_.get(options, 'innerPathToRelatedOid', ''));
451
441
  const runPreSaveTriggers = Boolean(_.get(options, 'runPreSaveTriggers', false));
@@ -476,15 +466,16 @@ var Services;
476
466
  }
477
467
  if (!_.isEmpty(oidList)) {
478
468
  for (const oid of oidList) {
479
- sails.log.verbose(`runTemplatesOnRelatedRecord trying to find related record with oid: ${oid}`);
480
- let tmplConfig = null;
469
+ let templateIndex;
470
+ let phase = 'lookup';
471
+ let saveOutcome;
481
472
  try {
482
473
  record = await RecordsService.getMeta(oid);
483
474
  if (_.isObject(record)) {
484
- sails.log.verbose(`runTemplatesOnRelatedRecord related record found and will run templates...`);
485
475
  const previousMetadata = _.cloneDeep(_.get(record, 'metadata', {}));
486
- _.each(templates, (templateConfig) => {
487
- tmplConfig = templateConfig;
476
+ phase = 'template';
477
+ _.each(templates, (templateConfig, index) => {
478
+ templateIndex = index;
488
479
  const imports = _.extend({
489
480
  moment: momentShim_1.momentShim,
490
481
  numeral: numeral_1.default,
@@ -519,6 +510,8 @@ var Services;
519
510
  _.set(record, fieldPath, data);
520
511
  }
521
512
  });
513
+ templateIndex = undefined;
514
+ phase = 'brand';
522
515
  const brandId = _.get(record, 'metaMetadata.brandId', '');
523
516
  if (_.isEmpty(brandId)) {
524
517
  throw new RBValidationError_1.RBValidationError({
@@ -527,7 +520,7 @@ var Services;
527
520
  });
528
521
  }
529
522
  const brand = BrandingService.getBrandById(brandId);
530
- sails.log.verbose(`runTemplatesOnRelatedRecord Brand: ${JSON.stringify(brand)}`);
523
+ phase = 'save';
531
524
  const response = await RecordsService.updateMetaInternal({
532
525
  actor: { kind: 'service', id: 'TriggerService.runTemplatesOnRelatedRecord' },
533
526
  authorization: { kind: 'service' },
@@ -541,30 +534,45 @@ var Services;
541
534
  metadata: (0, RecordsService_1.createRecordMetadataDelta)(previousMetadata, _.get(record, 'metadata', {})),
542
535
  metadataMode: 'pre-applied',
543
536
  });
537
+ saveOutcome = response.outcome;
544
538
  if (!response.wasPersisted()) {
545
- throw new Error(String(response.message ?? response.outcome));
539
+ throw new Error('Related record was not persisted');
546
540
  }
547
541
  if (response.outcome === 'saved-with-warnings') {
548
- sails.log.warn(`Related-record template persisted with warnings for ${oid}`, {
549
- requestId: response.requestId,
550
- });
542
+ this.updateChronicle({
543
+ triggerRelatedRecordOid: oid,
544
+ triggerTemplateOutcome: 'saved-with-warnings',
545
+ triggerSaveRequestId: response.requestId,
546
+ }, [], 'warn');
551
547
  }
552
548
  }
553
549
  else {
554
- sails.log.verbose(`runTemplatesOnRelatedRecord did't find related record using oid: ${oid} - object retrived is: ${JSON.stringify(record)}`);
550
+ this.updateChronicle({ triggerTemplateOutcome: 'record-missing' });
555
551
  }
556
552
  }
557
- catch (e) {
558
- throw new RBValidationError_1.RBValidationError({
559
- message: `Failed to run one of the string templates for oid ${oid} relatedOid ${relatedOid}: ${JSON.stringify(tmplConfig)}`,
560
- options: { cause: e },
553
+ catch (cause) {
554
+ // Template source and exception excerpts can contain private record or user values.
555
+ const error = new RBValidationError_1.RBValidationError({
556
+ message: phase === 'template'
557
+ ? `Failed to run one of the string templates for oid ${oid} relatedOid ${relatedOid}`
558
+ : `Failed to process related record for oid ${oid} relatedOid ${relatedOid} during ${phase}`,
561
559
  displayErrors: [{ title: 'Processing failed', meta: { oid: oid, relatedOid: relatedOid } }],
562
560
  });
561
+ this.updateChronicle({
562
+ triggerRelatedRecordOid: oid,
563
+ triggerTemplateSourceOid: relatedOid,
564
+ triggerTemplateOutcome: 'failed',
565
+ triggerTemplatePhase: phase,
566
+ triggerTemplateIndex: templateIndex,
567
+ triggerTemplateErrorType: cause instanceof Error ? cause.constructor.name : typeof cause,
568
+ triggerTemplateSaveOutcome: saveOutcome,
569
+ }, [error]);
570
+ throw error;
563
571
  }
564
572
  }
565
573
  }
566
574
  else {
567
- sails.log.verbose(`runTemplatesOnRelatedRecord did't find related oid list: ${JSON.stringify(oidList)} - in specified path: ${pathToRelatedOid} - and inner path ${innerPathToRelatedOid}`);
575
+ this.updateChronicle({ triggerTemplateOutcome: 'no-related-records' });
568
576
  }
569
577
  }
570
578
  return relatedRecord;
@@ -575,4 +583,4 @@ var Services;
575
583
  ], Trigger);
576
584
  Services.Trigger = Trigger;
577
585
  })(Services || (exports.Services = Services = {}));
578
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJpZ2dlclNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvVHJpZ2dlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7Ozs7Ozs7QUFFOUQsK0JBQTRDO0FBQzVDLDhDQUFpRDtBQUNqRCxrRUFBK0Q7QUFHL0QsZ0RBQXNEO0FBQ3RELHNHQUF5RjtBQUN6RixvREFBMkQ7QUFDM0Qsc0RBQThCO0FBQzlCLHNEQUE4RDtBQUU5RCxJQUFpQixRQUFRLENBb25CeEI7QUFwbkJELFdBQWlCLFFBQVE7SUFVdkI7Ozs7O09BS0c7SUFFSCxJQUFhLE9BQU8sR0FBcEIsTUFBYSxPQUFRLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUNoRDs7Ozs7Ozs7V0FRRztRQUNJLGtCQUFrQixDQUFDLEdBQVcsRUFBRSxNQUFrQixFQUFFLE9BQWdDO1lBQ3pGLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFeEUsTUFBTSxTQUFTLEdBQTRCLEVBQUUsQ0FBQztZQUM5QyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDekQsTUFBTSxhQUFh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
586
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJpZ2dlclNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvVHJpZ2dlclNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBGQUEwRjtBQUMxRixFQUFFO0FBQ0YsNkJBQTZCO0FBQzdCLDBCQUEwQjtBQUMxQixFQUFFO0FBQ0YsdUVBQXVFO0FBQ3ZFLHVFQUF1RTtBQUN2RSxvRUFBb0U7QUFDcEUsc0NBQXNDO0FBQ3RDLEVBQUU7QUFDRixrRUFBa0U7QUFDbEUsaUVBQWlFO0FBQ2pFLGdFQUFnRTtBQUNoRSwrQ0FBK0M7QUFDL0MsRUFBRTtBQUNGLDBFQUEwRTtBQUMxRSwwRUFBMEU7QUFDMUUsOERBQThEOzs7Ozs7Ozs7Ozs7QUFFOUQsK0JBQTRDO0FBQzVDLDhDQUFpRDtBQUNqRCxrRUFBK0Q7QUFHL0QsZ0RBQXNEO0FBQ3RELHNHQUF5RjtBQUN6RixvREFBMkQ7QUFDM0Qsc0RBQThCO0FBQzlCLHNEQUE4RDtBQUU5RCxJQUFpQixRQUFRLENBK25CeEI7QUEvbkJELFdBQWlCLFFBQVE7SUFVdkI7Ozs7O09BS0c7SUFFSCxJQUFhLE9BQU8sR0FBcEIsTUFBYSxPQUFRLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUNoRDs7Ozs7Ozs7V0FRRztRQUNJLGtCQUFrQixDQUFDLEdBQVcsRUFBRSxNQUFrQixFQUFFLE9BQWdDO1lBQ3pGLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFeEUsTUFBTSxTQUFTLEdBQTRCLEVBQUUsQ0FBQztZQUM5QyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsTUFBTSxDQUFDO1lBQzlCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDekQsTUFBTSxhQUFh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
@@ -93,7 +93,19 @@ export declare namespace Services {
93
93
  private checkAllTriggersSuccessOrFailure;
94
94
  private triggerPreSaveTriggers;
95
95
  triggerPostSaveSyncTriggers(user: AnyRecord, config: AnyRecord, mode?: string, response?: unknown): Promise<unknown>;
96
- triggerPostSaveTriggers(user: AnyRecord, config: AnyRecord, mode?: string): void;
96
+ /**
97
+ * Run configured user post-save hooks concurrently and return their outcomes in
98
+ * configuration order. Failures are logged and returned as rejected entries;
99
+ * they do not reject the aggregate promise or prevent other hooks from running.
100
+ * Entries without a function are skipped. Observables settle on completion,
101
+ * yielding their last value (undefined for an empty Observable).
102
+ * Each hook has an absolute deadline (postHookTimeoutMs, default 30000ms).
103
+ * Timeout is a rejected outcome; Observable subscriptions are disposed.
104
+ * Unlike postSync hooks, these hooks do not form a sequential response chain.
105
+ */
106
+ triggerPostSaveTriggers(user: AnyRecord, config: AnyRecord, mode?: string): Promise<PromiseSettledResult<unknown>[]>;
107
+ private runLoginPostSaveTriggers;
108
+ private resolvePostHookResponse;
97
109
  private resolveHookResponse;
98
110
  protected aafAuthInit: () => void;
99
111
  protected openIdConnectAuth: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"UsersService.d.ts","sourceRoot":"","sources":["../../src/services/UsersService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UsersService.d.ts","sourceRoot":"","sources":["../../src/services/UsersService.ts"],"names":[],"mappings":"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"}