@researchdatabox/redbox-core 0.0.1-beta.9228 → 0.0.1-beta.9604

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 (420) hide show
  1. package/dist/CoreController.d.ts +4 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +40 -4
  4. package/dist/DatastreamService.d.ts +5 -2
  5. package/dist/DatastreamService.d.ts.map +1 -1
  6. package/dist/QueueService.d.ts +1 -1
  7. package/dist/QueueService.d.ts.map +1 -1
  8. package/dist/RecordsService.d.ts +38 -2
  9. package/dist/RecordsService.d.ts.map +1 -1
  10. package/dist/StorageService.d.ts +2 -1
  11. package/dist/StorageService.d.ts.map +1 -1
  12. package/dist/api-routes/apib.d.ts +7 -0
  13. package/dist/api-routes/apib.d.ts.map +1 -0
  14. package/dist/api-routes/apib.js +43 -0
  15. package/dist/api-routes/define.d.ts +4 -0
  16. package/dist/api-routes/define.d.ts.map +1 -0
  17. package/dist/api-routes/define.js +29 -0
  18. package/dist/api-routes/groups/admin.d.ts +6 -0
  19. package/dist/api-routes/groups/admin.d.ts.map +1 -0
  20. package/dist/api-routes/groups/admin.js +53 -0
  21. package/dist/api-routes/groups/appconfig.d.ts +4 -0
  22. package/dist/api-routes/groups/appconfig.d.ts.map +1 -0
  23. package/dist/api-routes/groups/appconfig.js +33 -0
  24. package/dist/api-routes/groups/branding.d.ts +8 -0
  25. package/dist/api-routes/groups/branding.d.ts.map +1 -0
  26. package/dist/api-routes/groups/branding.js +61 -0
  27. package/dist/api-routes/groups/dashboard-config.d.ts +11 -0
  28. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -0
  29. package/dist/api-routes/groups/dashboard-config.js +90 -0
  30. package/dist/api-routes/groups/export.d.ts +3 -0
  31. package/dist/api-routes/groups/export.d.ts.map +1 -0
  32. package/dist/api-routes/groups/export.js +30 -0
  33. package/dist/api-routes/groups/forms.d.ts +4 -0
  34. package/dist/api-routes/groups/forms.d.ts.map +1 -0
  35. package/dist/api-routes/groups/forms.js +29 -0
  36. package/dist/api-routes/groups/integration-audit.d.ts +3 -0
  37. package/dist/api-routes/groups/integration-audit.d.ts.map +1 -0
  38. package/dist/api-routes/groups/integration-audit.js +35 -0
  39. package/dist/api-routes/groups/notifications.d.ts +3 -0
  40. package/dist/api-routes/groups/notifications.d.ts.map +1 -0
  41. package/dist/api-routes/groups/notifications.js +20 -0
  42. package/dist/api-routes/groups/records.d.ts +28 -0
  43. package/dist/api-routes/groups/records.d.ts.map +1 -0
  44. package/dist/api-routes/groups/records.js +349 -0
  45. package/dist/api-routes/groups/recordtypes.d.ts +4 -0
  46. package/dist/api-routes/groups/recordtypes.d.ts.map +1 -0
  47. package/dist/api-routes/groups/recordtypes.js +27 -0
  48. package/dist/api-routes/groups/reports.d.ts +3 -0
  49. package/dist/api-routes/groups/reports.d.ts.map +1 -0
  50. package/dist/api-routes/groups/reports.js +20 -0
  51. package/dist/api-routes/groups/search-query.d.ts +4 -0
  52. package/dist/api-routes/groups/search-query.d.ts.map +1 -0
  53. package/dist/api-routes/groups/search-query.js +51 -0
  54. package/dist/api-routes/groups/search.d.ts +6 -0
  55. package/dist/api-routes/groups/search.d.ts.map +1 -0
  56. package/dist/api-routes/groups/search.js +31 -0
  57. package/dist/api-routes/groups/translation.d.ts +8 -0
  58. package/dist/api-routes/groups/translation.d.ts.map +1 -0
  59. package/dist/api-routes/groups/translation.js +82 -0
  60. package/dist/api-routes/groups/users.d.ts +17 -0
  61. package/dist/api-routes/groups/users.d.ts.map +1 -0
  62. package/dist/api-routes/groups/users.js +149 -0
  63. package/dist/api-routes/groups/vocabulary.d.ts +10 -0
  64. package/dist/api-routes/groups/vocabulary.d.ts.map +1 -0
  65. package/dist/api-routes/groups/vocabulary.js +97 -0
  66. package/dist/api-routes/helpers.d.ts +29 -0
  67. package/dist/api-routes/helpers.d.ts.map +1 -0
  68. package/dist/api-routes/helpers.js +486 -0
  69. package/dist/api-routes/index.d.ts +25 -0
  70. package/dist/api-routes/index.d.ts.map +1 -0
  71. package/dist/api-routes/index.js +41 -0
  72. package/dist/api-routes/openapi.d.ts +27 -0
  73. package/dist/api-routes/openapi.d.ts.map +1 -0
  74. package/dist/api-routes/openapi.js +273 -0
  75. package/dist/api-routes/request-extraction.d.ts +14 -0
  76. package/dist/api-routes/request-extraction.d.ts.map +1 -0
  77. package/dist/api-routes/request-extraction.js +100 -0
  78. package/dist/api-routes/route-factory.d.ts +3 -0
  79. package/dist/api-routes/route-factory.d.ts.map +1 -0
  80. package/dist/api-routes/route-factory.js +30 -0
  81. package/dist/api-routes/route-registry.d.ts +24 -0
  82. package/dist/api-routes/route-registry.d.ts.map +1 -0
  83. package/dist/api-routes/route-registry.js +113 -0
  84. package/dist/api-routes/route-resolution.d.ts +4 -0
  85. package/dist/api-routes/route-resolution.d.ts.map +1 -0
  86. package/dist/api-routes/route-resolution.js +57 -0
  87. package/dist/api-routes/schemas/common.d.ts +37 -0
  88. package/dist/api-routes/schemas/common.d.ts.map +1 -0
  89. package/dist/api-routes/schemas/common.js +147 -0
  90. package/dist/api-routes/schemas/responses.d.ts +2904 -0
  91. package/dist/api-routes/schemas/responses.d.ts.map +1 -0
  92. package/dist/api-routes/schemas/responses.js +417 -0
  93. package/dist/api-routes/types.d.ts +70 -0
  94. package/dist/api-routes/types.d.ts.map +1 -0
  95. package/dist/api-routes/types.js +3 -0
  96. package/dist/api-routes/validation.d.ts +32 -0
  97. package/dist/api-routes/validation.d.ts.map +1 -0
  98. package/dist/api-routes/validation.js +142 -0
  99. package/dist/bootstrap.d.ts.map +1 -1
  100. package/dist/bootstrap.js +10 -10
  101. package/dist/config/agendaQueue.config.d.ts +25 -1
  102. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  103. package/dist/config/agendaQueue.config.js +19 -2
  104. package/dist/config/auth.config.d.ts.map +1 -1
  105. package/dist/config/auth.config.js +21 -2
  106. package/dist/config/branding.config.d.ts +2 -1
  107. package/dist/config/branding.config.d.ts.map +1 -1
  108. package/dist/config/branding.config.js +5 -95
  109. package/dist/config/brandingConfigurationDefaults.config.js +3 -3
  110. package/dist/config/dashboardtype.config.d.ts +5 -0
  111. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  112. package/dist/config/dashboardtype.config.js +1 -1
  113. package/dist/config/dashboardview.config.d.ts +24 -0
  114. package/dist/config/dashboardview.config.d.ts.map +1 -0
  115. package/dist/config/dashboardview.config.js +137 -0
  116. package/dist/config/dompurify.config.d.ts.map +1 -1
  117. package/dist/config/dompurify.config.js +2 -2
  118. package/dist/config/form.config.d.ts +4 -0
  119. package/dist/config/form.config.d.ts.map +1 -1
  120. package/dist/config/form.config.js +1 -1
  121. package/dist/config/http.config.d.ts +1 -1
  122. package/dist/config/http.config.d.ts.map +1 -1
  123. package/dist/config/http.config.js +36 -6
  124. package/dist/config/index.d.ts +6 -0
  125. package/dist/config/index.d.ts.map +1 -1
  126. package/dist/config/index.js +4 -1
  127. package/dist/config/namedQuery.config.d.ts +10 -2
  128. package/dist/config/namedQuery.config.d.ts.map +1 -1
  129. package/dist/config/namedQuery.config.js +17 -17
  130. package/dist/config/policies.config.d.ts +3 -0
  131. package/dist/config/policies.config.d.ts.map +1 -1
  132. package/dist/config/policies.config.js +35 -1
  133. package/dist/config/record.config.d.ts.map +1 -1
  134. package/dist/config/record.config.js +2 -1
  135. package/dist/config/recordtype.config.d.ts +28 -0
  136. package/dist/config/recordtype.config.d.ts.map +1 -1
  137. package/dist/config/recordtype.config.js +85 -9
  138. package/dist/config/routes.config.d.ts +5 -2
  139. package/dist/config/routes.config.d.ts.map +1 -1
  140. package/dist/config/routes.config.js +28 -113
  141. package/dist/config/storage.config.d.ts +20 -2
  142. package/dist/config/storage.config.d.ts.map +1 -1
  143. package/dist/config/storage.config.js +2 -1
  144. package/dist/config/validators.config.d.ts +6 -4
  145. package/dist/config/validators.config.d.ts.map +1 -1
  146. package/dist/config/validators.config.js +5 -3
  147. package/dist/config/vocab.config.d.ts +30 -0
  148. package/dist/config/vocab.config.d.ts.map +1 -1
  149. package/dist/config/vocab.config.js +21 -1
  150. package/dist/config/webpack.config.d.ts.map +1 -1
  151. package/dist/config/webpack.config.js +18 -12
  152. package/dist/config/workflow.config.d.ts +0 -1
  153. package/dist/config/workflow.config.d.ts.map +1 -1
  154. package/dist/config/workflow.config.js +1 -137
  155. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  156. package/dist/configmodels/AdminSidebarConfig.js +1 -2
  157. package/dist/configmodels/ConfigModels.d.ts +1 -1
  158. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  159. package/dist/configmodels/ConfigModels.js +9 -1
  160. package/dist/configmodels/DashboardTableOverrideConfig.d.ts +1011 -0
  161. package/dist/configmodels/DashboardTableOverrideConfig.d.ts.map +1 -0
  162. package/dist/configmodels/DashboardTableOverrideConfig.js +138 -0
  163. package/dist/controllers/AdminController.d.ts +0 -1
  164. package/dist/controllers/AdminController.d.ts.map +1 -1
  165. package/dist/controllers/AdminController.js +2 -32
  166. package/dist/controllers/BrandingAppController.js +2 -2
  167. package/dist/controllers/BrandingController.d.ts +11 -5
  168. package/dist/controllers/BrandingController.d.ts.map +1 -1
  169. package/dist/controllers/BrandingController.js +116 -48
  170. package/dist/controllers/DashboardConfigController.d.ts +8 -0
  171. package/dist/controllers/DashboardConfigController.d.ts.map +1 -0
  172. package/dist/controllers/DashboardConfigController.js +17 -0
  173. package/dist/controllers/DynamicAssetController.d.ts +1 -21
  174. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  175. package/dist/controllers/DynamicAssetController.js +19 -41
  176. package/dist/controllers/EmailController.d.ts.map +1 -1
  177. package/dist/controllers/EmailController.js +16 -12
  178. package/dist/controllers/FormVocabularyController.d.ts +3 -0
  179. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  180. package/dist/controllers/FormVocabularyController.js +151 -4
  181. package/dist/controllers/RecordController.d.ts +18 -1
  182. package/dist/controllers/RecordController.d.ts.map +1 -1
  183. package/dist/controllers/RecordController.js +295 -129
  184. package/dist/controllers/RenderViewController.d.ts.map +1 -1
  185. package/dist/controllers/RenderViewController.js +4 -2
  186. package/dist/controllers/TranslationController.d.ts.map +1 -1
  187. package/dist/controllers/TranslationController.js +5 -4
  188. package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
  189. package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
  190. package/dist/controllers/WorkspaceTypesController.js +120 -31
  191. package/dist/controllers/index.d.ts.map +1 -1
  192. package/dist/controllers/index.js +7 -4
  193. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  194. package/dist/controllers/webservice/AdminController.js +16 -17
  195. package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
  196. package/dist/controllers/webservice/AppConfigController.js +19 -20
  197. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  198. package/dist/controllers/webservice/BrandingController.js +102 -49
  199. package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
  200. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
  201. package/dist/controllers/webservice/DashboardConfigController.js +241 -0
  202. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  203. package/dist/controllers/webservice/ExportController.js +11 -11
  204. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  205. package/dist/controllers/webservice/FormManagementController.js +11 -13
  206. package/dist/controllers/webservice/RecordController.d.ts +4 -0
  207. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  208. package/dist/controllers/webservice/RecordController.js +428 -257
  209. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  210. package/dist/controllers/webservice/RecordTypeController.js +9 -10
  211. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  212. package/dist/controllers/webservice/ReportController.js +18 -20
  213. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  214. package/dist/controllers/webservice/SearchController.js +28 -35
  215. package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
  216. package/dist/controllers/webservice/TranslationController.js +65 -43
  217. package/dist/controllers/webservice/UserManagementController.d.ts +1 -1
  218. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  219. package/dist/controllers/webservice/UserManagementController.js +114 -101
  220. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  221. package/dist/controllers/webservice/VocabularyController.js +76 -28
  222. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  223. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  224. package/dist/hooks/defineRedboxHook.js +4 -1
  225. package/dist/hooks/webpack.d.ts.map +1 -1
  226. package/dist/hooks/webpack.js +17 -7
  227. package/dist/index.d.ts +2 -0
  228. package/dist/index.d.ts.map +1 -1
  229. package/dist/index.js +2 -1
  230. package/dist/loader/index.d.ts +6 -0
  231. package/dist/loader/index.d.ts.map +1 -1
  232. package/dist/loader/index.js +57 -10
  233. package/dist/middleware/redboxSession.d.ts.map +1 -1
  234. package/dist/middleware/redboxSession.js +6 -2
  235. package/dist/model/BuildResponse.d.ts +4 -0
  236. package/dist/model/BuildResponse.d.ts.map +1 -1
  237. package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
  238. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  239. package/dist/model/DashboardTypeResponseModel.js +12 -4
  240. package/dist/model/DashboardViewResponseModel.d.ts +20 -0
  241. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
  242. package/dist/model/DashboardViewResponseModel.js +38 -0
  243. package/dist/model/RecordTypeResponseModel.d.ts +3 -1
  244. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  245. package/dist/model/RecordTypeResponseModel.js +4 -2
  246. package/dist/model/index.d.ts +1 -0
  247. package/dist/model/index.d.ts.map +1 -1
  248. package/dist/model/index.js +5 -2
  249. package/dist/model/storage/BrandingModel.d.ts +0 -16
  250. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  251. package/dist/model/storage/BrandingModel.js +2 -51
  252. package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
  253. package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
  254. package/dist/model/storage/RecordTypeModel.d.ts +16 -0
  255. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  256. package/dist/model/storage/RecordTypeModel.js +9 -1
  257. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  258. package/dist/policies/contentSecurityPolicy.js +23 -2
  259. package/dist/policies/index.d.ts +3 -0
  260. package/dist/policies/index.d.ts.map +1 -1
  261. package/dist/policies/index.js +6 -2
  262. package/dist/policies/validateApiContractRequest.d.ts +3 -0
  263. package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
  264. package/dist/policies/validateApiContractRequest.js +74 -0
  265. package/dist/responses/badRequest.d.ts.map +1 -1
  266. package/dist/responses/badRequest.js +5 -3
  267. package/dist/responses/created.d.ts.map +1 -1
  268. package/dist/responses/created.js +5 -3
  269. package/dist/responses/forbidden.d.ts.map +1 -1
  270. package/dist/responses/forbidden.js +5 -3
  271. package/dist/responses/ok.d.ts.map +1 -1
  272. package/dist/responses/ok.js +5 -3
  273. package/dist/responses/serverError.d.ts.map +1 -1
  274. package/dist/responses/serverError.js +5 -3
  275. package/dist/responses/siteTitle.d.ts +6 -0
  276. package/dist/responses/siteTitle.d.ts.map +1 -0
  277. package/dist/responses/siteTitle.js +28 -0
  278. package/dist/sails.d.ts +9 -0
  279. package/dist/sails.d.ts.map +1 -1
  280. package/dist/services/AgendaQueueService.d.ts +38 -17
  281. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  282. package/dist/services/AgendaQueueService.js +311 -81
  283. package/dist/services/AttachmentMetadataService.d.ts +34 -0
  284. package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
  285. package/dist/services/AttachmentMetadataService.js +133 -0
  286. package/dist/services/BrandingLogoService.d.ts +6 -8
  287. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  288. package/dist/services/BrandingLogoService.js +66 -72
  289. package/dist/services/BrandingService.d.ts.map +1 -1
  290. package/dist/services/BrandingService.js +4 -32
  291. package/dist/services/BrandingThemeCssService.d.ts +21 -0
  292. package/dist/services/BrandingThemeCssService.d.ts.map +1 -0
  293. package/dist/services/BrandingThemeCssService.js +113 -0
  294. package/dist/services/BrandingThemeTokens.d.ts +16 -0
  295. package/dist/services/BrandingThemeTokens.d.ts.map +1 -0
  296. package/dist/services/BrandingThemeTokens.js +82 -0
  297. package/dist/services/CacheService.d.ts.map +1 -1
  298. package/dist/services/CacheService.js +37 -29
  299. package/dist/services/DashboardConfigService.d.ts +71 -0
  300. package/dist/services/DashboardConfigService.d.ts.map +1 -0
  301. package/dist/services/DashboardConfigService.js +309 -0
  302. package/dist/services/DashboardTypesService.d.ts +61 -63
  303. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  304. package/dist/services/DashboardTypesService.js +361 -198
  305. package/dist/services/DoiService.d.ts +11 -0
  306. package/dist/services/DoiService.d.ts.map +1 -1
  307. package/dist/services/DoiService.js +206 -1
  308. package/dist/services/FigshareService.d.ts.map +1 -1
  309. package/dist/services/FigshareService.js +5 -1
  310. package/dist/services/FormPayloadPrehydrateService.d.ts +35 -0
  311. package/dist/services/FormPayloadPrehydrateService.d.ts.map +1 -0
  312. package/dist/services/FormPayloadPrehydrateService.js +200 -0
  313. package/dist/services/FormRecordConsistencyService.d.ts +3 -3
  314. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  315. package/dist/services/FormRecordConsistencyService.js +18 -18
  316. package/dist/services/FormVocabularyService.d.ts +45 -0
  317. package/dist/services/FormVocabularyService.d.ts.map +1 -0
  318. package/dist/services/FormVocabularyService.js +326 -0
  319. package/dist/services/FormsService.js +5 -5
  320. package/dist/services/I18nEntriesService.d.ts +9 -4
  321. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  322. package/dist/services/I18nEntriesService.js +96 -18
  323. package/dist/services/NamedQueryService.d.ts +27 -9
  324. package/dist/services/NamedQueryService.d.ts.map +1 -1
  325. package/dist/services/NamedQueryService.js +223 -55
  326. package/dist/services/OniService.js +2 -2
  327. package/dist/services/RDMPService.d.ts.map +1 -1
  328. package/dist/services/RDMPService.js +3 -2
  329. package/dist/services/RecordsService.d.ts +8 -2
  330. package/dist/services/RecordsService.d.ts.map +1 -1
  331. package/dist/services/RecordsService.js +66 -18
  332. package/dist/services/ReportsService.d.ts.map +1 -1
  333. package/dist/services/ReportsService.js +7 -1
  334. package/dist/services/SassCompilerService.d.ts +4 -10
  335. package/dist/services/SassCompilerService.d.ts.map +1 -1
  336. package/dist/services/SassCompilerService.js +9 -173
  337. package/dist/services/StandardDatastreamService.d.ts +37 -5
  338. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  339. package/dist/services/StandardDatastreamService.js +535 -38
  340. package/dist/services/StorageManagerService.d.ts +13 -1
  341. package/dist/services/StorageManagerService.d.ts.map +1 -1
  342. package/dist/services/StorageManagerService.js +94 -11
  343. package/dist/services/TemplateService.d.ts +1 -17
  344. package/dist/services/TemplateService.d.ts.map +1 -1
  345. package/dist/services/TemplateService.js +5 -50
  346. package/dist/services/VocabularyService.d.ts +12 -0
  347. package/dist/services/VocabularyService.d.ts.map +1 -1
  348. package/dist/services/VocabularyService.js +201 -14
  349. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  350. package/dist/services/doi-v2/bindings.js +2 -8
  351. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  352. package/dist/services/figshare-v2/bindings.js +2 -5
  353. package/dist/services/index.d.ts +15 -3
  354. package/dist/services/index.d.ts.map +1 -1
  355. package/dist/services/index.js +27 -7
  356. package/dist/storage/GridFSDriver.d.ts +101 -0
  357. package/dist/storage/GridFSDriver.d.ts.map +1 -0
  358. package/dist/storage/GridFSDriver.js +291 -0
  359. package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
  360. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
  361. package/dist/storage/TusStorageManagerDataStore.js +300 -0
  362. package/dist/visitor/attachment-fields.visitor.d.ts +17 -17
  363. package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -1
  364. package/dist/visitor/attachment-fields.visitor.js +44 -34
  365. package/dist/visitor/client.visitor.d.ts +93 -92
  366. package/dist/visitor/client.visitor.d.ts.map +1 -1
  367. package/dist/visitor/client.visitor.js +159 -159
  368. package/dist/visitor/construct.visitor.d.ts +95 -95
  369. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  370. package/dist/visitor/construct.visitor.js +159 -156
  371. package/dist/visitor/context-variables.visitor.d.ts +35 -35
  372. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  373. package/dist/visitor/context-variables.visitor.js +85 -75
  374. package/dist/visitor/data-value.visitor.d.ts +95 -95
  375. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  376. package/dist/visitor/data-value.visitor.js +151 -151
  377. package/dist/visitor/json-type-def.visitor.d.ts +92 -92
  378. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  379. package/dist/visitor/json-type-def.visitor.js +152 -152
  380. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +96 -96
  381. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  382. package/dist/visitor/migrate-config-v4-v5.visitor.js +205 -184
  383. package/dist/visitor/template.visitor.d.ts +96 -94
  384. package/dist/visitor/template.visitor.d.ts.map +1 -1
  385. package/dist/visitor/template.visitor.js +214 -159
  386. package/dist/visitor/validator.visitor.d.ts +92 -92
  387. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  388. package/dist/visitor/validator.visitor.js +175 -154
  389. package/dist/visitor/visitor-helpers.js +9 -9
  390. package/dist/visitor/vocab-inline.visitor.d.ts +18 -18
  391. package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
  392. package/dist/visitor/vocab-inline.visitor.js +67 -53
  393. package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
  394. package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
  395. package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
  396. package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
  397. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
  398. package/dist/waterline-models/AttachmentMetadata.js +147 -0
  399. package/dist/waterline-models/BrandingConfig.d.ts +0 -2
  400. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  401. package/dist/waterline-models/BrandingConfig.js +5 -9
  402. package/dist/waterline-models/DashboardType.d.ts +7 -0
  403. package/dist/waterline-models/DashboardType.d.ts.map +1 -1
  404. package/dist/waterline-models/DashboardType.js +16 -1
  405. package/dist/waterline-models/I18nTranslation.d.ts +2 -0
  406. package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
  407. package/dist/waterline-models/I18nTranslation.js +6 -1
  408. package/dist/waterline-models/NamedQuery.d.ts +6 -0
  409. package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
  410. package/dist/waterline-models/NamedQuery.js +16 -1
  411. package/dist/waterline-models/index.d.ts +4 -0
  412. package/dist/waterline-models/index.d.ts.map +1 -1
  413. package/dist/waterline-models/index.js +7 -1
  414. package/package.json +36 -23
  415. package/dist/controllers/VocabController.d.ts +0 -43
  416. package/dist/controllers/VocabController.d.ts.map +0 -1
  417. package/dist/controllers/VocabController.js +0 -190
  418. package/dist/services/VocabService.d.ts +0 -81
  419. package/dist/services/VocabService.d.ts.map +0 -1
  420. package/dist/services/VocabService.js +0 -424
@@ -1,4 +1,5 @@
1
1
  import { Services as services } from '../CoreService';
2
+ import { StorageConfig, DiskConfig } from '../config/storage.config';
2
3
  /**
3
4
  * StorageManagerService
4
5
  *
@@ -47,6 +48,7 @@ export declare namespace Services {
47
48
  private _DiskConstructor;
48
49
  private _FSDriver;
49
50
  private _S3Driver;
51
+ private _GridFSDriver;
50
52
  private _disks;
51
53
  private _bootstrapped;
52
54
  private _bootstrapPromise;
@@ -59,12 +61,14 @@ export declare namespace Services {
59
61
  * Called during service initialization (after Sails is ready).
60
62
  */
61
63
  bootstrap(): Promise<void>;
62
- private getMergedStorageConfig;
64
+ getMergedStorageConfig(): StorageConfig;
63
65
  private performBootstrap;
64
66
  /**
65
67
  * Create a Flydrive driver from a DiskConfig entry.
66
68
  */
67
69
  private createDriver;
70
+ private normalizeGridFSString;
71
+ private normalizeOptionalBoolean;
68
72
  /**
69
73
  * Get a disk by name.
70
74
  * @throws Error if disk is not found.
@@ -74,6 +78,14 @@ export declare namespace Services {
74
78
  * Get the staging disk (where TUS uploads land).
75
79
  */
76
80
  stagingDisk(): IDisk;
81
+ /**
82
+ * Get the merged config for a named disk.
83
+ */
84
+ getDiskConfig(name: string): DiskConfig;
85
+ /**
86
+ * Get the merged config for the configured staging disk.
87
+ */
88
+ getStagingDiskConfig(): DiskConfig;
77
89
  /**
78
90
  * Get the primary disk (permanent file storage).
79
91
  */
@@ -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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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Services = void 0;
4
4
  const CoreService_1 = require("../CoreService");
5
5
  const storage_config_1 = require("../config/storage.config");
6
+ const GridFSDriver_1 = require("../storage/GridFSDriver");
6
7
  /**
7
8
  * StorageManagerService
8
9
  *
@@ -36,12 +37,23 @@ var Services;
36
37
  return typeof record.S3Driver === 'function';
37
38
  };
38
39
  class StorageManager extends CoreService_1.Services.Core.Service {
39
- _exportedMethods = ['init', 'bootstrap', 'disk', 'stagingDisk', 'primaryDisk', 'isBootstrapped'];
40
+ _exportedMethods = [
41
+ 'init',
42
+ 'bootstrap',
43
+ 'disk',
44
+ 'stagingDisk',
45
+ 'primaryDisk',
46
+ 'isBootstrapped',
47
+ 'getMergedStorageConfig',
48
+ 'getDiskConfig',
49
+ 'getStagingDiskConfig',
50
+ ];
40
51
  logHeader = 'StorageManagerService::';
41
52
  // Flydrive module references (loaded dynamically since ESM-only)
42
53
  _DiskConstructor = null;
43
54
  _FSDriver = null;
44
55
  _S3Driver = null;
56
+ _GridFSDriver = GridFSDriver_1.GridFSDriver;
45
57
  // Map of instantiated disks, keyed by disk name
46
58
  _disks = new Map();
47
59
  _bootstrapped = false;
@@ -135,6 +147,7 @@ var Services;
135
147
  return;
136
148
  }
137
149
  const storageConfig = this.getMergedStorageConfig();
150
+ const disks = new Map();
138
151
  if (!storageConfig.disks || Object.keys(storageConfig.disks).length === 0) {
139
152
  throw new Error('StorageManagerService: no disks configured in storage.disks and no defaults available');
140
153
  }
@@ -151,12 +164,13 @@ var Services;
151
164
  const driver = this.createDriver(name, diskConf);
152
165
  if (this._DiskConstructor) {
153
166
  const disk = new this._DiskConstructor(driver);
154
- this._disks.set(name, disk);
167
+ disks.set(name, disk);
155
168
  }
156
169
  else {
157
170
  throw new Error('StorageManagerService: Flydrive Disk constructor unavailable');
158
171
  }
159
172
  }
173
+ this._disks = disks;
160
174
  this._bootstrapped = true;
161
175
  this.logger.verbose(`${this.logHeader} Bootstrapped with disks: ${Array.from(this._disks.keys()).join(', ')}`);
162
176
  }
@@ -169,24 +183,56 @@ var Services;
169
183
  if (!this._FSDriver) {
170
184
  throw new Error(`StorageManagerService: FSDriver not available but disk '${name}' requires it`);
171
185
  }
186
+ const visibility = diskConf.config.visibility ?? 'public';
172
187
  return new this._FSDriver({
173
188
  location: diskConf.config.root,
174
- visibility: diskConf.config.visibility || 'public',
189
+ visibility,
175
190
  });
176
191
  }
177
192
  case 's3': {
178
193
  if (!this._S3Driver) {
179
194
  throw new Error(`StorageManagerService: S3Driver not available but disk '${name}' requires it`);
180
195
  }
181
- return new this._S3Driver({
182
- credentials: {
183
- accessKeyId: diskConf.config.key,
184
- secretAccessKey: diskConf.config.secret,
185
- },
196
+ const visibility = diskConf.config.visibility ?? 'public';
197
+ const opts = {
186
198
  region: diskConf.config.region,
187
199
  bucket: diskConf.config.bucket,
188
- endpoint: diskConf.config.endpoint,
189
- visibility: diskConf.config.visibility || 'public',
200
+ visibility,
201
+ requestChecksumCalculation: diskConf.config.requestChecksumCalculation ?? 'WHEN_REQUIRED',
202
+ supportsACL: this.normalizeOptionalBoolean(diskConf.config.supportsACL) ?? false,
203
+ };
204
+ const accessKeyId = String(diskConf.config.key ?? '').trim();
205
+ const secretAccessKey = String(diskConf.config.secret ?? '').trim();
206
+ if (accessKeyId && secretAccessKey) {
207
+ opts.credentials = {
208
+ accessKeyId,
209
+ secretAccessKey,
210
+ };
211
+ }
212
+ if (diskConf.config.endpoint) {
213
+ opts.endpoint = diskConf.config.endpoint;
214
+ }
215
+ if (diskConf.config.forcePathStyle !== undefined) {
216
+ opts.forcePathStyle = this.normalizeOptionalBoolean(diskConf.config.forcePathStyle);
217
+ }
218
+ if (diskConf.config.bucketEndpoint !== undefined) {
219
+ opts.bucketEndpoint = this.normalizeOptionalBoolean(diskConf.config.bucketEndpoint);
220
+ }
221
+ if (diskConf.config.tls !== undefined) {
222
+ opts.tls = this.normalizeOptionalBoolean(diskConf.config.tls);
223
+ }
224
+ if (diskConf.config.useAccelerateEndpoint !== undefined) {
225
+ opts.useAccelerateEndpoint = this.normalizeOptionalBoolean(diskConf.config.useAccelerateEndpoint);
226
+ }
227
+ return new this._S3Driver(opts);
228
+ }
229
+ case 'gridfs': {
230
+ return new this._GridFSDriver({
231
+ datastore: this.normalizeGridFSString(diskConf.config.datastore, 'mongodb'),
232
+ url: this.normalizeGridFSString(diskConf.config.url, ''),
233
+ databaseName: this.normalizeGridFSString(diskConf.config.databaseName, ''),
234
+ bucketName: this.normalizeGridFSString(diskConf.config.bucketName, 'fs'),
235
+ visibility: diskConf.config.visibility ?? 'public',
190
236
  });
191
237
  }
192
238
  default: {
@@ -195,6 +241,24 @@ var Services;
195
241
  }
196
242
  }
197
243
  }
244
+ normalizeGridFSString(value, fallback) {
245
+ return typeof value === 'string' && value.trim() ? value : fallback;
246
+ }
247
+ normalizeOptionalBoolean(value) {
248
+ if (typeof value === 'boolean') {
249
+ return value;
250
+ }
251
+ if (typeof value === 'string') {
252
+ const normalized = value.trim().toLowerCase();
253
+ if (normalized === 'true') {
254
+ return true;
255
+ }
256
+ if (normalized === 'false') {
257
+ return false;
258
+ }
259
+ }
260
+ return undefined;
261
+ }
198
262
  /**
199
263
  * Get a disk by name.
200
264
  * @throws Error if disk is not found.
@@ -214,6 +278,25 @@ var Services;
214
278
  const stagingName = mergedStorage.stagingDisk ?? 'staging';
215
279
  return this.disk(stagingName);
216
280
  }
281
+ /**
282
+ * Get the merged config for a named disk.
283
+ */
284
+ getDiskConfig(name) {
285
+ const mergedStorage = this.getMergedStorageConfig();
286
+ const diskConfig = mergedStorage.disks?.[name];
287
+ if (!diskConfig) {
288
+ throw new Error(`StorageManagerService: disk '${name}' is not registered. Available: ${Object.keys(mergedStorage.disks ?? {}).join(', ')}`);
289
+ }
290
+ return diskConfig;
291
+ }
292
+ /**
293
+ * Get the merged config for the configured staging disk.
294
+ */
295
+ getStagingDiskConfig() {
296
+ const mergedStorage = this.getMergedStorageConfig();
297
+ const stagingName = mergedStorage.stagingDisk ?? 'staging';
298
+ return this.getDiskConfig(stagingName);
299
+ }
217
300
  /**
218
301
  * Get the primary disk (permanent file storage).
219
302
  */
@@ -231,4 +314,4 @@ var Services;
231
314
  }
232
315
  Services.StorageManager = StorageManager;
233
316
  })(Services || (exports.Services = Services = {}));
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1N0b3JhZ2VNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBc0Q7QUFDdEQsNkRBQXNHO0FBRXRHOzs7Ozs7OztHQVFHO0FBQ0gsSUFBaUIsUUFBUSxDQXNSeEI7QUF0UkQsV0FBaUIsUUFBUTtJQVN2QixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUEyQixFQUFFO1FBQ25FLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxLQUFnQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsQ0FBQztJQUMzQyxDQUFDLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUEyQixFQUFFO1FBQ25FLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxLQUFnQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsS0FBYyxFQUEyQixFQUFFO1FBQ25FLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxLQUFnQyxDQUFDO1FBQ2hELE9BQU8sT0FBTyxNQUFNLENBQUMsUUFBUSxLQUFLLFVBQVUsQ0FBQztJ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
317
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmFnZU1hbmFnZXJTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1N0b3JhZ2VNYW5hZ2VyU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBc0Q7QUFDdEQsNkRBQXVJO0FBQ3ZJLDBEQUF1RDtBQUV2RDs7Ozs7Ozs7R0FRRztBQUNILElBQWlCLFFBQVEsQ0ErV3hCO0FBL1dELFdBQWlCLFFBQVE7SUFVdkIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLENBQUM7SUFDM0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUM7SUFDL0MsQ0FBQyxDQUFDO0lBRUYsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBMkIsRUFBRTtRQUNuRSxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsS0FBZ0MsQ0FBQztRQUNoRCxPQUFPLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FB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
@@ -1,7 +1,6 @@
1
1
  import { Services as services } from '../CoreService';
2
- import { Expression } from "jsonata";
3
2
  import { TemplateDelegate as HandlebarsTemplateDelegate } from "handlebars";
4
- import { TemplateCompileItem, TemplateCompileInput, TemplateCompileKey } from "@researchdatabox/sails-ng-common";
3
+ import { TemplateCompileInput, TemplateCompileItem, TemplateCompileKey } from "@researchdatabox/sails-ng-common";
5
4
  export declare namespace Services {
6
5
  class Template extends services.Core.Service {
7
6
  private helpersRegistered;
@@ -25,14 +24,6 @@ export declare namespace Services {
25
24
  * @param expression The JSONata expression to compile.
26
25
  */
27
26
  buildClientJsonata(expression: string): string | null;
28
- /**
29
- * Compile a JSONata expression to a form that is ready to be executed on the server.
30
- *
31
- * The expression will be normalised and have some transformations applied.
32
- *
33
- * @param expression The JSONata expression to compile.
34
- */
35
- buildServerJsonata(expression: string): Expression | null;
36
27
  /**
37
28
  * Compile a Handlebars template to a form that is ready to be executed on the client.
38
29
  *
@@ -50,13 +41,6 @@ export declare namespace Services {
50
41
  */
51
42
  buildServerHandlebars(template: string): HandlebarsTemplateDelegate | null;
52
43
  buildKeyString(key: TemplateCompileKey): string;
53
- private buildSharedJsonata;
54
- /**
55
- * Normalise a string to reduce the potential variations in how characters are specified.
56
- *
57
- * @param value The string to normalise.
58
- */
59
- private normalise;
60
44
  }
61
45
  }
62
46
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateService.d.ts","sourceRoot":"","sources":["../../src/services/TemplateService.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,QAAQ,IAAI,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAmB,EAAE,gBAAgB,IAAI,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,kBAAkB,EAAwE,MAAM,kCAAkC,CAAC;AAIvL,yBAAiB,QAAQ,CAAC;IAEtB,MACa,QAAS,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAE/C,OAAO,CAAC,iBAAiB,CAAkB;QAE3C;;WAEG;QACH,OAAO,CAAC,uBAAuB;QAQ/B;;;;;;WAMG;QACI,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,mBAAmB,EAAE;QAqChF;;;;;;WAMG;QACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;QAe5D;;;;;;WAMG;QACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;QAYhE;;;;;;WAMG;QACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;QAc7D;;;;;;WAMG;QACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;QAa1E,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM;QAItD,OAAO,CAAC,kBAAkB;QAe1B;;;;WAIG;QACH,OAAO,CAAC,SAAS;KAYpB;CACJ;AAED,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC1C"}
1
+ {"version":3,"file":"TemplateService.d.ts","sourceRoot":"","sources":["../../src/services/TemplateService.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAC,QAAQ,IAAI,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAmB,EAAC,gBAAgB,IAAI,0BAA0B,EAAC,MAAM,YAAY,CAAC;AACtF,OAAO,EAKL,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,kCAAkC,CAAC;AAG1C,yBAAiB,QAAQ,CAAC;IAEtB,MACa,QAAS,SAAQ,QAAQ,CAAC,IAAI,CAAC,OAAO;QAE/C,OAAO,CAAC,iBAAiB,CAAkB;QAE3C;;WAEG;QACH,OAAO,CAAC,uBAAuB;QAQ/B;;;;;;WAMG;QACI,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,mBAAmB,EAAE;QAqChF;;;;;;WAMG;QACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;QAe5D;;;;;;WAMG;QACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;QAc7D;;;;;;WAMG;QACI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;QAa1E,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM;KAGzD;CACJ;AAED,OAAO,CAAC,MAAM,CAAC;IACX,IAAI,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC;CAC1C"}
@@ -30,7 +30,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.Services = void 0;
31
31
  const PopulateExportedMethods_decorator_1 = require("../decorator/PopulateExportedMethods.decorator");
32
32
  const CoreService_1 = require("../CoreService");
33
- const jsonata_1 = __importDefault(require("jsonata"));
34
33
  const handlebars_1 = __importDefault(require("handlebars"));
35
34
  const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
36
35
  var Services;
@@ -98,9 +97,9 @@ var Services;
98
97
  */
99
98
  buildClientJsonata(expression) {
100
99
  try {
101
- expression = this.normalise(expression);
100
+ expression = (0, sails_ng_common_1.normaliseVisual)(expression);
102
101
  // Validate the expression by compiling it
103
- const compiled = this.buildSharedJsonata(expression);
102
+ const compiled = (0, sails_ng_common_1.jsonataCompile)(expression);
104
103
  sails.log.verbose(`Validated client JSONata expression '${expression}'`, compiled);
105
104
  // Return the expression string for client-side compilation
106
105
  // The client will call jsonata(expression).evaluate(context)
@@ -111,25 +110,6 @@ var Services;
111
110
  return null;
112
111
  }
113
112
  }
114
- /**
115
- * Compile a JSONata expression to a form that is ready to be executed on the server.
116
- *
117
- * The expression will be normalised and have some transformations applied.
118
- *
119
- * @param expression The JSONata expression to compile.
120
- */
121
- buildServerJsonata(expression) {
122
- try {
123
- expression = this.normalise(expression);
124
- const result = this.buildSharedJsonata(expression);
125
- sails.log.verbose(`Built server JSONata expression '${expression}'`);
126
- return result;
127
- }
128
- catch (error) {
129
- sails.log.error(`Could not build server JSONata expression '${expression}'`, error);
130
- return null;
131
- }
132
- }
133
113
  /**
134
114
  * Compile a Handlebars template to a form that is ready to be executed on the client.
135
115
  *
@@ -140,7 +120,7 @@ var Services;
140
120
  buildClientHandlebars(template) {
141
121
  try {
142
122
  this.ensureHelpersRegistered();
143
- template = this.normalise(template);
123
+ template = (0, sails_ng_common_1.normaliseVisual)(template);
144
124
  // handlebars pre-compiled output is already a string
145
125
  const result = handlebars_1.default.precompile(template)?.toString();
146
126
  sails.log.verbose(`Built client Handlebars template '${template}'`);
@@ -161,7 +141,7 @@ var Services;
161
141
  buildServerHandlebars(template) {
162
142
  try {
163
143
  this.ensureHelpersRegistered();
164
- template = this.normalise(template);
144
+ template = (0, sails_ng_common_1.normaliseVisual)(template);
165
145
  const result = handlebars_1.default.compile(template);
166
146
  sails.log.verbose(`Built server Handlebars template '${template}'`);
167
147
  return result;
@@ -174,35 +154,10 @@ var Services;
174
154
  buildKeyString(key) {
175
155
  return (0, sails_ng_common_1.buildKeyString)(key);
176
156
  }
177
- buildSharedJsonata(expression) {
178
- const compiled = (0, jsonata_1.default)(expression);
179
- // override the built-in JSONata 'eval' function
180
- // TODO: check this actually overrides the 'eval' function
181
- compiled.registerFunction("eval", () => undefined);
182
- // TODO: register a function for obtaining translations
183
- // TODO: register a function for formatting date time values
184
- // TODO: register a function / context state holder that provides model data
185
- // TODO: replace regex with google's re2?
186
- return compiled;
187
- }
188
- /**
189
- * Normalise a string to reduce the potential variations in how characters are specified.
190
- *
191
- * @param value The string to normalise.
192
- */
193
- normalise(value) {
194
- value = value?.toString() ?? "";
195
- // Use NFKC: Compatibility Decomposition, followed by Canonical Composition.
196
- // For Identifiers matching: Canonical form, no visual variants
197
- const normForm = "NFKC";
198
- const norm = value.normalize(normForm);
199
- // TODO: other normalisations?
200
- return norm;
201
- }
202
157
  };
203
158
  Template = __decorate([
204
159
  PopulateExportedMethods_decorator_1.PopulateExportedMethods
205
160
  ], Template);
206
161
  Services.Template = Template;
207
162
  })(Services || (exports.Services = Services = {}));
208
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVtcGxhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1RlbXBsYXRlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGO0FBQzFGLEVBQUU7QUFDRiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRix1RUFBdUU7QUFDdkUsdUVBQXVFO0FBQ3ZFLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFDdEMsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSw4REFBOEQ7Ozs7Ozs7Ozs7OztBQUU5RCxzR0FBeUY7QUFDekYsZ0RBQXNEO0FBQ3RELHNEQUE4QztBQUM5Qyw0REFBd0Y7QUFDeEYsc0VBQXVMO0FBSXZMLElBQWlCLFFBQVEsQ0FxTHhCO0FBckxELFdBQWlCLFFBQVE7SUFHckIsSUFBYSxRQUFRLEdBQXJCLE1BQWEsUUFBUyxTQUFRLHNCQUFRLENBQUMsSUFBSSxDQUFDLE9BQU87UUFFdkMsaUJBQWlCLEdBQVksS0FBSyxDQUFDO1FBRTNDOztXQUVHO1FBQ0ssdUJBQXVCO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDMUIsSUFBQSxpREFBK0IsRUFBQyxvQkFBVSxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7Z0JBQzlCLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDL0UsQ0FBQztRQUNMLENBQUM7UUFFRDs7Ozs7O1dBTUc7UUFDSSxrQkFBa0IsQ0FBQyxNQUE4QjtZQUNwRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBQSxnQ0FBYyxFQUFDLENB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
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVtcGxhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL1RlbXBsYXRlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGO0FBQzFGLEVBQUU7QUFDRiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRix1RUFBdUU7QUFDdkUsdUVBQXVFO0FBQ3ZFLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFDdEMsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSw4REFBOEQ7Ozs7Ozs7Ozs7OztBQUU5RCxzR0FBdUY7QUFDdkYsZ0RBQW9EO0FBQ3BELDREQUFzRjtBQUN0RixzRUFTMEM7QUFHMUMsSUFBaUIsUUFBUSxDQWlJeEI7QUFqSUQsV0FBaUIsUUFBUTtJQUdyQixJQUFhLFFBQVEsR0FBckIsTUFBYSxRQUFTLFNBQVEsc0JBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTztRQUV2QyxpQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFFM0M7O1dBRUc7UUFDSyx1QkFBdUI7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMxQixJQUFBLGlEQUErQixFQUFDLG9CQUFVLENBQUMsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztnQkFDOUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsdURBQXVELENBQUMsQ0FBQztZQUMvRSxDQUFDO1FBQ0wsQ0FBQztRQUVEOzs7Ozs7V0FNRztRQUNJLGtCQUFrQixDQUFDLE1BQThCO1lBQ3BELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFBLGdDQUFjLEVBQUMsQ0FBQyxDQUFDLEdBQUcs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
@@ -49,6 +49,7 @@ export declare namespace Services {
49
49
  notation?: string;
50
50
  parent?: string | null;
51
51
  hasChildren: boolean;
52
+ children?: VocabularyChildrenNode[];
52
53
  }
53
54
  export interface VocabularyChildrenResponse {
54
55
  entries: VocabularyChildrenNode[];
@@ -58,6 +59,13 @@ export declare namespace Services {
58
59
  total: number;
59
60
  };
60
61
  }
62
+ export interface VocabularyExpandPathResponse {
63
+ paths: Record<string, VocabularyChildrenNode[]>;
64
+ meta: {
65
+ vocabularyId: string;
66
+ notations: string[];
67
+ };
68
+ }
61
69
  export class InvalidParentIdError extends Error {
62
70
  readonly code: 'invalid-parent-id';
63
71
  constructor(message?: string);
@@ -80,6 +88,10 @@ export declare namespace Services {
80
88
  getByIdOrSlug(branding: string, idOrSlug: string): Promise<VocabularyAttributes | null>;
81
89
  getEntries(branding: string, vocabIdOrSlug: string, options?: VocabularyEntriesOptions): Promise<VocabularyEntriesResponse | null>;
82
90
  getChildren(branding: string, vocabIdOrSlug: string, parentId?: string | null): Promise<VocabularyChildrenResponse | null>;
91
+ expandPaths(branding: string, vocabIdOrSlug: string, notations: string[]): Promise<VocabularyExpandPathResponse | null>;
92
+ getEntryByNotation(branding: string, vocabIdOrSlug: string, notation: string): Promise<VocabularyEntryAttributes | null>;
93
+ getAncestorChain(branding: string, vocabIdOrSlug: string, notation: string): Promise<VocabularyEntryAttributes[]>;
94
+ private toVocabularyChildrenNode;
83
95
  create(input: VocabularyInput): Promise<VocabularyAttributes>;
84
96
  bootstrapData(): Promise<void>;
85
97
  update(id: string, input: Partial<VocabularyInput>): Promise<VocabularyAttributes>;
@@ -1 +1 @@
1
- {"version":3,"file":"VocabularyService.d.ts","sourceRoot":"","sources":["../../src/services/VocabularyService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VocabularyService.d.ts","sourceRoot":"","sources":["../../src/services/VocabularyService.ts"],"names":[],"mappings":"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"}