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

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 (347) hide show
  1. package/dist/CoreController.d.ts +4 -0
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +33 -1
  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 +78 -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/brandingConfigurationDefaults.config.js +3 -3
  107. package/dist/config/dashboardtype.config.d.ts +5 -0
  108. package/dist/config/dashboardtype.config.d.ts.map +1 -1
  109. package/dist/config/dashboardtype.config.js +1 -1
  110. package/dist/config/dashboardview.config.d.ts +24 -0
  111. package/dist/config/dashboardview.config.d.ts.map +1 -0
  112. package/dist/config/dashboardview.config.js +137 -0
  113. package/dist/config/dompurify.config.d.ts.map +1 -1
  114. package/dist/config/dompurify.config.js +2 -2
  115. package/dist/config/http.config.d.ts.map +1 -1
  116. package/dist/config/http.config.js +5 -3
  117. package/dist/config/index.d.ts +6 -0
  118. package/dist/config/index.d.ts.map +1 -1
  119. package/dist/config/index.js +4 -1
  120. package/dist/config/namedQuery.config.d.ts +10 -2
  121. package/dist/config/namedQuery.config.d.ts.map +1 -1
  122. package/dist/config/namedQuery.config.js +17 -17
  123. package/dist/config/policies.config.d.ts +3 -0
  124. package/dist/config/policies.config.d.ts.map +1 -1
  125. package/dist/config/policies.config.js +35 -1
  126. package/dist/config/record.config.d.ts.map +1 -1
  127. package/dist/config/record.config.js +2 -1
  128. package/dist/config/recordtype.config.d.ts +28 -0
  129. package/dist/config/recordtype.config.d.ts.map +1 -1
  130. package/dist/config/recordtype.config.js +85 -9
  131. package/dist/config/routes.config.d.ts +5 -2
  132. package/dist/config/routes.config.d.ts.map +1 -1
  133. package/dist/config/routes.config.js +24 -110
  134. package/dist/config/storage.config.d.ts +20 -2
  135. package/dist/config/storage.config.d.ts.map +1 -1
  136. package/dist/config/storage.config.js +2 -1
  137. package/dist/config/vocab.config.d.ts +30 -0
  138. package/dist/config/vocab.config.d.ts.map +1 -1
  139. package/dist/config/vocab.config.js +21 -1
  140. package/dist/config/webpack.config.d.ts.map +1 -1
  141. package/dist/config/webpack.config.js +13 -7
  142. package/dist/config/workflow.config.d.ts +0 -1
  143. package/dist/config/workflow.config.d.ts.map +1 -1
  144. package/dist/config/workflow.config.js +1 -137
  145. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  146. package/dist/configmodels/AdminSidebarConfig.js +1 -2
  147. package/dist/configmodels/ConfigModels.d.ts +1 -1
  148. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  149. package/dist/configmodels/ConfigModels.js +9 -1
  150. package/dist/configmodels/DashboardTableOverrideConfig.d.ts +1011 -0
  151. package/dist/configmodels/DashboardTableOverrideConfig.d.ts.map +1 -0
  152. package/dist/configmodels/DashboardTableOverrideConfig.js +138 -0
  153. package/dist/controllers/AdminController.d.ts +0 -1
  154. package/dist/controllers/AdminController.d.ts.map +1 -1
  155. package/dist/controllers/AdminController.js +2 -32
  156. package/dist/controllers/BrandingController.d.ts +3 -5
  157. package/dist/controllers/BrandingController.d.ts.map +1 -1
  158. package/dist/controllers/BrandingController.js +29 -21
  159. package/dist/controllers/DashboardConfigController.d.ts +8 -0
  160. package/dist/controllers/DashboardConfigController.d.ts.map +1 -0
  161. package/dist/controllers/DashboardConfigController.js +17 -0
  162. package/dist/controllers/DynamicAssetController.d.ts +1 -0
  163. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  164. package/dist/controllers/DynamicAssetController.js +20 -1
  165. package/dist/controllers/EmailController.d.ts.map +1 -1
  166. package/dist/controllers/EmailController.js +16 -12
  167. package/dist/controllers/FormVocabularyController.d.ts +1 -0
  168. package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
  169. package/dist/controllers/FormVocabularyController.js +94 -4
  170. package/dist/controllers/RecordController.d.ts +18 -1
  171. package/dist/controllers/RecordController.d.ts.map +1 -1
  172. package/dist/controllers/RecordController.js +274 -124
  173. package/dist/controllers/RenderViewController.d.ts.map +1 -1
  174. package/dist/controllers/RenderViewController.js +4 -2
  175. package/dist/controllers/TranslationController.d.ts.map +1 -1
  176. package/dist/controllers/TranslationController.js +3 -2
  177. package/dist/controllers/WorkspaceTypesController.d.ts +3 -2
  178. package/dist/controllers/WorkspaceTypesController.d.ts.map +1 -1
  179. package/dist/controllers/WorkspaceTypesController.js +120 -31
  180. package/dist/controllers/index.d.ts.map +1 -1
  181. package/dist/controllers/index.js +7 -4
  182. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  183. package/dist/controllers/webservice/AdminController.js +15 -16
  184. package/dist/controllers/webservice/AppConfigController.d.ts.map +1 -1
  185. package/dist/controllers/webservice/AppConfigController.js +19 -20
  186. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  187. package/dist/controllers/webservice/BrandingController.js +101 -48
  188. package/dist/controllers/webservice/DashboardConfigController.d.ts +26 -0
  189. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -0
  190. package/dist/controllers/webservice/DashboardConfigController.js +241 -0
  191. package/dist/controllers/webservice/ExportController.d.ts.map +1 -1
  192. package/dist/controllers/webservice/ExportController.js +11 -11
  193. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  194. package/dist/controllers/webservice/FormManagementController.js +11 -13
  195. package/dist/controllers/webservice/RecordController.d.ts +4 -0
  196. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  197. package/dist/controllers/webservice/RecordController.js +428 -257
  198. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  199. package/dist/controllers/webservice/RecordTypeController.js +9 -10
  200. package/dist/controllers/webservice/ReportController.d.ts.map +1 -1
  201. package/dist/controllers/webservice/ReportController.js +18 -20
  202. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  203. package/dist/controllers/webservice/SearchController.js +28 -35
  204. package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
  205. package/dist/controllers/webservice/TranslationController.js +61 -39
  206. package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
  207. package/dist/controllers/webservice/UserManagementController.js +112 -99
  208. package/dist/controllers/webservice/VocabularyController.d.ts.map +1 -1
  209. package/dist/controllers/webservice/VocabularyController.js +76 -28
  210. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  211. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  212. package/dist/hooks/defineRedboxHook.js +4 -1
  213. package/dist/index.d.ts +2 -0
  214. package/dist/index.d.ts.map +1 -1
  215. package/dist/index.js +2 -1
  216. package/dist/loader/index.d.ts +6 -0
  217. package/dist/loader/index.d.ts.map +1 -1
  218. package/dist/loader/index.js +57 -10
  219. package/dist/middleware/redboxSession.js +1 -1
  220. package/dist/model/DashboardTypeResponseModel.d.ts +13 -1
  221. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  222. package/dist/model/DashboardTypeResponseModel.js +12 -4
  223. package/dist/model/DashboardViewResponseModel.d.ts +20 -0
  224. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -0
  225. package/dist/model/DashboardViewResponseModel.js +38 -0
  226. package/dist/model/RecordTypeResponseModel.d.ts +3 -1
  227. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  228. package/dist/model/RecordTypeResponseModel.js +4 -2
  229. package/dist/model/index.d.ts +1 -0
  230. package/dist/model/index.d.ts.map +1 -1
  231. package/dist/model/index.js +5 -2
  232. package/dist/model/storage/BrandingModel.d.ts +0 -16
  233. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  234. package/dist/model/storage/BrandingModel.js +2 -51
  235. package/dist/model/storage/DashboardTypeModel.d.ts +4 -0
  236. package/dist/model/storage/DashboardTypeModel.d.ts.map +1 -1
  237. package/dist/model/storage/RecordTypeModel.d.ts +16 -0
  238. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  239. package/dist/model/storage/RecordTypeModel.js +9 -1
  240. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  241. package/dist/policies/contentSecurityPolicy.js +23 -2
  242. package/dist/policies/index.d.ts +3 -0
  243. package/dist/policies/index.d.ts.map +1 -1
  244. package/dist/policies/index.js +6 -2
  245. package/dist/policies/validateApiContractRequest.d.ts +3 -0
  246. package/dist/policies/validateApiContractRequest.d.ts.map +1 -0
  247. package/dist/policies/validateApiContractRequest.js +74 -0
  248. package/dist/responses/badRequest.d.ts.map +1 -1
  249. package/dist/responses/badRequest.js +5 -3
  250. package/dist/responses/created.d.ts.map +1 -1
  251. package/dist/responses/created.js +5 -3
  252. package/dist/responses/forbidden.d.ts.map +1 -1
  253. package/dist/responses/forbidden.js +5 -3
  254. package/dist/responses/ok.d.ts.map +1 -1
  255. package/dist/responses/ok.js +5 -3
  256. package/dist/responses/serverError.d.ts.map +1 -1
  257. package/dist/responses/serverError.js +5 -3
  258. package/dist/responses/siteTitle.d.ts +6 -0
  259. package/dist/responses/siteTitle.d.ts.map +1 -0
  260. package/dist/responses/siteTitle.js +28 -0
  261. package/dist/sails.d.ts +7 -0
  262. package/dist/sails.d.ts.map +1 -1
  263. package/dist/services/AgendaQueueService.d.ts +38 -17
  264. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  265. package/dist/services/AgendaQueueService.js +311 -81
  266. package/dist/services/AttachmentMetadataService.d.ts +34 -0
  267. package/dist/services/AttachmentMetadataService.d.ts.map +1 -0
  268. package/dist/services/AttachmentMetadataService.js +133 -0
  269. package/dist/services/BrandingLogoService.d.ts +6 -8
  270. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  271. package/dist/services/BrandingLogoService.js +66 -72
  272. package/dist/services/DashboardConfigService.d.ts +71 -0
  273. package/dist/services/DashboardConfigService.d.ts.map +1 -0
  274. package/dist/services/DashboardConfigService.js +309 -0
  275. package/dist/services/DashboardTypesService.d.ts +61 -63
  276. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  277. package/dist/services/DashboardTypesService.js +361 -198
  278. package/dist/services/DoiService.d.ts +11 -0
  279. package/dist/services/DoiService.d.ts.map +1 -1
  280. package/dist/services/DoiService.js +206 -1
  281. package/dist/services/FigshareService.d.ts.map +1 -1
  282. package/dist/services/FigshareService.js +5 -1
  283. package/dist/services/FormVocabularyService.d.ts +45 -0
  284. package/dist/services/FormVocabularyService.d.ts.map +1 -0
  285. package/dist/services/FormVocabularyService.js +326 -0
  286. package/dist/services/I18nEntriesService.d.ts +3 -0
  287. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  288. package/dist/services/I18nEntriesService.js +14 -2
  289. package/dist/services/NamedQueryService.d.ts +27 -9
  290. package/dist/services/NamedQueryService.d.ts.map +1 -1
  291. package/dist/services/NamedQueryService.js +223 -55
  292. package/dist/services/RDMPService.d.ts.map +1 -1
  293. package/dist/services/RDMPService.js +3 -2
  294. package/dist/services/RecordsService.d.ts +8 -2
  295. package/dist/services/RecordsService.d.ts.map +1 -1
  296. package/dist/services/RecordsService.js +64 -16
  297. package/dist/services/ReportsService.d.ts.map +1 -1
  298. package/dist/services/ReportsService.js +7 -1
  299. package/dist/services/StandardDatastreamService.d.ts +32 -5
  300. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  301. package/dist/services/StandardDatastreamService.js +490 -38
  302. package/dist/services/StorageManagerService.d.ts +12 -1
  303. package/dist/services/StorageManagerService.d.ts.map +1 -1
  304. package/dist/services/StorageManagerService.js +72 -7
  305. package/dist/services/index.d.ts +9 -3
  306. package/dist/services/index.d.ts.map +1 -1
  307. package/dist/services/index.js +17 -7
  308. package/dist/storage/GridFSDriver.d.ts +101 -0
  309. package/dist/storage/GridFSDriver.d.ts.map +1 -0
  310. package/dist/storage/GridFSDriver.js +291 -0
  311. package/dist/storage/TusStorageManagerDataStore.d.ts +49 -0
  312. package/dist/storage/TusStorageManagerDataStore.d.ts.map +1 -0
  313. package/dist/storage/TusStorageManagerDataStore.js +300 -0
  314. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  315. package/dist/visitor/construct.visitor.js +6 -3
  316. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  317. package/dist/visitor/migrate-config-v4-v5.visitor.js +19 -1
  318. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  319. package/dist/visitor/validator.visitor.js +11 -3
  320. package/dist/waterline-models/AttachmentAccessAudit.d.ts +26 -0
  321. package/dist/waterline-models/AttachmentAccessAudit.d.ts.map +1 -0
  322. package/dist/waterline-models/AttachmentAccessAudit.js +63 -0
  323. package/dist/waterline-models/AttachmentMetadata.d.ts +40 -0
  324. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -0
  325. package/dist/waterline-models/AttachmentMetadata.js +147 -0
  326. package/dist/waterline-models/BrandingConfig.d.ts +0 -2
  327. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  328. package/dist/waterline-models/BrandingConfig.js +1 -6
  329. package/dist/waterline-models/DashboardType.d.ts +7 -0
  330. package/dist/waterline-models/DashboardType.d.ts.map +1 -1
  331. package/dist/waterline-models/DashboardType.js +16 -1
  332. package/dist/waterline-models/I18nTranslation.d.ts +2 -0
  333. package/dist/waterline-models/I18nTranslation.d.ts.map +1 -1
  334. package/dist/waterline-models/I18nTranslation.js +6 -1
  335. package/dist/waterline-models/NamedQuery.d.ts +6 -0
  336. package/dist/waterline-models/NamedQuery.d.ts.map +1 -1
  337. package/dist/waterline-models/NamedQuery.js +16 -1
  338. package/dist/waterline-models/index.d.ts +4 -0
  339. package/dist/waterline-models/index.d.ts.map +1 -1
  340. package/dist/waterline-models/index.js +7 -1
  341. package/package.json +31 -21
  342. package/dist/controllers/VocabController.d.ts +0 -43
  343. package/dist/controllers/VocabController.d.ts.map +0 -1
  344. package/dist/controllers/VocabController.js +0 -190
  345. package/dist/services/VocabService.d.ts +0 -81
  346. package/dist/services/VocabService.d.ts.map +0 -1
  347. package/dist/services/VocabService.js +0 -424
@@ -1 +1 @@
1
- {"version":3,"file":"RecordTypeController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/RecordTypeController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,WAAW,IAAI,WAAW,EAAoD,MAAM,aAAa,CAAC;AAI5I,yBAAiB,WAAW,CAAC;IAC3B;;;;OAIG;IACH,MAAa,UAAW,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QACzD,OAAO,CAAC,eAAe;QAIvB;;WAEG;QACH,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAG3C;QAEF;;;;WAIG;QAEI,SAAS;QAIH,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAkB5C,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KA0B5D;CACF"}
1
+ {"version":3,"file":"RecordTypeController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/RecordTypeController.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,IAAI,WAAW,EAO3B,MAAM,aAAa,CAAC;AAGrB,yBAAiB,WAAW,CAAC;IAC3B;;;;OAIG;IACH,MAAa,UAAW,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QACzD,OAAO,CAAC,eAAe;QAIvB;;WAEG;QACH,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAAwC;QAErF;;;;WAIG;QAEI,SAAS;QAEH,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAmB5C,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KA0B5D;CACF"}
@@ -17,20 +17,18 @@ var Controllers;
17
17
  /**
18
18
  * Exported methods, accessible from internet.
19
19
  */
20
- _exportedMethods = [
21
- 'getRecordType',
22
- 'listRecordTypes'
23
- ];
20
+ _exportedMethods = ['getRecordType', 'listRecordTypes'];
24
21
  /**
25
22
  **************************************************************************************************
26
23
  **************************************** Add custom methods **************************************
27
24
  **************************************************************************************************
28
25
  */
29
- bootstrap() {
30
- }
26
+ bootstrap() { }
31
27
  async getRecordType(req, res) {
32
28
  try {
33
- const name = req.param('name');
29
+ const validated = (0, index_1.getValidatedApiRequest)(req);
30
+ const { query } = validated;
31
+ const name = query.name;
34
32
  const brand = BrandingService.getBrand(req.session.branding);
35
33
  const recordType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brand, name));
36
34
  return this.apiRespond(req, res, recordType, 200);
@@ -40,12 +38,13 @@ var Controllers;
40
38
  return this.sendResp(req, res, {
41
39
  status: 500,
42
40
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
43
- headers: this.getNoCacheHeaders()
41
+ headers: this.getNoCacheHeaders(),
44
42
  });
45
43
  }
46
44
  }
47
45
  async listRecordTypes(req, res) {
48
46
  try {
47
+ const validated = (0, index_1.getValidatedApiRequest)(req);
49
48
  const brand = BrandingService.getBrand(req.session.branding);
50
49
  const recordTypes = await (0, rxjs_1.firstValueFrom)(RecordTypesService.getAll(brand));
51
50
  const response = new index_1.ListAPIResponse();
@@ -60,11 +59,11 @@ var Controllers;
60
59
  return this.sendResp(req, res, {
61
60
  status: 500,
62
61
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
63
- headers: this.getNoCacheHeaders()
62
+ headers: this.getNoCacheHeaders(),
64
63
  });
65
64
  }
66
65
  }
67
66
  }
68
67
  Controllers.RecordType = RecordType;
69
68
  })(Controllers || (exports.Controllers = Controllers = {}));
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVHlwZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlcnMvd2Vic2VydmljZS9SZWNvcmRUeXBlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FBNEk7QUFDNUksK0JBQXNDO0FBR3RDLElBQWlCLFdBQVcsQ0EwRTNCO0FBMUVELFdBQWlCLFdBQVc7SUFDMUI7Ozs7T0FJRztJQUNILE1BQWEsVUFBVyxTQUFRLG1CQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDakQsZUFBZSxDQUFDLEtBQWM7WUFDcEMsT0FBTyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVEOztXQUVHO1FBQ2dCLGdCQUFnQixHQUFhO1lBQzlDLGVBQWU7WUFDZixpQkFBaUI7U0FDbEIsQ0FBQztRQUVGOzs7O1dBSUc7UUFFSSxTQUFTO1FBRWhCLENBQUM7UUFFTSxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQWMsRUFBRSxHQUFjO1lBRXZELElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMvQixNQUFNLEtBQUssR0FBa0IsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQWtCLENBQUMsQ0FBQztnQkFDdEYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLHFCQUFjLEVBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUU3RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDbkQsQ0FBQztZQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksd0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLEdBQUc7b0JBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNoRixPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2lCQUNsQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztRQUVNLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDekQsSUFBSSxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFrQixlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBa0IsQ0FBQyxDQUFDO2dCQUN0RixNQUFNLFdBQVcsR0FBc0IsTUFBTSxJQUFBLHFCQUFjLEVBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzlGLE1BQU0sUUFBUSxHQUFxQyxJQUFJLHVCQUFlLEVBQUUsQ0FBQztnQkFDekUsTUFBTSxPQUFPLEdBQW1CLElBQUksc0JBQWMsRUFBRSxDQUFDO2dCQUNyRCxPQUFPLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ3RDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO2dCQUMzQixRQUFRLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQztnQkFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0MsQ0FBQztZQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksd0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRTtvQkFDN0IsTUFBTSxFQUFFLEdBQUc7b0JBQ1gsYUFBYSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNoRixPQUFPLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2lCQUNsQyxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQztLQVFGO0lBbkVZLHNCQUFVLGFBbUV0QixDQUFBO0FBQ0gsQ0FBQyxFQTFFZ0IsV0FBVywyQkFBWCxXQUFXLFFBMEUzQiJ9
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVHlwZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udHJvbGxlcnMvd2Vic2VydmljZS9SZWNvcmRUeXBlQ29udHJvbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1Q0FVcUI7QUFDckIsK0JBQXNDO0FBRXRDLElBQWlCLFdBQVcsQ0FzRTNCO0FBdEVELFdBQWlCLFdBQVc7SUFDMUI7Ozs7T0FJRztJQUNILE1BQWEsVUFBVyxTQUFRLG1CQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDakQsZUFBZSxDQUFDLEtBQWM7WUFDcEMsT0FBTyxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVEOztXQUVHO1FBQ2dCLGdCQUFnQixHQUFhLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFckY7Ozs7V0FJRztRQUVJLFNBQVMsS0FBSyxDQUFDO1FBRWYsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUN2RCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQWMsQ0FBQztnQkFDbEMsTUFBTSxLQUFLLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixDQUFDLENBQUM7Z0JBQ3RGLE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBQSxxQkFBYyxFQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFN0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLGFBQWEsR0FBRyxJQUFJLHdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDeEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzdCLE1BQU0sRUFBRSxHQUFHO29CQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDaEYsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtpQkFDbEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7UUFFTSxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQ3pELElBQUksQ0FBQztnQkFDSCxNQUFNLFNBQVMsR0FBRyxJQUFBLDhCQUFzQixFQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLEtBQUssR0FBa0IsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQWtCLENBQUMsQ0FBQztnQkFDdEYsTUFBTSxXQUFXLEdBQXNCLE1BQU0sSUFBQSxxQkFBYyxFQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUM5RixNQUFNLFFBQVEsR0FBcUMsSUFBSSx1QkFBZSxFQUFFLENBQUM7Z0JBQ3pFLE1BQU0sT0FBTyxHQUFtQixJQUFJLHNCQUFjLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUN0QyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDM0IsUUFBUSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO2dCQUN4QixNQUFNLGFBQWEsR0FBRyxJQUFJLHdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDeEUsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUU7b0JBQzdCLE1BQU0sRUFBRSxHQUFHO29CQUNYLGFBQWEsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDaEYsT0FBTyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtpQkFDbEMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7S0FPRjtJQS9EWSxzQkFBVSxhQStEdEIsQ0FBQTtBQUNILENBQUMsRUF0RWdCLFdBQVcsMkJBQVgsV0FBVyxRQXNFM0IifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"ReportController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/ReportController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,WAAW,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1F,yBAAiB,WAAW,CAAC;IAC3B;;;;OAIG;IACH,MAAa,MAAO,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAErD;;WAEG;QACH,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAE3C;QAEF;;;;WAIG;QAEI,SAAS;QAKH,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KAoD9D;CACF"}
1
+ {"version":3,"file":"ReportController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/ReportController.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,IAAI,WAAW,EAG3B,MAAM,aAAa,CAAC;AAErB,yBAAiB,WAAW,CAAC;IAC3B;;;;OAIG;IACH,MAAa,MAAO,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QACrD;;WAEG;QACH,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAAyB;QAEtE;;;;WAIG;QAEI,SAAS;QAEH,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KA0D9D;CACF"}
@@ -13,48 +13,46 @@ var Controllers;
13
13
  /**
14
14
  * Exported methods, accessible from internet.
15
15
  */
16
- _exportedMethods = [
17
- 'executeNamedQuery'
18
- ];
16
+ _exportedMethods = ['executeNamedQuery'];
19
17
  /**
20
18
  **************************************************************************************************
21
19
  **************************************** Add custom methods **************************************
22
20
  **************************************************************************************************
23
21
  */
24
- bootstrap() {
25
- }
22
+ bootstrap() { }
26
23
  async executeNamedQuery(req, res) {
27
24
  try {
25
+ const validated = (0, index_1.getValidatedApiRequest)(req);
26
+ const { query } = validated;
28
27
  const brand = BrandingService.getBrand(req.session.branding);
29
- const queryName = req.param('queryName');
28
+ const queryName = query.queryName;
30
29
  const namedQuery = await NamedQueryService.getNamedQueryConfig(brand, queryName);
31
- if (_.isEmpty(namedQuery)) {
32
- const errorResponse = new index_1.APIErrorResponse("Named query not found");
30
+ if (!namedQuery) {
31
+ const errorResponse = new index_1.APIErrorResponse('Named query not found');
33
32
  return this.sendResp(req, res, {
34
33
  status: 400,
35
34
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
36
- headers: this.getNoCacheHeaders()
35
+ headers: this.getNoCacheHeaders(),
37
36
  });
38
37
  }
39
38
  let start = 0;
40
39
  let rows = 10;
41
- if (!_.isEmpty(req.param('start'))) {
42
- start = _.toNumber(req.param('start'));
40
+ if (!_.isEmpty(query.start)) {
41
+ start = _.toNumber(query.start);
43
42
  }
44
- if (!_.isEmpty(req.param('rows'))) {
45
- rows = _.toNumber(req.param('rows'));
43
+ if (!_.isEmpty(query.rows)) {
44
+ rows = _.toNumber(query.rows);
46
45
  }
47
46
  if (rows > 100) {
48
- const errorResponse = new index_1.APIErrorResponse("Rows must not be greater than 100");
47
+ const errorResponse = new index_1.APIErrorResponse('Rows must not be greater than 100');
49
48
  return this.sendResp(req, res, {
50
49
  status: 400,
51
50
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
52
- headers: this.getNoCacheHeaders()
51
+ headers: this.getNoCacheHeaders(),
53
52
  });
54
53
  }
55
- const namedQueryConfig = sails.config.namedQuery[queryName];
56
- const paramMap = _.clone(req.query);
57
- const response = await NamedQueryService.performNamedQueryFromConfig(namedQueryConfig, paramMap, brand, start, rows);
54
+ const paramMap = _.clone(query);
55
+ const response = await NamedQueryService.performNamedQueryFromConfig(namedQuery, paramMap, brand, start, rows);
58
56
  sails.log.verbose(`NamedQueryService response: ${JSON.stringify(response)}`);
59
57
  return this.apiRespond(req, res, response, 200);
60
58
  }
@@ -64,11 +62,11 @@ var Controllers;
64
62
  return this.sendResp(req, res, {
65
63
  status: 500,
66
64
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
67
- headers: this.getNoCacheHeaders()
65
+ headers: this.getNoCacheHeaders(),
68
66
  });
69
67
  }
70
68
  }
71
69
  }
72
70
  Controllers.Report = Report;
73
71
  })(Controllers || (exports.Controllers = Controllers = {}));
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0Q29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVycy93ZWJzZXJ2aWNlL1JlcG9ydENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQTBGO0FBRzFGLElBQWlCLFdBQVcsQ0ErRTNCO0FBL0VELFdBQWlCLFdBQVc7SUFDMUI7Ozs7T0FJRztJQUNILE1BQWEsTUFBTyxTQUFRLG1CQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFFckQ7O1dBRUc7UUFDZ0IsZ0JBQWdCLEdBQWE7WUFDOUMsbUJBQW1CO1NBQ3BCLENBQUM7UUFFRjs7OztXQUlHO1FBRUksU0FBUztRQUVoQixDQUFDO1FBR00sS0FBSyxDQUFDLGlCQUFpQixDQUFDLEdBQWMsRUFBRSxHQUFjO1lBQzNELElBQUksQ0FBQztnQkFDSCxNQUFNLEtBQUssR0FBa0IsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQWtCLENBQUMsQ0FBQztnQkFDdEYsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDekMsTUFBTSxVQUFVLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLHdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7b0JBQ3BFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7d0JB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
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0Q29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVycy93ZWJzZXJ2aWNlL1JlcG9ydENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBTXFCO0FBRXJCLElBQWlCLFdBQVcsQ0ErRTNCO0FBL0VELFdBQWlCLFdBQVc7SUFDMUI7Ozs7T0FJRztJQUNILE1BQWEsTUFBTyxTQUFRLG1CQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDckQ7O1dBRUc7UUFDZ0IsZ0JBQWdCLEdBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXRFOzs7O1dBSUc7UUFFSSxTQUFTLEtBQUssQ0FBQztRQUVmLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUMzRCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxHQUFHLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLFNBQVMsQ0FBQztnQkFDNUIsTUFBTSxLQUFLLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixDQUFDLENBQUM7Z0JBQ3RGLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFtQixDQUFDO2dCQUM1QyxNQUFNLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztnQkFDakYsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNoQixNQUFNLGFBQWEsR0FBRyxJQUFJLHdCQUFnQixDQUFDLHVCQUF1QixDQUFDLENBQUM7b0JBQ3BFLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO3dCQUM3QixNQUFNLEVBQUUsR0FBRzt3QkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFB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
@@ -1 +1 @@
1
- {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/SearchController.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4D,WAAW,IAAI,WAAW,EAAgC,cAAc,EAAa,aAAa,EAAa,MAAM,aAAa,CAAC;AAMtM,yBAAiB,WAAW,CAAC;IAC3B;;;;OAIG;IACH,MAAa,MAAO,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAErD,aAAa,EAAG,aAAa,CAAC;QAC9B,cAAc,EAAG,cAAc,CAAC;QAEzB,IAAI,IAAI,IAAI;QAOnB;;WAEG;QACH,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAM3C;QAEF;;;;WAIG;QAEI,SAAS;QAIM,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAQ7C,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA6BvC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAUxC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KAkDnD;CACF"}
1
+ {"version":3,"file":"SearchController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/SearchController.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,IAAI,WAAW,EAG1B,cAAc,EAEd,aAAa,EAOd,MAAM,aAAa,CAAC;AAarB,yBAAiB,WAAW,CAAC;IAC3B;;;;OAIG;IACH,MAAa,MAAO,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QACrD,aAAa,EAAG,aAAa,CAAC;QAC9B,cAAc,EAAG,cAAc,CAAC;QAEzB,IAAI,IAAI,IAAI;QAOnB;;WAEG;QACH,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAAwD;QAErG;;;;WAIG;QAEI,SAAS;QAEM,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAe7C,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAkDvC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAgBxC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KAgDnD;CACF"}
@@ -2,7 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Controllers = void 0;
4
4
  const index_1 = require("../../index");
5
+ const search_query_1 = require("../../api-routes/groups/search-query");
5
6
  const rxjs_1 = require("rxjs");
7
+ function toSearchEntries(value) {
8
+ if (!_.isPlainObject(value)) {
9
+ return [];
10
+ }
11
+ return Object.entries(value).map(([name, entryValue]) => ({ name, value: entryValue }));
12
+ }
6
13
  var Controllers;
7
14
  (function (Controllers) {
8
15
  /**
@@ -22,27 +29,23 @@ var Controllers;
22
29
  /**
23
30
  * Exported methods, accessible from internet.
24
31
  */
25
- _exportedMethods = [
26
- 'init',
27
- 'search',
28
- 'index',
29
- 'indexAll',
30
- 'removeAll'
31
- ];
32
+ _exportedMethods = ['init', 'search', 'index', 'indexAll', 'removeAll'];
32
33
  /**
33
34
  **************************************************************************************************
34
35
  **************************************** Add custom methods **************************************
35
36
  **************************************************************************************************
36
37
  */
37
- bootstrap() {
38
- }
38
+ bootstrap() { }
39
39
  async index(req, res) {
40
- const oid = req.param('oid');
40
+ const validated = (0, index_1.getValidatedApiRequest)(req);
41
+ const { query } = validated;
42
+ const oid = query.oid;
41
43
  const record = await this.RecordsService.getMeta(oid);
42
44
  await this.searchService.index(oid, record);
43
- return this.apiRespond(req, res, new index_1.APIObjectActionResponse(oid, "Index request added to message queue for processing"), 200);
45
+ return this.apiRespond(req, res, new index_1.APIObjectActionResponse(oid, 'Index request added to message queue for processing'), 200);
44
46
  }
45
47
  async indexAll(req, res) {
48
+ const validated = (0, index_1.getValidatedApiRequest)(req);
46
49
  const brand = BrandingService.getBrand(req.session.branding);
47
50
  sails.log.verbose(`SearchController::indexAll() -> Indexing all records has been requested!`);
48
51
  const itemsPerPage = 100;
@@ -67,42 +70,32 @@ var Controllers;
67
70
  }
68
71
  } while (itemsRead < totalItems);
69
72
  sails.log.verbose(`SearchController::indexAll() -> All records submitted for indexing`);
70
- return this.apiRespond(req, res, new index_1.APIObjectActionResponse("", "Index all records request added to message queue for processing"), 200);
73
+ return this.apiRespond(req, res, new index_1.APIObjectActionResponse('', 'Index all records request added to message queue for processing'), 200);
71
74
  }
72
75
  async removeAll(req, res) {
76
+ const validated = (0, index_1.getValidatedApiRequest)(req);
73
77
  sails.log.verbose(`SearchController::removeAll() -> Removing all records has been requested!`);
74
78
  // delete all documents by specifying id as '*'
75
79
  await this.searchService.remove('*');
76
80
  sails.log.verbose(`SearchController::indexAll() -> Submitted request to remove all`);
77
- return this.apiRespond(req, res, new index_1.APIObjectActionResponse("", "Remove all records request added to message queue for processing"), 200);
81
+ return this.apiRespond(req, res, new index_1.APIObjectActionResponse('', 'Remove all records request added to message queue for processing'), 200);
78
82
  }
79
83
  async search(req, res) {
84
+ const validated = (0, index_1.getValidatedApiRequest)(req);
85
+ const { query } = validated;
80
86
  const brand = BrandingService.getBrand(req.session.branding);
81
- const type = req.query.type;
82
- const workflow = req.query.workflow;
83
- const searchString = req.query.searchStr;
84
- let core = req.query.core;
85
- const exactSearchNames = _.isEmpty(req.query.exactNames) ? [] : req.query.exactNames.split(',');
86
- const exactSearches = [];
87
- const facetSearchNames = _.isEmpty(req.query.facetNames) ? [] : req.query.facetNames.split(',');
88
- const facetSearches = [];
87
+ const type = query.type;
88
+ const workflow = query.workflow;
89
+ const searchString = query.searchStr;
90
+ let core = query.core;
91
+ const normalizedQuery = (0, search_query_1.normalizeSearchQuery)(query);
92
+ const exactSearches = toSearchEntries(normalizedQuery.exactNames);
93
+ const facetSearches = toSearchEntries(normalizedQuery.facetNames);
89
94
  // If a record type is set, fetch from the configuration what core it's being sent from
90
95
  if (type != null) {
91
96
  const recordType = await (0, rxjs_1.firstValueFrom)(RecordTypesService.get(brand, type));
92
97
  core = recordType.searchCore;
93
98
  }
94
- _.forEach(exactSearchNames, (exactSearch) => {
95
- exactSearches.push({
96
- name: exactSearch,
97
- value: req.query[`exact_${exactSearch}`]
98
- });
99
- });
100
- _.forEach(facetSearchNames, (facetSearch) => {
101
- facetSearches.push({
102
- name: facetSearch,
103
- value: req.query[`facet_${facetSearch}`]
104
- });
105
- });
106
99
  try {
107
100
  const searchRes = await this.searchService.searchFuzzy(core, type, workflow, searchString, exactSearches, facetSearches, brand, req.user, req.user.roles, sails.config.record.search.returnFields);
108
101
  this.apiRespond(req, res, searchRes);
@@ -113,11 +106,11 @@ var Controllers;
113
106
  this.sendResp(req, res, {
114
107
  status: 500,
115
108
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
116
- headers: this.getNoCacheHeaders()
109
+ headers: this.getNoCacheHeaders(),
117
110
  });
118
111
  }
119
112
  }
120
113
  }
121
114
  Controllers.Search = Search;
122
115
  })(Controllers || (exports.Controllers = Controllers = {}));
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVycy93ZWJzZXJ2aWNlL1NlYXJjaENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQXNNO0FBQ3RNLCtCQUFzQztBQUt0QyxJQUFpQixXQUFXLENBeUkzQjtBQXpJRCxXQUFpQixXQUFXO0lBQzFCOzs7O09BSUc7SUFDSCxNQUFhLE1BQU8sU0FBUSxtQkFBVyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBRXJELGFBQWEsQ0FBaUI7UUFDOUIsY0FBYyxDQUFrQjtRQUV6QixJQUFJO1lBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsY0FBMkMsQ0FBQztnQkFDakYsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBNkIsQ0FBQztZQUNuRyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRDs7V0FFRztRQUNnQixnQkFBZ0IsR0FBYTtZQUM5QyxNQUFNO1lBQ04sUUFBUTtZQUNSLE9BQU87WUFDUCxVQUFVO1lBQ1YsV0FBVztTQUNaLENBQUM7UUFFRjs7OztXQUlHO1FBRUksU0FBUztRQUVoQixDQUFDO1FBRWUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUN4RCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLE1BQU0sTUFBTSxHQUFnQixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksK0JBQXVCLENBQUMsR0FBRyxFQUFFLHFEQUFxRCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDaEksQ0FBQztRQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbEQsTUFBTSxLQUFLLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixDQUFDLENBQUM7WUFDdEYsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMEVBQTBFLENBQUMsQ0FBQztZQUM5RixNQUFNLFlBQVksR0FBRyxHQUFHLENBQUM7WUFDekIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDbkIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLDJDQUEyQztZQUMzQyxHQUFHLENBQUM7Z0JBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLElBQUssQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUssQ0FBQyxLQUFvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3ZOLElBQUksU0FBUyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNuQixVQUFVLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztvQkFDakMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxDQUFDO2dCQUNwRCxDQUFDO2dCQUNELFNBQVMsRUFBRSxDQUFDO2dCQUNaLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxVQUFVLHNCQUFzQixTQUFTLE9BQU8sVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDNUgsU0FBUyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNwQyxLQUFLLE1BQU0sV0FBVyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDekMsTUFBTSxjQUFjLEdBQUcsV0FBK0QsQ0FBQztvQkFDdkYsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQy9CLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3pGLENBQUM7WUFDSCxDQUFDLFFBQVEsU0FBUyxHQUFHLFVBQVUsRUFBQztZQUVoQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDO1lBQ3hGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksK0JBQXVCLENBQUMsRUFBRSxFQUFFLGlFQUFpRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDNUksQ0FBQztRQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMkVBQTJFLENBQUMsQ0FBQztZQUUvRiwrQ0FBK0M7WUFDL0MsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVyQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO1lBQ3JGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksK0JBQXVCLENBQUMsRUFBRSxFQUFFLGtFQUFrRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDN0ksQ0FBQztRQUVNLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDaEQsTUFBTSxLQUFLLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixDQUFDLENBQUM7WUFDdEYsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDNUIsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDcEMsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDekMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDMUIsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFxQixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RyxNQUFNLGFBQWEsR0FBNEMsRUFBRSxDQUFDO1lBQ2xFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBcUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUcsTUFBTSxhQUFhLEdBQTRDLEVBQUUsQ0FBQztZQUVsRSx1RkFBdUY7WUFDdkYsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sVUFBVSxHQUFvQixNQUFNLElBQUEscUJBQWMsRUFBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlGLElBQUksR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQy9CLENBQUM7WUFFRCxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsV0FBbUIsRUFBRSxFQUFFO2dCQUNsRCxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUUsV0FBVztvQkFDakIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxXQUFXLEVBQUUsQ0FBQztpQkFDekMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFDSCxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsV0FBbUIsRUFBRSxFQUFFO2dCQUNsRCxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUNqQixJQUFJLEVBQUUsV0FBVztvQkFDakIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxXQUFXLEVBQUUsQ0FBQztpQkFDekMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFjLEVBQUUsSUFBYyxFQUFFLFFBQWtCLEVBQUUsWUFBc0IsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsSUFBNkIsRUFBRSxHQUFHLENBQUMsSUFBSyxDQUFDLEtBQStCLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMvUixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUUsTUFBTSxhQUFhLEdBQUcsSUFBSSx3QkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUN0QixNQUFNLEVBQUUsR0FBRztvQkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2hGLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7aUJBQ2xDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0tBUUY7SUFsSVksa0JBQU0sU0FrSWxCLENBQUE7QUFDSCxDQUFDLEVBeklnQixXQUFXLDJCQUFYLFdBQVcsUUF5STNCIn0=
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoQ29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250cm9sbGVycy93ZWJzZXJ2aWNlL1NlYXJjaENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBZ0JxQjtBQUNyQix1RUFBNEU7QUFDNUUsK0JBQXNDO0FBSXRDLFNBQVMsZUFBZSxDQUFDLEtBQWM7SUFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBa0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkcsQ0FBQztBQUVELElBQWlCLFdBQVcsQ0FnSzNCO0FBaEtELFdBQWlCLFdBQVc7SUFDMUI7Ozs7T0FJRztJQUNILE1BQWEsTUFBTyxTQUFRLG1CQUFXLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDckQsYUFBYSxDQUFpQjtRQUM5QixjQUFjLENBQWtCO1FBRXpCLElBQUk7WUFDVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxjQUEyQyxDQUFDO2dCQUNqRixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUE2QixDQUFDO1lBQ25HLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVEOztXQUVHO1FBQ2dCLGdCQUFnQixHQUFhLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBRXJHOzs7O1dBSUc7UUFFSSxTQUFTLEtBQUssQ0FBQztRQUVOLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDeEQsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQzVCLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFhLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQWdCLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkUsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFFNUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUNwQixHQUFHLEVBQ0gsR0FBRyxFQUNILElBQUksK0JBQXVCLENBQUMsR0FBRyxFQUFFLHFEQUFxRCxDQUFDLEVBQ3ZGLEdBQUcsQ0FDSixDQUFDO1FBQ0osQ0FBQztRQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDbEQsTUFBTSxTQUFTLEdBQUcsSUFBQSw4QkFBc0IsRUFBQyxHQUFHLENBQUMsQ0FBQztZQUM5QyxNQUFNLEtBQUssR0FBa0IsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQWtCLENBQUMsQ0FBQztZQUN0RixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO1lBQzlGLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQztZQUN6QixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO1lBQ25CLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztZQUNuQixJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDbEIsMkNBQTJDO1lBQzNDLEdBQUcsQ0FBQztnQkFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUNuRCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ1osR0FBRyxDQUFDLElBQUssQ0FBQyxRQUFRLEVBQ2xCLEdBQUcsQ0FBQyxJQUFLLENBQUMsS0FBb0IsRUFDOUIsS0FBSyxFQUNMLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxTQUFTLENBQ1YsQ0FBQztnQkFDRixJQUFJLFNBQVMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDbkIsVUFBVSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7b0JBQ2pDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxZQUFZLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztnQkFDRCxTQUFTLEVBQUUsQ0FBQztnQkFDWixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FDZiw0Q0FBNEMsVUFBVSxzQkFBc0IsU0FBUyxPQUFPLFVBQVUsRUFBRSxDQUN6RyxDQUFDO2dCQUNGLFNBQVMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDcEMsS0FBSyxNQUFNLFdBQVcsSUFBSSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3pDLE1BQU0sY0FBYyxHQUFHLFdBQStELENBQUM7b0JBQ3ZGLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO29CQUMvQixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN6RixDQUFDO1lBQ0gsQ0FBQyxRQUFRLFNBQVMsR0FBRyxVQUFVLEVBQUU7WUFFakMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0VBQW9FLENBQUMsQ0FBQztZQUN4RixPQUFPLElBQUksQ0FBQyxVQUFVLENBQ3BCLEdBQUcsRUFDSCxHQUFHLEVBQ0gsSUFBSSwrQkFBdUIsQ0FBQyxFQUFFLEVBQUUsaUVBQWlFLENBQUMsRUFDbEcsR0FBRyxDQUNKLENBQUM7UUFDSixDQUFDO1FBRU0sS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNuRCxNQUFNLFNBQVMsR0FBRyxJQUFBLDhCQUFzQixFQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLDJFQUEyRSxDQUFDLENBQUM7WUFFL0YsK0NBQStDO1lBQy9DLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFckMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUVBQWlFLENBQUMsQ0FBQztZQUNyRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQ3BCLEdBQUcsRUFDSCxHQUFHLEVBQ0gsSUFBSSwrQkFBdUIsQ0FBQyxFQUFFLEVBQUUsa0VBQWtFLENBQUMsRUFDbkcsR0FBRyxDQUNKLENBQUM7UUFDSixDQUFDO1FBRU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFjLEVBQUUsR0FBYztZQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFBLDhCQUFzQixFQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUM7WUFDNUIsTUFBTSxLQUFLLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFrQixDQUFDLENBQUM7WUFDdEYsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQTBCLENBQUM7WUFDOUMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQThCLENBQUM7WUFDdEQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFNBQStCLENBQUM7WUFDM0QsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQTBCLENBQUM7WUFDNUMsTUFBTSxlQUFlLEdBQUcsSUFBQSxtQ0FBb0IsRUFBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxNQUFNLGFBQWEsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFbEUsdUZBQXVGO1lBQ3ZGLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNqQixNQUFNLFVBQVUsR0FBb0IsTUFBTSxJQUFBLHFCQUFjLEVBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUM5RixJQUFJLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUMvQixDQUFDO1lBRUQsSUFBSSxDQUFDO2dCQUNILE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQ3BELElBQWMsRUFDZCxJQUFjLEVBQ2QsUUFBa0IsRUFDbEIsWUFBc0IsRUFDdEIsYUFBYSxFQUNiLGFBQWEsRUFDYixLQUFLLEVBQ0wsR0FBRyxDQUFDLElBQTZCLEVBQ2pDLEdBQUcsQ0FBQyxJQUFLLENBQUMsS0FBK0IsRUFDekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FDeEMsQ0FBQztnQkFDRixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkMsQ0FBQztZQUFDLE9BQU8sS0FBYyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sWUFBWSxHQUFHLEtBQUssWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDNUUsTUFBTSxhQUFhLEdBQUcsSUFBSSx3QkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFO29CQUN0QixNQUFNLEVBQUUsR0FBRztvQkFDWCxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2hGLE9BQU8sRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7aUJBQ2xDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0tBT0Y7SUF6Slksa0JBQU0sU0F5SmxCLENBQUE7QUFDSCxDQUFDLEVBaEtnQixXQUFXLDJCQUFYLFdBQVcsUUFnSzNCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/TranslationController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsD,WAAW,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7G,yBAAiB,WAAW,CAAC;IAC3B;;OAEG;IACH,MAAa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAC1D,OAAO,CAAC,OAAO;QAGf,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAQ3C;QAEW,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAsB1C,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA6BvC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA0BvC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA+B1C,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA4BxC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAyBxC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KAqBhE;CACF"}
1
+ {"version":3,"file":"TranslationController.d.ts","sourceRoot":"","sources":["../../../src/controllers/webservice/TranslationController.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,WAAW,IAAI,WAAW,EAQ3B,MAAM,aAAa,CAAC;AAErB,yBAAiB,WAAW,CAAC;IAC3B;;OAEG;IACH,MAAa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC,UAAU;QAC1D,OAAO,CAAC,OAAO;QAGf,UAAmB,gBAAgB,EAAE,MAAM,EAAE,CAQ3C;QAEW,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAwB1C,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA+BvC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAuCvC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAsC1C,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QA8BxC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;QAoCxC,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;KA0BhE;CACF"}
@@ -18,15 +18,17 @@ var Controllers;
18
18
  'deleteEntry',
19
19
  'getBundle',
20
20
  'setBundle',
21
- 'updateBundleEnabled'
21
+ 'updateBundleEnabled',
22
22
  ];
23
23
  async listEntries(req, res) {
24
24
  try {
25
+ const validated = (0, index_1.getValidatedApiRequest)(req);
26
+ const { query } = validated;
25
27
  const brandName = BrandingService.getBrandNameFromReq(req);
26
28
  const branding = BrandingService.getBrand(brandName);
27
- const locale = req.param('locale');
28
- const namespace = req.param('namespace') || 'translation';
29
- const keyPrefix = req.param('keyPrefix');
29
+ const locale = query.locale;
30
+ const namespace = query.namespace || 'translation';
31
+ const keyPrefix = query.keyPrefix;
30
32
  const entries = await I18nEntriesService.listEntries(branding, locale, namespace, keyPrefix);
31
33
  // Ensure metadata fields are included in the response
32
34
  return this.apiRespond(req, res, entries, 200);
@@ -37,24 +39,26 @@ var Controllers;
37
39
  return this.sendResp(req, res, {
38
40
  status: 500,
39
41
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
40
- headers: this.getNoCacheHeaders()
42
+ headers: this.getNoCacheHeaders(),
41
43
  });
42
44
  }
43
45
  }
44
46
  async getEntry(req, res) {
45
47
  try {
48
+ const validated = (0, index_1.getValidatedApiRequest)(req);
49
+ const { params } = validated;
46
50
  const brandName = BrandingService.getBrandNameFromReq(req);
47
51
  const branding = BrandingService.getBrand(brandName);
48
- const locale = req.param('locale');
49
- const namespace = req.param('namespace') || 'translation';
50
- const key = req.param('key');
52
+ const locale = params.locale;
53
+ const namespace = params.namespace || 'translation';
54
+ const key = params.key;
51
55
  const entry = await I18nEntriesService.getEntry(branding, locale, namespace, key);
52
56
  if (!entry) {
53
57
  const errorResponse = new index_1.APIErrorResponse('Entry not found');
54
58
  return this.sendResp(req, res, {
55
59
  status: 404,
56
60
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
57
- headers: this.getNoCacheHeaders()
61
+ headers: this.getNoCacheHeaders(),
58
62
  });
59
63
  }
60
64
  return this.apiRespond(req, res, entry, 200);
@@ -65,21 +69,29 @@ var Controllers;
65
69
  return this.sendResp(req, res, {
66
70
  status: 500,
67
71
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
68
- headers: this.getNoCacheHeaders()
72
+ headers: this.getNoCacheHeaders(),
69
73
  });
70
74
  }
71
75
  }
72
76
  async setEntry(req, res) {
73
77
  try {
78
+ const validated = (0, index_1.getValidatedApiRequest)(req);
79
+ const { params, body } = validated;
74
80
  const brandName = BrandingService.getBrandNameFromReq(req);
75
81
  const branding = BrandingService.getBrand(brandName);
76
- const locale = req.param('locale');
77
- const namespace = req.param('namespace') || 'translation';
78
- const key = req.param('key');
79
- const value = req.body?.value;
80
- const category = req.body?.category;
81
- const description = req.body?.description;
82
- const saved = await I18nEntriesService.setEntry(branding, locale, namespace, key, value, { category, description });
82
+ const locale = params.locale;
83
+ const namespace = params.namespace || 'translation';
84
+ const key = params.key;
85
+ const bodyObj = body;
86
+ const value = bodyObj?.value;
87
+ const category = bodyObj?.category;
88
+ const contentFormat = bodyObj?.contentFormat;
89
+ const description = bodyObj?.description;
90
+ const saved = await I18nEntriesService.setEntry(branding, locale, namespace, key, value, {
91
+ category,
92
+ contentFormat,
93
+ description,
94
+ });
83
95
  // Auto-refresh server-side i18n cache; best-effort and non-blocking
84
96
  try {
85
97
  TranslationService.reloadResources();
@@ -96,24 +108,26 @@ var Controllers;
96
108
  return this.sendResp(req, res, {
97
109
  status: 500,
98
110
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
99
- headers: this.getNoCacheHeaders()
111
+ headers: this.getNoCacheHeaders(),
100
112
  });
101
113
  }
102
114
  }
103
115
  async deleteEntry(req, res) {
104
116
  try {
117
+ const validated = (0, index_1.getValidatedApiRequest)(req);
118
+ const { params } = validated;
105
119
  const brandName = BrandingService.getBrandNameFromReq(req);
106
120
  const branding = BrandingService.getBrand(brandName);
107
- const locale = req.param('locale');
108
- const namespace = req.param('namespace') || 'translation';
109
- const key = req.param('key');
121
+ const locale = params.locale;
122
+ const namespace = params.namespace || 'translation';
123
+ const key = params.key;
110
124
  const ok = await I18nEntriesService.deleteEntry(branding, locale, namespace, key);
111
125
  if (!ok) {
112
126
  const errorResponse = new index_1.APIErrorResponse('Entry not found');
113
127
  return this.sendResp(req, res, {
114
128
  status: 404,
115
129
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
116
- headers: this.getNoCacheHeaders()
130
+ headers: this.getNoCacheHeaders(),
117
131
  });
118
132
  }
119
133
  // Refresh i18n cache after deletion
@@ -132,23 +146,25 @@ var Controllers;
132
146
  return this.sendResp(req, res, {
133
147
  status: 500,
134
148
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
135
- headers: this.getNoCacheHeaders()
149
+ headers: this.getNoCacheHeaders(),
136
150
  });
137
151
  }
138
152
  }
139
153
  async getBundle(req, res) {
140
154
  try {
155
+ const validated = (0, index_1.getValidatedApiRequest)(req);
156
+ const { params } = validated;
141
157
  const brandName = BrandingService.getBrandNameFromReq(req);
142
158
  const branding = BrandingService.getBrand(brandName);
143
- const locale = req.param('locale');
144
- const namespace = req.param('namespace') || 'translation';
159
+ const locale = params.locale;
160
+ const namespace = params.namespace || 'translation';
145
161
  const bundle = await I18nEntriesService.getBundle(branding, locale, namespace);
146
162
  if (!bundle) {
147
163
  const errorResponse = new index_1.APIErrorResponse('Bundle not found');
148
164
  return this.sendResp(req, res, {
149
165
  status: 404,
150
166
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
151
- headers: this.getNoCacheHeaders()
167
+ headers: this.getNoCacheHeaders(),
152
168
  });
153
169
  }
154
170
  return this.apiRespond(req, res, bundle, 200);
@@ -159,20 +175,26 @@ var Controllers;
159
175
  return this.sendResp(req, res, {
160
176
  status: 500,
161
177
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
162
- headers: this.getNoCacheHeaders()
178
+ headers: this.getNoCacheHeaders(),
163
179
  });
164
180
  }
165
181
  }
166
182
  async setBundle(req, res) {
167
183
  try {
184
+ const validated = (0, index_1.getValidatedApiRequest)(req);
185
+ const { params, body } = validated;
168
186
  const brandName = BrandingService.getBrandNameFromReq(req);
169
187
  const branding = BrandingService.getBrand(brandName);
170
- const locale = req.param('locale');
171
- const namespace = req.param('namespace') || 'translation';
172
- const data = req.body?.data || req.body;
173
- const splitToEntries = req.param('splitToEntries') === 'true' || req.body?.splitToEntries === true;
174
- const overwriteEntries = req.param('overwriteEntries') === 'true' || req.body?.overwriteEntries === true;
175
- const bundle = await I18nEntriesService.setBundle(branding, locale, namespace, data, undefined, { splitToEntries, overwriteEntries });
188
+ const locale = params.locale;
189
+ const namespace = params.namespace || 'translation';
190
+ const bodyObj = body;
191
+ const data = (bodyObj?.data || body);
192
+ const splitToEntries = bodyObj?.splitToEntries === true;
193
+ const overwriteEntries = bodyObj?.overwriteEntries === true;
194
+ const bundle = await I18nEntriesService.setBundle(branding, locale, namespace, data, undefined, {
195
+ splitToEntries,
196
+ overwriteEntries,
197
+ });
176
198
  // Refresh i18n cache after bundle update
177
199
  try {
178
200
  TranslationService.reloadResources();
@@ -189,7 +211,7 @@ var Controllers;
189
211
  return this.sendResp(req, res, {
190
212
  status: 500,
191
213
  displayErrors: [{ title: errorResponse.message, detail: errorResponse.details }],
192
- headers: this.getNoCacheHeaders()
214
+ headers: this.getNoCacheHeaders(),
193
215
  });
194
216
  }
195
217
  }
@@ -197,9 +219,9 @@ var Controllers;
197
219
  try {
198
220
  const brandName = BrandingService.getBrandNameFromReq(req);
199
221
  const branding = BrandingService.getBrand(brandName);
200
- const locale = req.param('locale');
201
- const namespace = req.param('namespace') || 'translation';
202
- const enabled = req.param('enabled') === 'true' || req.body?.enabled === true;
222
+ const locale = String(req.params['locale'] ?? '');
223
+ const namespace = String(req.params['namespace'] ?? 'translation');
224
+ const enabled = req.query['enabled'] === 'true' || req.body?.enabled === true || req.body?.enabled === 'true';
203
225
  const bundle = await I18nEntriesService.updateBundleEnabled(branding, locale, namespace, enabled);
204
226
  // Refresh i18n cache after bundle update
205
227
  try {
@@ -216,11 +238,11 @@ var Controllers;
216
238
  return this.sendResp(req, res, {
217
239
  status: 500,
218
240
  displayErrors: [{ detail: err.message }],
219
- headers: this.getNoCacheHeaders()
241
+ headers: this.getNoCacheHeaders(),
220
242
  });
221
243
  }
222
244
  }
223
245
  }
224
246
  Controllers.Translation = Translation;
225
247
  })(Controllers || (exports.Controllers = Controllers = {}));
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNsYXRpb25Db250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyb2xsZXJzL3dlYnNlcnZpY2UvVHJhbnNsYXRpb25Db250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQUE2RztBQUU3RyxJQUFpQixXQUFXLENBeU0zQjtBQXpNRCxXQUFpQixXQUFXO0lBQzFCOztPQUVHO0lBQ0gsTUFBYSxXQUFZLFNBQVEsbUJBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNsRCxPQUFPLENBQUMsR0FBWTtZQUMxQixPQUFPLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNrQixnQkFBZ0IsR0FBYTtZQUM5QyxhQUFhO1lBQ2IsVUFBVTtZQUNWLFVBQVU7WUFDVixhQUFhO1lBQ2IsV0FBVztZQUNYLFdBQVc7WUFDWCxxQkFBcUI7U0FDdEIsQ0FBQztRQUVLLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDckQsSUFBSSxDQUFDO2dCQUNILE1BQU0sU0FBUyxHQUFXLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkUsTUFBTSxRQUFRLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksYUFBYSxDQUFDO2dCQUMxRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUV6QyxNQUFNLE9BQU8sR0FBRyxNQUFNLGtCQUFr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
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNsYXRpb25Db250cm9sbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyb2xsZXJzL3dlYnNlcnZpY2UvVHJhbnNsYXRpb25Db250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVDQVlxQjtBQUVyQixJQUFpQixXQUFXLENBbVAzQjtBQW5QRCxXQUFpQixXQUFXO0lBQzFCOztPQUVHO0lBQ0gsTUFBYSxXQUFZLFNBQVEsbUJBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUNsRCxPQUFPLENBQUMsR0FBWTtZQUMxQixPQUFPLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNrQixnQkFBZ0IsR0FBYTtZQUM5QyxhQUFhO1lBQ2IsVUFBVTtZQUNWLFVBQVU7WUFDVixhQUFhO1lBQ2IsV0FBVztZQUNYLFdBQVc7WUFDWCxxQkFBcUI7U0FDdEIsQ0FBQztRQUVLLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBYyxFQUFFLEdBQWM7WUFDckQsSUFBSSxDQUFDO2dCQUNILE1BQU0sU0FBUyxHQUFHLElBQUEsOEJBQXNCLEVBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxTQUFTLENBQUM7Z0JBQzVCLE1BQU0sU0FBUyxHQUFXLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbkUsTUFBTSxRQUFRLEdBQWtCLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ3BFLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFnQixDQUFDO2dCQUN0QyxNQUFNLFNBQVMsR0FBSSxLQUFLLENBQUMsU0FBb0IsSUFBSSxhQUFhLENBQUM7Z0JBQy9ELE1BQU0sU0FBUyxHQUFH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