@researchdatabox/redbox-core 5.1.0-beta.12573 → 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
@@ -20,8 +20,12 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.Controllers = void 0;
22
22
  const promises_1 = require("node:stream/promises");
23
+ const node_stream_1 = require("node:stream");
24
+ const model_1 = require("../model");
23
25
  const CoreController_1 = require("../CoreController");
24
26
  const export_1 = require("../constants/export");
27
+ const ExportService_1 = require("../services/ExportService");
28
+ const RequestParamUtils_1 = require("../utilities/RequestParamUtils");
25
29
  var Controllers;
26
30
  (function (Controllers) {
27
31
  /**
@@ -35,7 +39,12 @@ var Controllers;
35
39
  */
36
40
  _exportedMethods = [
37
41
  'index',
38
- 'downloadRecs'
42
+ 'downloadRecs',
43
+ 'createJob',
44
+ 'listJobs',
45
+ 'getJob',
46
+ 'deleteJob',
47
+ 'downloadJob',
39
48
  ];
40
49
  /**
41
50
  * *************************************************************************************************
@@ -45,6 +54,148 @@ var Controllers;
45
54
  index(req, res) {
46
55
  return this.sendView(req, res, 'export/index');
47
56
  }
57
+ async createJob(req, res) {
58
+ try {
59
+ const context = this.getExportContext(req);
60
+ const input = this.getJobRequest(req.body);
61
+ const filename = `${TranslationService.t(`${input.recType}-title`)} - Exported Records.csv`;
62
+ const job = await ExportService.createJob(context, input, filename);
63
+ const location = `${req.originalUrl.split('?')[0].replace(/\/$/, '')}/${encodeURIComponent(job.id)}`;
64
+ return this.sendResp(req, res, {
65
+ status: 202,
66
+ data: job,
67
+ headers: { ...this.getExportHeaders(), Location: location },
68
+ });
69
+ }
70
+ catch (error) {
71
+ return this.sendExportError(req, res, error);
72
+ }
73
+ }
74
+ async listJobs(req, res) {
75
+ try {
76
+ const jobs = await ExportService.listJobs(this.getExportContext(req));
77
+ return this.sendResp(req, res, { data: jobs, headers: this.getExportHeaders() });
78
+ }
79
+ catch (error) {
80
+ return this.sendExportError(req, res, error);
81
+ }
82
+ }
83
+ async getJob(req, res) {
84
+ try {
85
+ const job = await ExportService.getJob(this.getExportContext(req), (0, RequestParamUtils_1.getRouteParam)(req, 'id'));
86
+ return this.sendResp(req, res, { data: job, headers: this.getExportHeaders() });
87
+ }
88
+ catch (error) {
89
+ return this.sendExportError(req, res, error);
90
+ }
91
+ }
92
+ async deleteJob(req, res) {
93
+ try {
94
+ await ExportService.deleteJob(this.getExportContext(req), (0, RequestParamUtils_1.getRouteParam)(req, 'id'));
95
+ return this.sendResp(req, res, { status: 204, headers: this.getExportHeaders() });
96
+ }
97
+ catch (error) {
98
+ return this.sendExportError(req, res, error);
99
+ }
100
+ }
101
+ async downloadJob(req, res) {
102
+ let stream;
103
+ const closeStream = () => stream?.destroy();
104
+ try {
105
+ const artifact = await ExportService.openDownload(this.getExportContext(req), (0, RequestParamUtils_1.getRouteParam)(req, 'id'));
106
+ stream = artifact.stream;
107
+ res.once('close', closeStream);
108
+ if (res.destroyed) {
109
+ stream.destroy();
110
+ return res;
111
+ }
112
+ // Read failures before the first byte must still return a normal API error response.
113
+ // Once pipeline owns the response, any source failure destroys its HTTP connection.
114
+ const chunks = stream[Symbol.asyncIterator]();
115
+ const firstChunk = await chunks.next();
116
+ const source = node_stream_1.Readable.from((async function* () {
117
+ try {
118
+ if (!firstChunk.done)
119
+ yield firstChunk.value;
120
+ for await (const chunk of chunks)
121
+ yield chunk;
122
+ }
123
+ finally {
124
+ await chunks.return?.();
125
+ }
126
+ })());
127
+ res.set(this.getExportHeaders());
128
+ res.attachment(artifact.filename);
129
+ res.set('Content-Type', export_1.EXPORT_CONTENT_TYPES.csv);
130
+ res.set('Content-Length', String(artifact.byteLength));
131
+ await (0, promises_1.pipeline)(source, res);
132
+ return res;
133
+ }
134
+ catch (error) {
135
+ stream?.destroy();
136
+ // pipeline destroys the response on a stream failure; it cannot accept a JSON error body.
137
+ if (res.headersSent || res.destroyed) {
138
+ this.updateChronicle(req, { exportDownloadFailed: true }, [error]);
139
+ if (!res.destroyed)
140
+ res.destroy();
141
+ return res;
142
+ }
143
+ res.removeHeader('Content-Disposition');
144
+ res.removeHeader('Content-Length');
145
+ res.removeHeader('Content-Type');
146
+ return this.sendExportError(req, res, error);
147
+ }
148
+ finally {
149
+ res.off('close', closeStream);
150
+ }
151
+ }
152
+ getExportContext(req) {
153
+ if (!req.user || typeof req.user.id !== 'string' || typeof req.user.username !== 'string') {
154
+ throw new ExportService_1.ExportServiceError(401, 'export-authentication-required', 'Sign in to prepare or download exports.');
155
+ }
156
+ const brand = BrandingService.getBrand((0, RequestParamUtils_1.getRouteParam)(req, 'branding', req.session.branding ?? ''));
157
+ const portal = (0, RequestParamUtils_1.getRouteParam)(req, 'portal', req.session.portal ?? '');
158
+ if (!brand || !portal) {
159
+ throw new ExportService_1.ExportServiceError(404, 'export-not-found', 'Export not found.');
160
+ }
161
+ return { brand, portal, user: Object.assign(new model_1.UserModel(), req.user) };
162
+ }
163
+ getJobRequest(body) {
164
+ if (body === null ||
165
+ typeof body !== 'object' ||
166
+ Array.isArray(body) ||
167
+ !('format' in body) ||
168
+ body.format !== 'csv' ||
169
+ !('recType' in body) ||
170
+ typeof body.recType !== 'string' ||
171
+ ('before' in body && body.before !== undefined && typeof body.before !== 'string') ||
172
+ ('after' in body && body.after !== undefined && typeof body.after !== 'string')) {
173
+ throw new ExportService_1.ExportServiceError(400, 'export-invalid-request', 'Select a record type, CSV format, and valid date bounds.');
174
+ }
175
+ return {
176
+ format: 'csv',
177
+ recType: body.recType,
178
+ ...('before' in body && typeof body.before === 'string' ? { before: body.before } : {}),
179
+ ...('after' in body && typeof body.after === 'string' ? { after: body.after } : {}),
180
+ };
181
+ }
182
+ getExportHeaders() {
183
+ return { 'Cache-Control': 'private, no-store', Pragma: 'no-cache', Expires: '0' };
184
+ }
185
+ sendExportError(req, res, error) {
186
+ const known = error instanceof ExportService_1.ExportServiceError;
187
+ this.updateChronicle(req, { exportRequestFailed: true }, [error]);
188
+ return this.sendResp(req, res, {
189
+ status: known ? error.status : 500,
190
+ displayErrors: [
191
+ {
192
+ code: known ? error.code : 'export-request-failed',
193
+ detail: known ? error.message : 'The export request could not be completed. Please try again.',
194
+ },
195
+ ],
196
+ headers: this.getExportHeaders(),
197
+ });
198
+ }
48
199
  async downloadRecs(req, res) {
49
200
  const brand = BrandingService.getBrand(req.session.branding);
50
201
  const format = req.param('format');
@@ -55,7 +206,7 @@ var Controllers;
55
206
  if (format == 'csv' || format == 'json') {
56
207
  res.attachment(filename);
57
208
  res.set('Content-Type', export_1.EXPORT_CONTENT_TYPES[format]);
58
- sails.log.verbose("filename " + filename);
209
+ sails.log.verbose('filename ' + filename);
59
210
  await (0, promises_1.pipeline)(RecordsService.exportAllPlans(req.user.username, req.user.roles, brand, format, before, after, recType), res);
60
211
  return res;
61
212
  }
@@ -66,4 +217,4 @@ var Controllers;
66
217
  }
67
218
  Controllers.Export = Export;
68
219
  })(Controllers || (exports.Controllers = Controllers = {}));
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3J0Q29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVycy9FeHBvcnRDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7O0FBRTlELG1EQUFnRDtBQUtoRCxzREFBK0Q7QUFDL0QsZ0RBQTJEO0FBRTNELElBQWlCLFdBQVcsQ0FtRDNCO0FBbkRELFdBQWlCLFdBQVc7SUFDMUI7Ozs7T0FJRztJQUNILE1BQWEsTUFBTyxTQUFRLDRCQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFFckQ7O1dBRUc7UUFDZ0IsZ0JBQWdCLEdBQWE7WUFDNUMsT0FBTztZQUNQLGNBQWM7U0FDakIsQ0FBQztRQUVGOzs7O1dBSUc7UUFDYSxLQUFLLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDakQsQ0FBQztRQUVNLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDdEQsTUFBTSxLQUFLLEdBQWlCLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixDQUFDLENBQUM7WUFDckYsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNuQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNyRSxNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDbEUsTUFBTSxRQUFRLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLFFBQVEsQ0FBQyx1QkFBdUIsTUFBTSxFQUFFLENBQUM7WUFDNUYsSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDeEMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsNkJBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN4QyxNQUFNLElBQUEsbUJBQVEsRUFDWixjQUFjLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFLLENBQUMsS0FBNkMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLEVBQ2pKLEdBQUcsQ0FDSixDQUFDO2dCQUNGLE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQztLQU1GO0lBNUNZLGtCQUFNLFNBNENsQixDQUFBO0FBQ0gsQ0FBQyxFQW5EZ0IsV0FBVywyQkFBWCxXQUFXLFFBbUQzQiJ9
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3J0Q29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cm9sbGVycy9FeHBvcnRDb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7O0FBRTlELG1EQUFnRDtBQUNoRCw2Q0FBdUM7QUFLdkMsb0NBQW9EO0FBQ3BELHNEQUErRDtBQUMvRCxnREFBMkQ7QUFDM0QsNkRBQXFGO0FBQ3JGLHNFQUErRDtBQUUvRCxJQUFpQixXQUFXLENBb04zQjtBQXBORCxXQUFpQixXQUFXO0lBQzFCOzs7O09BSUc7SUFDSCxNQUFhLE1BQU8sU0FBUSw0QkFBVyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3JEOztXQUVHO1FBQ2dCLGdCQUFnQixHQUFhO1lBQzlDLE9BQU87WUFDUCxjQUFjO1lBQ2QsV0FBVztZQUNYLFVBQVU7WUFDVixRQUFRO1lBQ1IsV0FBVztZQUNYLGFBQWE7U0FDZCxDQUFDO1FBRUY7Ozs7V0FJRztRQUNhLEtBQUssQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNsRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNuRCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dC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
@@ -1 +1 @@
1
- {"version":3,"file":"FormVocabularyController.d.ts","sourceRoot":"","sources":["../../src/controllers/FormVocabularyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAO/D,yBAAiB,WAAW,CAAC;IAC3B,MAAa,cAAe,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAE7D,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAQ3C;QAEF,OAAO,CAAC,iBAAiB;QAOZ,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QA2CrD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QA+DzD,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QA8C1D,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAqD5D,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QA8D5D,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QA8CjE,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;KA6D9E;CACF"}
1
+ {"version":3,"file":"FormVocabularyController.d.ts","sourceRoot":"","sources":["../../src/controllers/FormVocabularyController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAO/D,yBAAiB,WAAW,CAAC;IAC3B,MAAa,cAAe,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAE7D,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAQ3C;QAEF,OAAO,CAAC,iBAAiB;QAOZ,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QA+CrD,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAsEzD,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAqD1D,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAqD5D,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAoE5D,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;QAsDjE,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;KA6D9E;CACF"}
@@ -24,11 +24,13 @@ var Controllers;
24
24
  async get(req, res) {
25
25
  const branding = String(req.param('branding') ?? '').trim();
26
26
  const vocabIdOrSlug = String(req.param('vocabIdOrSlug') ?? '').trim();
27
+ this.updateChronicle(req, { formVocabularyBranding: branding, formVocabularyId: vocabIdOrSlug });
27
28
  if (!vocabIdOrSlug) {
28
29
  return this.sendResp(req, res, {
29
30
  status: 400,
30
31
  displayErrors: [{ code: 'invalid-vocabulary-id-or-slug' }],
31
- headers: this.getNoCacheHeaders()
32
+ headers: this.getNoCacheHeaders(),
33
+ chronicle: { formVocabularyIdInvalid: true },
32
34
  });
33
35
  }
34
36
  let vocabulary;
@@ -36,19 +38,20 @@ var Controllers;
36
38
  vocabulary = await VocabularyService.getByIdOrSlug(branding, vocabIdOrSlug);
37
39
  }
38
40
  catch (error) {
39
- sails.log.verbose('Error getting vocabulary:');
40
- sails.log.verbose(error);
41
41
  return this.sendResp(req, res, {
42
42
  status: 500,
43
+ errors: [error],
43
44
  displayErrors: [{ code: 'vocabulary-service-error' }],
44
- headers: this.getNoCacheHeaders()
45
+ headers: this.getNoCacheHeaders(),
46
+ chronicle: { formVocabularyRetrieveError: true },
45
47
  });
46
48
  }
47
49
  if (!vocabulary) {
48
50
  return this.sendResp(req, res, {
49
51
  status: 404,
50
52
  displayErrors: [{ code: 'vocabulary-not-found' }],
51
- headers: this.getNoCacheHeaders()
53
+ headers: this.getNoCacheHeaders(),
54
+ chronicle: { formVocabularyNotFound: true },
52
55
  });
53
56
  }
54
57
  return this.sendResp(req, res, {
@@ -57,17 +60,20 @@ var Controllers;
57
60
  name: vocabulary.name,
58
61
  slug: vocabulary.slug
59
62
  },
60
- headers: this.getNoCacheHeaders()
63
+ headers: this.getNoCacheHeaders(),
64
+ chronicle: { formVocabularyDetails: { id: vocabulary.id, slug: vocabulary.slug } },
61
65
  });
62
66
  }
63
67
  async entries(req, res) {
64
68
  const branding = String(req.param('branding') ?? '').trim();
65
69
  const vocabIdOrSlug = String(req.param('vocabIdOrSlug') ?? '').trim();
70
+ this.updateChronicle(req, { formVocabularyBranding: branding, formVocabularyId: vocabIdOrSlug });
66
71
  if (!vocabIdOrSlug) {
67
72
  return this.sendResp(req, res, {
68
73
  status: 400,
69
74
  displayErrors: [{ code: 'invalid-vocabulary-id-or-slug' }],
70
- headers: this.getNoCacheHeaders()
75
+ headers: this.getNoCacheHeaders(),
76
+ chronicle: { formVocabularyIdInvalid: true },
71
77
  });
72
78
  }
73
79
  const rawLimit = req.param('limit');
@@ -78,12 +84,14 @@ var Controllers;
78
84
  const hasOffset = rawOffset !== undefined && rawOffset !== null && rawOffset !== '';
79
85
  const limit = hasLimit ? Number.parseInt(String(rawLimit), 10) : undefined;
80
86
  const offset = hasOffset ? Number.parseInt(String(rawOffset), 10) : undefined;
87
+ this.updateChronicle(req, { formVocabularyPagingLimit: limit, formVocabularyPagingOffset: offset });
81
88
  if ((hasLimit && (!Number.isInteger(limit) || (limit ?? 0) <= 0)) ||
82
89
  (hasOffset && (!Number.isInteger(offset) || (offset ?? -1) < 0))) {
83
90
  return this.sendResp(req, res, {
84
91
  status: 400,
85
92
  displayErrors: [{ code: 'invalid-query-params' }],
86
- headers: this.getNoCacheHeaders()
93
+ headers: this.getNoCacheHeaders(),
94
+ chronicle: { formVocabularyInvalidQuery: true },
87
95
  });
88
96
  }
89
97
  let result;
@@ -96,51 +104,58 @@ var Controllers;
96
104
  });
97
105
  }
98
106
  catch (error) {
99
- sails.log.verbose('Error getting vocabulary entries:');
100
- sails.log.verbose(error);
101
107
  return this.sendResp(req, res, {
102
108
  status: 500,
103
109
  displayErrors: [{ code: 'internal-server-error' }],
104
- headers: this.getNoCacheHeaders()
110
+ errors: [error],
111
+ headers: this.getNoCacheHeaders(),
112
+ chronicle: { formVocabularyRetrieveError: true },
105
113
  });
106
114
  }
107
115
  if (!result) {
108
116
  return this.sendResp(req, res, {
109
117
  status: 404,
110
118
  displayErrors: [{ code: 'vocabulary-not-found' }],
111
- headers: this.getNoCacheHeaders()
119
+ headers: this.getNoCacheHeaders(),
120
+ chronicle: { formVocabularyNotFound: true },
112
121
  });
113
122
  }
114
123
  return this.sendResp(req, res, {
115
124
  data: result.entries,
116
125
  meta: result.meta,
117
- headers: this.getNoCacheHeaders()
126
+ headers: this.getNoCacheHeaders(),
127
+ chronicle: { formVocabularyDetails: { ...result.meta, count: result.entries?.length ?? 0 } },
118
128
  });
119
129
  }
120
130
  async children(req, res) {
121
131
  const branding = String(req.param('branding') ?? '').trim();
122
132
  const vocabIdOrSlug = String(req.param('vocabIdOrSlug') ?? '').trim();
133
+ this.updateChronicle(req, { formVocabularyBranding: branding, formVocabularyId: vocabIdOrSlug });
123
134
  if (!vocabIdOrSlug) {
124
135
  return this.sendResp(req, res, {
125
136
  status: 400,
126
137
  displayErrors: [{ code: 'invalid-vocabulary-id-or-slug' }],
127
- headers: this.getNoCacheHeaders()
138
+ headers: this.getNoCacheHeaders(),
139
+ chronicle: { formVocabularyIdInvalid: true },
128
140
  });
129
141
  }
130
142
  const parentId = String(req.param('parentId') ?? '').trim();
143
+ this.updateChronicle(req, { formVocabularyParentId: parentId });
131
144
  try {
132
145
  const result = await VocabularyService.getChildren(branding, vocabIdOrSlug, parentId || undefined);
133
146
  if (!result) {
134
147
  return this.sendResp(req, res, {
135
148
  status: 404,
136
149
  displayErrors: [{ code: 'vocabulary-not-found' }],
137
- headers: this.getNoCacheHeaders()
150
+ headers: this.getNoCacheHeaders(),
151
+ chronicle: { formVocabularyNotFound: true },
138
152
  });
139
153
  }
140
154
  return this.sendResp(req, res, {
141
155
  data: result.entries,
142
156
  meta: result.meta,
143
- headers: this.getNoCacheHeaders()
157
+ headers: this.getNoCacheHeaders(),
158
+ chronicle: { formVocabularyDetails: { ...result.meta, count: result.entries?.length ?? 0 } },
144
159
  });
145
160
  }
146
161
  catch (error) {
@@ -149,15 +164,16 @@ var Controllers;
149
164
  return this.sendResp(req, res, {
150
165
  status: 400,
151
166
  displayErrors: [{ code: 'invalid-parent-id' }],
152
- headers: this.getNoCacheHeaders()
167
+ headers: this.getNoCacheHeaders(),
168
+ chronicle: { formVocabularyInvalidParentId: true },
153
169
  });
154
170
  }
155
- sails.log.verbose('Error getting vocabulary children:');
156
- sails.log.verbose(error);
157
171
  return this.sendResp(req, res, {
158
172
  status: 500,
159
173
  displayErrors: [{ code: 'vocabulary-children-failed' }],
160
- headers: this.getNoCacheHeaders()
174
+ errors: [error],
175
+ headers: this.getNoCacheHeaders(),
176
+ chronicle: { formVocabularyRetrieveError: true },
161
177
  });
162
178
  }
163
179
  }
@@ -214,19 +230,22 @@ var Controllers;
214
230
  async getRecords(req, res) {
215
231
  const queryId = String(req.param('queryId') ?? '').trim();
216
232
  const searchString = String(req.param('search') ?? '');
233
+ this.updateChronicle(req, { formVocabularyQueryId: queryId, formVocabularySearch: searchString });
217
234
  const rawStart = req.param('start');
218
235
  const rawRows = req.param('rows');
219
236
  const hasStart = rawStart !== undefined && rawStart !== null && rawStart !== '';
220
237
  const hasRows = rawRows !== undefined && rawRows !== null && rawRows !== '';
221
238
  const start = Number(req.param('start'));
222
239
  const rows = Number(req.param('rows'));
240
+ this.updateChronicle(req, { formVocabularyPagingStart: start, formVocabularyPagingRows: rows });
223
241
  if (!queryId ||
224
242
  (hasStart && (!Number.isFinite(start) || start < 0)) ||
225
243
  (hasRows && (!Number.isFinite(rows) || rows <= 0))) {
226
244
  return this.sendResp(req, res, {
227
245
  status: 400,
228
246
  displayErrors: [{ code: 'invalid-query-params' }],
229
- headers: this.getNoCacheHeaders()
247
+ headers: this.getNoCacheHeaders(),
248
+ chronicle: { formVocabularyInvalidQuery: true },
230
249
  });
231
250
  }
232
251
  const brand = BrandingService.getBrand(req.session.branding);
@@ -234,7 +253,8 @@ var Controllers;
234
253
  const response = await FormVocabularyService.findRecords(queryId, brand, searchString, start, rows, req.user);
235
254
  return this.sendResp(req, res, {
236
255
  data: response,
237
- headers: this.getNoCacheHeaders()
256
+ headers: this.getNoCacheHeaders(),
257
+ chronicle: { formVocabularyRetrieveSuccess: true },
238
258
  });
239
259
  }
240
260
  catch (error) {
@@ -243,39 +263,44 @@ var Controllers;
243
263
  return this.sendResp(req, res, {
244
264
  status: 404,
245
265
  displayErrors: [{ code: errorCode }],
246
- headers: this.getNoCacheHeaders()
266
+ headers: this.getNoCacheHeaders(),
267
+ chronicle: { formVocabularyRetrieveError: true },
247
268
  });
248
269
  }
249
270
  if (errorCode === 'query-vocab-invalid-config') {
250
271
  return this.sendResp(req, res, {
251
272
  status: 500,
252
273
  displayErrors: [{ code: errorCode }],
253
- headers: this.getNoCacheHeaders()
274
+ headers: this.getNoCacheHeaders(),
275
+ chronicle: { formVocabularyRetrieveError: true },
254
276
  });
255
277
  }
256
- sails.log.verbose('Error getting internal records:');
257
- sails.log.verbose(error);
258
278
  return this.sendResp(req, res, {
259
279
  status: 500,
260
280
  displayErrors: [{ code: 'query-vocab-failed' }],
261
- headers: this.getNoCacheHeaders()
281
+ errors: [error],
282
+ headers: this.getNoCacheHeaders(),
283
+ chronicle: { formVocabularyRetrieveError: true },
262
284
  });
263
285
  }
264
286
  }
265
287
  async externalEntries(req, res) {
266
288
  const provider = String(req.param('provider') ?? '').trim();
289
+ this.updateChronicle(req, { formVocabularyProvider: provider });
267
290
  if (!provider) {
268
291
  return this.sendResp(req, res, {
269
292
  status: 400,
270
293
  displayErrors: [{ code: 'invalid-query-params' }],
271
- headers: this.getNoCacheHeaders()
294
+ headers: this.getNoCacheHeaders(),
295
+ chronicle: { formVocabularyInvalidQuery: true },
272
296
  });
273
297
  }
274
298
  try {
275
299
  const response = await FormVocabularyService.findInExternalService(provider, req.body);
276
300
  return this.sendResp(req, res, {
277
301
  data: response,
278
- headers: this.getNoCacheHeaders()
302
+ headers: this.getNoCacheHeaders(),
303
+ chronicle: { formVocabularyRetrieveSuccess: true },
279
304
  });
280
305
  }
281
306
  catch (error) {
@@ -284,14 +309,16 @@ var Controllers;
284
309
  return this.sendResp(req, res, {
285
310
  status: 404,
286
311
  displayErrors: [{ code: errorCode }],
287
- headers: this.getNoCacheHeaders()
312
+ headers: this.getNoCacheHeaders(),
313
+ chronicle: { formVocabularyRetrieveError: true },
288
314
  });
289
315
  }
290
316
  if (errorCode === 'external-vocab-invalid-config') {
291
317
  return this.sendResp(req, res, {
292
318
  status: 500,
293
319
  displayErrors: [{ code: errorCode }],
294
- headers: this.getNoCacheHeaders()
320
+ headers: this.getNoCacheHeaders(),
321
+ chronicle: { formVocabularyRetrieveError: true },
295
322
  });
296
323
  }
297
324
  sails.log.verbose('Error getting external vocabulary entries:');
@@ -299,7 +326,9 @@ var Controllers;
299
326
  return this.sendResp(req, res, {
300
327
  status: 500,
301
328
  displayErrors: [{ code: 'query-vocab-failed' }],
302
- headers: this.getNoCacheHeaders()
329
+ errors: [error],
330
+ headers: this.getNoCacheHeaders(),
331
+ chronicle: { formVocabularyRetrieveError: true },
303
332
  });
304
333
  }
305
334
  }
@@ -365,4 +394,4 @@ var Controllers;
365
394
  }
366
395
  Controllers.FormVocabulary = FormVocabulary;
367
396
  })(Controllers || (exports.Controllers = Controllers = {}));
368
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVZvY2FidWxhcnlDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXJzL0Zvcm1Wb2NhYnVsYXJ5Q29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBK0Q7QUFFL0Qsc0VBQTZEO0FBSzdELElBQWlCLFdBQVcsQ0EyWTNCO0FBM1lELFdBQWlCLFdBQVc7SUFDMUIsTUFBYSxjQUFlLFNBQVEsNEJBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUUxQyxnQkFBZ0IsR0FBYTtZQUM5QyxLQUFLO1lBQ0wsU0FBUztZQUNULFVBQVU7WUFDVixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixnQkFBZ0I7U0FDakIsQ0FBQztRQUVNLGlCQUFpQixDQUFDLFdBQW9CO1lBQzVDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQztRQUVNLEtBQUssQ0FBQyxH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
397
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRm9ybVZvY2FidWxhcnlDb250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyb2xsZXJzL0Zvcm1Wb2NhYnVsYXJ5Q29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBK0Q7QUFFL0Qsc0VBQTZEO0FBSzdELElBQWlCLFdBQVcsQ0EyYTNCO0FBM2FELFdBQWlCLFdBQVc7SUFDMUIsTUFBYSxjQUFlLFNBQVEsNEJBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUUxQyxnQkFBZ0IsR0FBYTtZQUM5QyxLQUFLO1lBQ0wsU0FBUztZQUNULFVBQVU7WUFDVixZQUFZO1lBQ1osWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixnQkFBZ0I7U0FDakIsQ0FBQztRQUVNLGlCQUFpQixDQUFDLFdBQW9CO1lBQzVDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUN2QyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQztRQUVNLEtBQUssQ0FBQyxH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
@@ -1 +1 @@
1
- {"version":3,"file":"RecordAuditController.d.ts","sourceRoot":"","sources":["../../src/controllers/RecordAuditController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAkB,UAAU,EAAM,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAM/D,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiBzC,yBAAiB,WAAW,CAAC;IAC3B,MAAa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAC1D,SAAS,CAAC,cAAc,EAAG,cAAc,CAAC;QAE1C,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAO3C;QAEK,IAAI;QAIJ,SAAS;QAEhB,OAAO,CAAC,OAAO;QAIf,OAAO,CAAC,WAAW;QAKnB,OAAO,CAAC,mBAAmB;QAK3B,OAAO,CAAC,mBAAmB;QAU3B,OAAO,CAAC,gBAAgB;QAkBxB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;QAKlH,OAAO,CAAC,YAAY;QAUpB,OAAO,CAAC,iBAAiB;QAMzB,OAAO,CAAC,iBAAiB;QAIzB,OAAO,CAAC,UAAU;QAYlB,OAAO,CAAC,cAAc;QAItB,OAAO,CAAC,sBAAsB;QAM9B,OAAO,CAAC,oBAAoB;gBAuCd,kBAAkB;QAiBhC,OAAO,CAAC,iBAAiB;QAkBzB,OAAO,CAAC,SAAS;QAajB,OAAO,CAAC,QAAQ;QAahB,OAAO,CAAC,eAAe;gBAUT,uBAAuB;QASrC,OAAO,CAAC,gBAAgB;QAKxB,OAAO,CAAC,iBAAiB;QAkBZ,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAoCrC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAmI3C,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAyB9D,OAAO,CAAC,aAAa;QAKR,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA+DvD,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KAkFpE;CACF"}
1
+ {"version":3,"file":"RecordAuditController.d.ts","sourceRoot":"","sources":["../../src/controllers/RecordAuditController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAkB,UAAU,EAAM,MAAM,MAAM,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAM/D,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAiBzC,yBAAiB,WAAW,CAAC;IAC3B,MAAa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAC1D,SAAS,CAAC,cAAc,EAAG,cAAc,CAAC;QAE1C,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAO3C;QAEK,IAAI;QAIJ,SAAS;QAEhB,OAAO,CAAC,OAAO;QAIf,OAAO,CAAC,WAAW;QAKnB,OAAO,CAAC,mBAAmB;QAK3B,OAAO,CAAC,mBAAmB;QAU3B,OAAO,CAAC,gBAAgB;QAoBxB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC;QAKlH,OAAO,CAAC,YAAY;QAUpB,OAAO,CAAC,iBAAiB;QAMzB,OAAO,CAAC,iBAAiB;QAIzB,OAAO,CAAC,UAAU;QAYlB,OAAO,CAAC,cAAc;QAItB,OAAO,CAAC,sBAAsB;QAM9B,OAAO,CAAC,oBAAoB;gBAuCd,kBAAkB;QAiBhC,OAAO,CAAC,iBAAiB;QAkBzB,OAAO,CAAC,SAAS;QAajB,OAAO,CAAC,QAAQ;QAahB,OAAO,CAAC,eAAe;gBAUT,uBAAuB;QASrC,OAAO,CAAC,gBAAgB;QAKxB,OAAO,CAAC,iBAAiB;QAkBZ,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAoCrC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAmI3C,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAyB9D,OAAO,CAAC,aAAa;QAKR,wBAAwB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA+DvD,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KAkFpE;CACF"}