@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
@@ -4,21 +4,5 @@ export declare class BrandingModel {
4
4
  name: string;
5
5
  css: string;
6
6
  roles: RoleModel[];
7
- supportAgreementInformation: SupportAgreementInformation;
8
- }
9
- export declare class SupportAgreementInformation {
10
- private readonly yearlyAgreements;
11
- constructor(initialAgreements?: Record<number, SupportAgreementYear>);
12
- setYear(year: number, agreedSupportDays: number, usedSupportDays?: number): void;
13
- getYear(year: number): SupportAgreementYear;
14
- getAgreedSupportDays(year: number): number;
15
- getUsedSupportDays(year: number): number;
16
- incrementUsedSupportDays(year: number, daysToAdd: number): SupportAgreementYear;
17
- getAllYears(): number[];
18
- toJSON(): Record<number, SupportAgreementYear>;
19
- }
20
- export interface SupportAgreementYear {
21
- agreedSupportDays: number;
22
- usedSupportDays: number;
23
7
  }
24
8
  //# sourceMappingURL=BrandingModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrandingModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/BrandingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,qBAAa,aAAa;IACtB,EAAE,EAAE,MAAM,CAAM;IAChB,IAAI,EAAE,MAAM,CAAM;IAClB,GAAG,EAAE,MAAM,CAAM;IACjB,KAAK,EAAE,SAAS,EAAE,CAAM;IACxB,2BAA2B,EAAE,2BAA2B,CAAqC;CAChG;AAED,qBAAa,2BAA2B;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;gBAEzD,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAM;IAUjE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,eAAe,GAAE,MAAU,GAAG,IAAI;IAInF,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB;IAQ3C,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI1C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIxC,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,oBAAoB;IAU/E,WAAW,IAAI,MAAM,EAAE;IAIvB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC;CAOxD;AAED,MAAM,WAAW,oBAAoB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"BrandingModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/BrandingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,qBAAa,aAAa;IACtB,EAAE,EAAE,MAAM,CAAM;IAChB,IAAI,EAAE,MAAM,CAAM;IAClB,GAAG,EAAE,MAAM,CAAM;IACjB,KAAK,EAAE,SAAS,EAAE,CAAM;CAC3B"}
@@ -1,60 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SupportAgreementInformation = exports.BrandingModel = void 0;
3
+ exports.BrandingModel = void 0;
4
4
  class BrandingModel {
5
5
  id = '';
6
6
  name = '';
7
7
  css = '';
8
8
  roles = [];
9
- supportAgreementInformation = new SupportAgreementInformation();
10
9
  }
11
10
  exports.BrandingModel = BrandingModel;
12
- class SupportAgreementInformation {
13
- yearlyAgreements;
14
- constructor(initialAgreements = {}) {
15
- this.yearlyAgreements = new Map();
16
- Object.entries(initialAgreements).forEach(([year, agreement]) => {
17
- const parsedYear = Number(year);
18
- if (!Number.isNaN(parsedYear)) {
19
- this.yearlyAgreements.set(parsedYear, { ...agreement });
20
- }
21
- });
22
- }
23
- setYear(year, agreedSupportDays, usedSupportDays = 0) {
24
- this.yearlyAgreements.set(year, { agreedSupportDays, usedSupportDays });
25
- }
26
- getYear(year) {
27
- const agreement = this.yearlyAgreements.get(year);
28
- if (agreement) {
29
- return { ...agreement };
30
- }
31
- return { agreedSupportDays: 0, usedSupportDays: 0 };
32
- }
33
- getAgreedSupportDays(year) {
34
- return this.yearlyAgreements.get(year)?.agreedSupportDays ?? 0;
35
- }
36
- getUsedSupportDays(year) {
37
- return this.yearlyAgreements.get(year)?.usedSupportDays ?? 0;
38
- }
39
- incrementUsedSupportDays(year, daysToAdd) {
40
- const existing = this.yearlyAgreements.get(year) ?? { agreedSupportDays: 0, usedSupportDays: 0 };
41
- const updated = {
42
- agreedSupportDays: existing.agreedSupportDays,
43
- usedSupportDays: existing.usedSupportDays + daysToAdd
44
- };
45
- this.yearlyAgreements.set(year, updated);
46
- return { ...updated };
47
- }
48
- getAllYears() {
49
- return Array.from(this.yearlyAgreements.keys()).sort((a, b) => a - b);
50
- }
51
- toJSON() {
52
- const serialised = {};
53
- this.yearlyAgreements.forEach((value, key) => {
54
- serialised[key] = { ...value };
55
- });
56
- return serialised;
57
- }
58
- }
59
- exports.SupportAgreementInformation = SupportAgreementInformation;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhbmRpbmdNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9zdG9yYWdlL0JyYW5kaW5nTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxhQUFhO0lBQ3RCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixHQUFHLEdBQVcsRUFBRSxDQUFDO0lBQ2pCLEtBQUssR0FBZ0IsRUFBRSxDQUFDO0lBQ3hCLDJCQUEyQixHQUFnQyxJQUFJLDJCQUEyQixFQUFFLENBQUM7Q0FDaEc7QUFORCxzQ0FNQztBQUVELE1BQWEsMkJBQTJCO0lBQ25CLGdCQUFnQixDQUFvQztJQUVyRSxZQUFZLG9CQUEwRCxFQUFFO1FBQ3BFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEdBQUcsRUFBZ0MsQ0FBQztRQUNoRSxNQUFNLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRTtZQUM1RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBQyxHQUFHLFNBQVMsRUFBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLE9BQU8sQ0FBQyxJQUFZLEVBQUUsaUJBQXlCLEVBQUUsa0JBQTBCLENBQUM7UUFDL0UsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBQyxpQkFBaUIsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBWTtRQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksU0FBUyxFQUFFLENBQUM7WUFDWixPQUFPLEVBQUMsR0FBRyxTQUFTLEVBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsT0FBTyxFQUFDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLG9CQUFvQixDQUFDLElBQVk7UUFDcEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLGlCQUFpQixJQUFJLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFBWTtRQUNsQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxJQUFJLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU0sd0JBQXdCLENBQUMsSUFBWSxFQUFFLFNBQWlCO1FBQzNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBQyxDQUFDO1FBQy9GLE1BQU0sT0FBTyxHQUF5QjtZQUNsQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsaUJBQWlCO1lBQzdDLGVBQWUsRUFBRSxRQUFRLENBQUMsZUFBZSxHQUFHLFNBQVM7U0FDeEQsQ0FBQztRQUNGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLE9BQU8sRUFBQyxHQUFHLE9BQU8sRUFBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxXQUFXO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU0sTUFBTTtRQUNULE1BQU0sVUFBVSxHQUF5QyxFQUFFLENBQUM7UUFDNUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUN6QyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBQyxHQUFHLEtBQUssRUFBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztDQUNKO0FBdERELGtFQXNEQyJ9
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhbmRpbmdNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9zdG9yYWdlL0JyYW5kaW5nTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxhQUFhO0lBQ3RCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixHQUFHLEdBQVcsRUFBRSxDQUFDO0lBQ2pCLEtBQUssR0FBZ0IsRUFBRSxDQUFDO0NBQzNCO0FBTEQsc0NBS0MifQ==
@@ -1,9 +1,13 @@
1
1
  import { BrandingModel } from "./BrandingModel";
2
+ import type { DashboardTableConfig } from '../../config/workflow.config';
2
3
  export interface DashboardTypeModel {
3
4
  key: string;
4
5
  name: string;
5
6
  branding: BrandingModel;
7
+ description?: string;
6
8
  formatRules: Record<string, unknown>;
9
+ tableConfig: DashboardTableConfig;
7
10
  searchable: boolean;
11
+ system: boolean;
8
12
  }
9
13
  //# sourceMappingURL=DashboardTypeModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardTypeModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/DashboardTypeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"DashboardTypeModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/DashboardTypeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB"}
@@ -14,8 +14,24 @@ export declare class SearchFilter {
14
14
  typeLabel: string;
15
15
  }
16
16
  export declare class RelatedTo {
17
+ id?: string;
18
+ label?: string;
17
19
  recordType: string;
20
+ localField?: string;
18
21
  foreignField: string;
22
+ cardinality?: 'one' | 'many';
23
+ direction?: 'outbound' | 'inbound';
24
+ formHints?: {
25
+ componentNames?: string[];
26
+ sourceField?: string;
27
+ targetField?: string;
28
+ inferWhen?: 'missingConfigOnly' | 'always';
29
+ };
30
+ dashboard?: {
31
+ rowLevel?: number;
32
+ compareField?: string;
33
+ };
34
+ includeByDefault?: boolean;
19
35
  }
20
36
  export declare class RecordTypeHooks {
21
37
  onCreate: RecordTypeHookOnEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordTypeModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/RecordTypeModel.ts"],"names":[],"mappings":"AACA,qBAAa,eAAe;IACxB,WAAW,EAAE,MAAM,CAAM;IACzB,UAAU,CAAC,EAAE,MAAM,CAAM;IACzB,KAAK,CAAC,EAAE,eAAe,CAAyB;IAChD,SAAS,EAAE,SAAS,EAAE,CAAM;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAM;IACnC,sBAAsB,EAAE,OAAO,CAAQ;IACvC,UAAU,EAAG,KAAK,CAAU;CAC/B;AAED,qBAAa,YAAY;IACrB,IAAI,EAAE,MAAM,CAAM;IAClB,KAAK,EAAE,MAAM,CAAM;IACnB,IAAI,EAAE,MAAM,CAAM;IAClB,SAAS,EAAE,MAAM,CAAM;CAC1B;AAED,qBAAa,SAAS;IAClB,UAAU,EAAE,MAAM,CAAM;IACxB,YAAY,EAAE,MAAM,CAAM;CAC7B;AAED,qBAAa,eAAe;IACxB,QAAQ,EAAE,qBAAqB,CAA+B;IAC9D,QAAQ,EAAE,qBAAqB,CAA+B;IAC9D,QAAQ,EAAE,qBAAqB,CAA+B;CACjE;AAED,qBAAa,qBAAqB;IAC9B,GAAG,EAAE,yBAAyB,EAAE,CAAM;IACtC,IAAI,EAAE,yBAAyB,EAAE,CAAM;IACvC,QAAQ,EAAE,yBAAyB,EAAE,CAAM;CAC9C;AAED,qBAAa,yBAAyB;IAClC,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAM;CACV"}
1
+ {"version":3,"file":"RecordTypeModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/RecordTypeModel.ts"],"names":[],"mappings":"AACA,qBAAa,eAAe;IACxB,WAAW,EAAE,MAAM,CAAM;IACzB,UAAU,CAAC,EAAE,MAAM,CAAM;IACzB,KAAK,CAAC,EAAE,eAAe,CAAyB;IAChD,SAAS,EAAE,SAAS,EAAE,CAAM;IAC5B,aAAa,EAAE,YAAY,EAAE,CAAM;IACnC,sBAAsB,EAAE,OAAO,CAAQ;IACvC,UAAU,EAAG,KAAK,CAAU;CAC/B;AAED,qBAAa,YAAY;IACrB,IAAI,EAAE,MAAM,CAAM;IAClB,KAAK,EAAE,MAAM,CAAM;IACnB,IAAI,EAAE,MAAM,CAAM;IAClB,SAAS,EAAE,MAAM,CAAM;CAC1B;AAED,qBAAa,SAAS;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAM;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAM;IAC1B,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAU;IACtC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAc;IAChD,SAAS,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,mBAAmB,GAAG,QAAQ,CAAC;KAC9C,CAAC;IACF,SAAS,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,eAAe;IACxB,QAAQ,EAAE,qBAAqB,CAA+B;IAC9D,QAAQ,EAAE,qBAAqB,CAA+B;IAC9D,QAAQ,EAAE,qBAAqB,CAA+B;CACjE;AAED,qBAAa,qBAAqB;IAC9B,GAAG,EAAE,yBAAyB,EAAE,CAAM;IACtC,IAAI,EAAE,yBAAyB,EAAE,CAAM;IACvC,QAAQ,EAAE,yBAAyB,EAAE,CAAM;CAC9C;AAED,qBAAa,yBAAyB;IAClC,QAAQ,EAAE,MAAM,CAAM;IACtB,OAAO,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KAC1B,CAAM;CACV"}
@@ -19,8 +19,16 @@ class SearchFilter {
19
19
  }
20
20
  exports.SearchFilter = SearchFilter;
21
21
  class RelatedTo {
22
+ id;
23
+ label;
22
24
  recordType = '';
25
+ localField;
23
26
  foreignField = '';
27
+ cardinality = 'many';
28
+ direction = 'outbound';
29
+ formHints;
30
+ dashboard;
31
+ includeByDefault;
24
32
  }
25
33
  exports.RelatedTo = RelatedTo;
26
34
  class RecordTypeHooks {
@@ -40,4 +48,4 @@ class RecordTypeHookDeclaration {
40
48
  options = {};
41
49
  }
42
50
  exports.RecordTypeHookDeclaration = RecordTypeHookDeclaration;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVHlwZU1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3N0b3JhZ2UvUmVjb3JkVHlwZU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLE1BQWEsZUFBZTtJQUN4QixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxFQUFFLENBQUM7SUFDekIsS0FBSyxHQUFxQixJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ2hELFNBQVMsR0FBZ0IsRUFBRSxDQUFDO0lBQzVCLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBQ25DLHNCQUFzQixHQUFZLElBQUksQ0FBQyxDQUFDLDBDQUEwQztJQUNsRixVQUFVLEdBQUcsS0FBYyxDQUFDO0NBQy9CO0FBUkQsMENBUUM7QUFFRCxNQUFhLFlBQVk7SUFDckIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsU0FBUyxHQUFXLEVBQUUsQ0FBQztDQUMxQjtBQUxELG9DQUtDO0FBRUQsTUFBYSxTQUFTO0lBQ2xCLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsWUFBWSxHQUFXLEVBQUUsQ0FBQztDQUM3QjtBQUhELDhCQUdDO0FBRUQsTUFBYSxlQUFlO0lBQ3hCLFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0NBQ2pFO0FBSkQsMENBSUM7QUFFRCxNQUFhLHFCQUFxQjtJQUM5QixHQUFHLEdBQWdDLEVBQUUsQ0FBQztJQUN0QyxJQUFJLEdBQWdDLEVBQUUsQ0FBQztJQUN2QyxRQUFRLEdBQWdDLEVBQUUsQ0FBQztDQUM5QztBQUpELHNEQUlDO0FBRUQsTUFBYSx5QkFBeUI7SUFDbEMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixPQUFPLEdBRUgsRUFBRSxDQUFDO0NBQ1Y7QUFMRCw4REFLQyJ9
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVHlwZU1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3N0b3JhZ2UvUmVjb3JkVHlwZU1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLE1BQWEsZUFBZTtJQUN4QixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLFVBQVUsR0FBWSxFQUFFLENBQUM7SUFDekIsS0FBSyxHQUFxQixJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ2hELFNBQVMsR0FBZ0IsRUFBRSxDQUFDO0lBQzVCLGFBQWEsR0FBbUIsRUFBRSxDQUFDO0lBQ25DLHNCQUFzQixHQUFZLElBQUksQ0FBQyxDQUFDLDBDQUEwQztJQUNsRixVQUFVLEdBQUcsS0FBYyxDQUFDO0NBQy9CO0FBUkQsMENBUUM7QUFFRCxNQUFhLFlBQVk7SUFDckIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLElBQUksR0FBVyxFQUFFLENBQUM7SUFDbEIsU0FBUyxHQUFXLEVBQUUsQ0FBQztDQUMxQjtBQUxELG9DQUtDO0FBRUQsTUFBYSxTQUFTO0lBQ2xCLEVBQUUsQ0FBVTtJQUNaLEtBQUssQ0FBVTtJQUNmLFVBQVUsR0FBVyxFQUFFLENBQUM7SUFDeEIsVUFBVSxDQUFVO0lBQ3BCLFlBQVksR0FBVyxFQUFFLENBQUM7SUFDMUIsV0FBVyxHQUFvQixNQUFNLENBQUM7SUFDdEMsU0FBUyxHQUE0QixVQUFVLENBQUM7SUFDaEQsU0FBUyxDQUtQO0lBQ0YsU0FBUyxDQUdQO0lBQ0YsZ0JBQWdCLENBQVc7Q0FDOUI7QUFuQkQsOEJBbUJDO0FBRUQsTUFBYSxlQUFlO0lBQ3hCLFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBQzlELFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0NBQ2pFO0FBSkQsMENBSUM7QUFFRCxNQUFhLHFCQUFxQjtJQUM5QixHQUFHLEdBQWdDLEVBQUUsQ0FBQztJQUN0QyxJQUFJLEdBQWdDLEVBQUUsQ0FBQztJQUN2QyxRQUFRLEdBQWdDLEVBQUUsQ0FBQztDQUM5QztBQUpELHNEQUlDO0FBRUQsTUFBYSx5QkFBeUI7SUFDbEMsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixPQUFPLEdBRUgsRUFBRSxDQUFDO0NBQ1Y7QUFMRCw4REFLQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"contentSecurityPolicy.d.ts","sourceRoot":"","sources":["../../src/policies/contentSecurityPolicy.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CAsFpG;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"contentSecurityPolicy.d.ts","sourceRoot":"","sources":["../../src/policies/contentSecurityPolicy.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CA6GpG;AAED,eAAe,qBAAqB,CAAC"}
@@ -35,6 +35,9 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.contentSecurityPolicy = contentSecurityPolicy;
37
37
  const crypto = __importStar(require("node:crypto"));
38
+ function isAdminApiDocsPath(pathname) {
39
+ return /\/admin\/api-docs(?:\/|$)/.test(pathname);
40
+ }
38
41
  /**
39
42
  * ContentSecurityPolicy Policy
40
43
  *
@@ -81,9 +84,27 @@ function contentSecurityPolicy(req, res, next) {
81
84
  // Merge settings: shallow for top-level, replace arrays for directives keys if provided
82
85
  const enabled = cfg.enabled != null ? !!cfg.enabled : defaults.enabled;
83
86
  const reportOnly = cfg.reportOnly != null ? !!cfg.reportOnly : defaults.reportOnly;
84
- const addNonceTo = Array.isArray(cfg.addNonceTo) ? cfg.addNonceTo : defaults.addNonceTo;
87
+ let addNonceTo = Array.isArray(cfg.addNonceTo) ? cfg.addNonceTo : defaults.addNonceTo;
85
88
  const extras = Array.isArray(cfg.extras) ? cfg.extras : defaults.extras;
86
89
  const directives = Object.assign({}, defaults.directives, cfg.directives || {});
90
+ if (isAdminApiDocsPath(req.path)) {
91
+ addNonceTo = [];
92
+ const styleSrc = new Set([...(directives['style-src'] ?? [])]);
93
+ styleSrc.add("'unsafe-inline'");
94
+ styleSrc.add('https://fonts.googleapis.com');
95
+ styleSrc.add('https://fonts.gstatic.com');
96
+ directives['style-src'] = Array.from(styleSrc);
97
+ const imgSrc = new Set([...(directives['img-src'] ?? [])]);
98
+ imgSrc.add('data:');
99
+ imgSrc.add('https://cdn.redoc.ly');
100
+ directives['img-src'] = Array.from(imgSrc);
101
+ const workerSrc = new Set([...(directives['worker-src'] ?? [])]);
102
+ workerSrc.add('blob:');
103
+ directives['worker-src'] = Array.from(workerSrc);
104
+ const connectSrc = new Set([...(directives['connect-src'] ?? [])]);
105
+ connectSrc.add('blob:');
106
+ directives['connect-src'] = Array.from(connectSrc);
107
+ }
87
108
  if (!enabled) {
88
109
  return next();
89
110
  }
@@ -132,4 +153,4 @@ function contentSecurityPolicy(req, res, next) {
132
153
  return next();
133
154
  }
134
155
  exports.default = contentSecurityPolicy;
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudFNlY3VyaXR5UG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BvbGljaWVzL2NvbnRlbnRTZWN1cml0eVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSxzREFzRkM7QUFwSEQsb0RBQXNDO0FBVXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsR0FBYyxFQUFFLEdBQWMsRUFBRSxJQUF3QjtJQUMxRixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxvRUFBb0UsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFbEcsMEVBQTBFO0lBQzFFLE1BQU0sR0FBRyxHQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBZ0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBK0MsQ0FBQyxHQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV4TSx3REFBd0Q7SUFDeEQsTUFBTSxRQUFRLEdBQXdCO1FBQ2xDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsVUFBVSxFQUFFLEtBQUs7UUFDakIsVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztRQUN2QyxVQUFVLEVBQUU7WUFDUixhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3hCLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN4QixZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDeEIsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQzFCLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsQ0FBQztZQUNw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
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudFNlY3VyaXR5UG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BvbGljaWVzL2NvbnRlbnRTZWN1cml0eVBvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWtDQSxzREE2R0M7QUEvSUQsb0RBQXNDO0FBVXRDLFNBQVMsa0JBQWtCLENBQUMsUUFBZ0I7SUFDeEMsT0FBTywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEQsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsU0FBZ0IscUJBQXFCLENBQUMsR0FBYyxFQUFFLEdBQWMsRUFBRSxJQUF3QjtJQUMxRixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxvRUFBb0UsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFbEcsMEVBQTBFO0lBQzFFLE1BQU0sR0FBRyxHQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBZ0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBK0MsQ0FBQyxHQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV4TSx3REFBd0Q7SUFDeEQsTUFBTSxRQUFRLEdBQXdCO1FBQ2xDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsVUFBVSxFQUFFLEtBQUs7UUFDakIsVUFBVSxFQUFFLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQztRQUN2QyxVQUFVLEVBQUU7WUFDUixhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDekIsWUFBWSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3hCLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN4QixZQUFZLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFD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
@@ -18,6 +18,7 @@ export { noCache } from './noCache';
18
18
  export { prepWs } from './prepWs';
19
19
  export { sessionAuth } from './sessionAuth';
20
20
  export { setLang } from './setLang';
21
+ export { validateApiContractRequest } from './validateApiContractRequest';
21
22
  import { brandingAndPortal } from './brandingAndPortal';
22
23
  import { checkAuth } from './checkAuth';
23
24
  import { checkBrandingValid } from './checkBrandingValid';
@@ -32,6 +33,7 @@ import { noCache } from './noCache';
32
33
  import { prepWs } from './prepWs';
33
34
  import { sessionAuth } from './sessionAuth';
34
35
  import { setLang } from './setLang';
36
+ import { validateApiContractRequest } from './validateApiContractRequest';
35
37
  export declare const Policies: {
36
38
  brandingAndPortal: typeof brandingAndPortal;
37
39
  checkAuth: typeof checkAuth;
@@ -47,6 +49,7 @@ export declare const Policies: {
47
49
  prepWs: typeof prepWs;
48
50
  sessionAuth: typeof sessionAuth;
49
51
  setLang: typeof setLang;
52
+ validateApiContractRequest: typeof validateApiContractRequest;
50
53
  };
51
54
  export default Policies;
52
55
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policies/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;CAepB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/policies/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAgBpB,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * These policies are middleware functions that run before controller actions.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Policies = exports.setLang = exports.sessionAuth = exports.prepWs = exports.noCache = exports.menuResolver = exports.isWebServiceAuthenticated = exports.isAuthenticated = exports.i18nLanguages = exports.disallowedHeadRequestHandler = exports.contentSecurityPolicy = exports.companionAttachmentUploadAuth = exports.checkBrandingValid = exports.checkAuth = exports.brandingAndPortal = void 0;
9
+ exports.Policies = exports.validateApiContractRequest = exports.setLang = exports.sessionAuth = exports.prepWs = exports.noCache = exports.menuResolver = exports.isWebServiceAuthenticated = exports.isAuthenticated = exports.i18nLanguages = exports.disallowedHeadRequestHandler = exports.contentSecurityPolicy = exports.companionAttachmentUploadAuth = exports.checkBrandingValid = exports.checkAuth = exports.brandingAndPortal = void 0;
10
10
  var brandingAndPortal_1 = require("./brandingAndPortal");
11
11
  Object.defineProperty(exports, "brandingAndPortal", { enumerable: true, get: function () { return brandingAndPortal_1.brandingAndPortal; } });
12
12
  var checkAuth_1 = require("./checkAuth");
@@ -35,6 +35,8 @@ var sessionAuth_1 = require("./sessionAuth");
35
35
  Object.defineProperty(exports, "sessionAuth", { enumerable: true, get: function () { return sessionAuth_1.sessionAuth; } });
36
36
  var setLang_1 = require("./setLang");
37
37
  Object.defineProperty(exports, "setLang", { enumerable: true, get: function () { return setLang_1.setLang; } });
38
+ var validateApiContractRequest_1 = require("./validateApiContractRequest");
39
+ Object.defineProperty(exports, "validateApiContractRequest", { enumerable: true, get: function () { return validateApiContractRequest_1.validateApiContractRequest; } });
38
40
  // Re-export as a namespace for convenient access
39
41
  const brandingAndPortal_2 = require("./brandingAndPortal");
40
42
  const checkAuth_2 = require("./checkAuth");
@@ -50,6 +52,7 @@ const noCache_2 = require("./noCache");
50
52
  const prepWs_2 = require("./prepWs");
51
53
  const sessionAuth_2 = require("./sessionAuth");
52
54
  const setLang_2 = require("./setLang");
55
+ const validateApiContractRequest_2 = require("./validateApiContractRequest");
53
56
  exports.Policies = {
54
57
  brandingAndPortal: brandingAndPortal_2.brandingAndPortal,
55
58
  checkAuth: checkAuth_2.checkAuth,
@@ -65,6 +68,7 @@ exports.Policies = {
65
68
  prepWs: prepWs_2.prepWs,
66
69
  sessionAuth: sessionAuth_2.sessionAuth,
67
70
  setLang: setLang_2.setLang,
71
+ validateApiContractRequest: validateApiContractRequest_2.validateApiContractRequest,
68
72
  };
69
73
  exports.default = exports.Policies;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9saWNpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFFSCx5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIseUNBQXdDO0FBQS9CLHNHQUFBLFNBQVMsT0FBQTtBQUNsQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IsaUZBQWdGO0FBQXZFLDhJQUFBLDZCQUE2QixPQUFBO0FBQ3RDLGlFQUFnRTtBQUF2RCw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5QiwrRUFBOEU7QUFBckUsNElBQUEsNEJBQTRCLE9BQUE7QUFDckMsaURBQWdEO0FBQXZDLDhHQUFBLGFBQWEsT0FBQTtBQUN0QixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQywrQ0FBOEM7QUFBckMsNEdBQUEsWUFBWSxPQUFBO0FBQ3JCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUVoQixpREFBaUQ7QUFDakQsMkRBQXdEO0FBQ3hELDJDQUF3QztBQUN4Qyw2REFBMEQ7QUFDMUQsbUZBQWdGO0FBQ2hGLG1FQUFnRTtBQUNoRSxpRkFBOEU7QUFDOUUsbURBQWdEO0FBQ2hELHVEQUFvRDtBQUNwRCwyRUFBd0U7QUFDeEUsaURBQThDO0FBQzlDLHVDQUFvQztBQUNwQyxxQ0FBa0M7QUFDbEMsK0NBQTRDO0FBQzVDLHVDQUFvQztBQUV2QixRQUFBLFFBQVEsR0FBRztJQUNwQixpQkFBaUIsRUFBakIscUNBQWlCO0lBQ2pCLFNBQVMsRUFBVCxxQkFBUztJQUNULGtCQUFrQixFQUFsQix1Q0FBa0I7SUFDbEIsNkJBQTZCLEVBQTdCLDZEQUE2QjtJQUM3QixxQkFBcUIsRUFBckIsNkNBQXFCO0lBQ3JCLDRCQUE0QixFQUE1QiwyREFBNEI7SUFDNUIsYUFBYSxFQUFiLDZCQUFhO0lBQ2IsZUFBZSxFQUFmLGlDQUFlO0lBQ2YseUJBQXlCLEVBQXpCLHFEQUF5QjtJQUN6QixZQUFZLEVBQVosMkJBQVk7SUFDWixPQUFPLEVBQVAsaUJBQU87SUFDUCxNQUFNLEVBQU4sZUFBTTtJQUNOLFdBQVcsRUFBWCx5QkFBVztJQUNYLE9BQU8sRUFBUCxpQkFBTztDQUNWLENBQUM7QUFFRixrQkFBZSxnQkFBUSxDQUFDIn0=
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9saWNpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFFSCx5REFBd0Q7QUFBL0Msc0hBQUEsaUJBQWlCLE9BQUE7QUFDMUIseUNBQXdDO0FBQS9CLHNHQUFBLFNBQVMsT0FBQTtBQUNsQiwyREFBMEQ7QUFBakQsd0hBQUEsa0JBQWtCLE9BQUE7QUFDM0IsaUZBQWdGO0FBQXZFLDhJQUFBLDZCQUE2QixPQUFBO0FBQ3RDLGlFQUFnRTtBQUF2RCw4SEFBQSxxQkFBcUIsT0FBQTtBQUM5QiwrRUFBOEU7QUFBckUsNElBQUEsNEJBQTRCLE9BQUE7QUFDckMsaURBQWdEO0FBQXZDLDhHQUFBLGFBQWEsT0FBQTtBQUN0QixxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLHlFQUF3RTtBQUEvRCxzSUFBQSx5QkFBeUIsT0FBQTtBQUNsQywrQ0FBOEM7QUFBckMsNEdBQUEsWUFBWSxPQUFBO0FBQ3JCLHFDQUFvQztBQUEzQixrR0FBQSxPQUFPLE9BQUE7QUFDaEIsbUNBQWtDO0FBQXpCLGdHQUFBLE1BQU0sT0FBQTtBQUNmLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIscUNBQW9DO0FBQTNCLGtHQUFBLE9BQU8sT0FBQTtBQUNoQiwyRUFBMEU7QUFBakUsd0lBQUEsMEJBQTBCLE9BQUE7QUFFbkMsaURBQWlEO0FBQ2pELDJEQUF3RDtBQUN4RCwyQ0FBd0M7QUFDeEMsNkRBQTBEO0FBQzFELG1GQUFnRjtBQUNoRixtRUFBZ0U7QUFDaEUsaUZBQThFO0FBQzlFLG1EQUFnRDtBQUNoRCx1REFBb0Q7QUFDcEQsMkVBQXdFO0FBQ3hFLGlEQUE4QztBQUM5Qyx1Q0FBb0M7QUFDcEMscUNBQWtDO0FBQ2xDLCtDQUE0QztBQUM1Qyx1Q0FBb0M7QUFDcEMsNkVBQTBFO0FBRTdELFFBQUEsUUFBUSxHQUFHO0lBQ3BCLGlCQUFpQixFQUFqQixxQ0FBaUI7SUFDakIsU0FBUyxFQUFULHFCQUFTO0lBQ1Qsa0JBQWtCLEVBQWxCLHVDQUFrQjtJQUNsQiw2QkFBNkIsRUFBN0IsNkRBQTZCO0lBQzdCLHFCQUFxQixFQUFyQiw2Q0FBcUI7SUFDckIsNEJBQTRCLEVBQTVCLDJEQUE0QjtJQUM1QixhQUFhLEVBQWIsNkJBQWE7SUFDYixlQUFlLEVBQWYsaUNBQWU7SUFDZix5QkFBeUIsRUFBekIscURBQXlCO0lBQ3pCLFlBQVksRUFBWiwyQkFBWTtJQUNaLE9BQU8sRUFBUCxpQkFBTztJQUNQLE1BQU0sRUFBTixlQUFNO0lBQ04sV0FBVyxFQUFYLHlCQUFXO0lBQ1gsT0FBTyxFQUFQLGlCQUFPO0lBQ1AsMEJBQTBCLEVBQTFCLHVEQUEwQjtDQUM3QixDQUFDO0FBRUYsa0JBQWUsZ0JBQVEsQ0FBQyJ9
@@ -0,0 +1,3 @@
1
+ export declare function validateApiContractRequest(req: Sails.Req, res: Sails.Res, next: Sails.NextFunction): void;
2
+ export default validateApiContractRequest;
3
+ //# sourceMappingURL=validateApiContractRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateApiContractRequest.d.ts","sourceRoot":"","sources":["../../src/policies/validateApiContractRequest.ts"],"names":[],"mappings":"AAsDA,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,IAAI,CA2BzG;AACD,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateApiContractRequest = validateApiContractRequest;
4
+ const api_routes_1 = require("../api-routes");
5
+ function getNoCacheHeaders() {
6
+ return {
7
+ 'Cache-control': 'no-cache, private',
8
+ Pragma: 'no-cache',
9
+ Expires: '0',
10
+ };
11
+ }
12
+ function getApiVersion(req) {
13
+ const queryVersion = typeof req.query?.apiVersion === 'string' ? req.query.apiVersion.trim().toLowerCase() : '';
14
+ const headerVersion = typeof req.headers?.['x-redbox-api-version'] === 'string'
15
+ ? req.headers['x-redbox-api-version'].trim().toLowerCase()
16
+ : '';
17
+ return headerVersion || queryVersion || '1.0';
18
+ }
19
+ function buildV1ErrorResponse(displayErrors) {
20
+ if (displayErrors.length === 1) {
21
+ const displayError = displayErrors[0] ?? {};
22
+ const title = displayError.title?.toString()?.trim() || displayError.code?.toString()?.trim() || '';
23
+ const detail = displayError.detail?.toString()?.trim() || '';
24
+ if (title || detail) {
25
+ return {
26
+ message: title || detail || 'An error occurred',
27
+ details: title && detail ? detail : '',
28
+ };
29
+ }
30
+ }
31
+ return {
32
+ message: displayErrors.map(error => error.detail || error.title || error.code || 'An error occurred').join(' | '),
33
+ details: '',
34
+ };
35
+ }
36
+ function sendPolicyResponse(req, res, status, displayErrors) {
37
+ res.set(getNoCacheHeaders());
38
+ res.status(status);
39
+ return res.json(getApiVersion(req) === '2.0'
40
+ ? { errors: displayErrors, meta: {} }
41
+ : buildV1ErrorResponse(displayErrors));
42
+ }
43
+ function describeRequest(req) {
44
+ return `${String(req.method).toUpperCase()} ${req.path ?? req.originalUrl}`;
45
+ }
46
+ function validateApiContractRequest(req, res, next) {
47
+ try {
48
+ const route = (0, api_routes_1.resolveApiRouteForRequest)(req);
49
+ if (!route) {
50
+ sails.log.error(`Failed to resolve contract-first API route for ${describeRequest(req)}`);
51
+ sendPolicyResponse(req, res, 500, [{ detail: 'Internal server error' }]);
52
+ return;
53
+ }
54
+ const validated = (0, api_routes_1.validateApiRouteRequest)(req, route);
55
+ if (!validated.valid) {
56
+ sendPolicyResponse(req, res, 400, validated.issues.map(issue => ({ title: issue.path, detail: issue.message })));
57
+ return;
58
+ }
59
+ req.apiRoute = route;
60
+ req.apiRequest = {
61
+ params: validated.params,
62
+ query: validated.query,
63
+ body: validated.body,
64
+ files: validated.files,
65
+ };
66
+ next();
67
+ }
68
+ catch (error) {
69
+ sails.log.error(`Contract-first API validation failed for ${describeRequest(req)}`, error);
70
+ sendPolicyResponse(req, res, 500, [{ detail: 'Internal server error' }]);
71
+ }
72
+ }
73
+ exports.default = validateApiContractRequest;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVBcGlDb250cmFjdFJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcG9saWNpZXMvdmFsaWRhdGVBcGlDb250cmFjdFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzREEsZ0VBMkJDO0FBakZELDhDQUFtRjtBQUVuRixTQUFTLGlCQUFpQjtJQUN4QixPQUFPO1FBQ0wsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxNQUFNLEVBQUUsVUFBVTtRQUNsQixPQUFPLEVBQUUsR0FBRztLQUNiLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsR0FBYztJQUNuQyxNQUFNLFlBQVksR0FBRyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoSCxNQUFNLGFBQWEsR0FBRyxPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLFFBQVE7UUFDN0UsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7UUFDMUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNQLE9BQU8sYUFBYSxJQUFJLFlBQVksSUFBSSxLQUFLLENBQUM7QUFDaEQsQ0FBQztBQUVELFNBQVMsb0JBQW9CLENBQUMsYUFBd0U7SUFDcEcsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUs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
@@ -1 +1 @@
1
- {"version":3,"file":"badRequest.d.ts","sourceRoot":"","sources":["../../src/responses/badRequest.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KAC9E;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DA4DxH"}
1
+ {"version":3,"file":"badRequest.d.ts","sourceRoot":"","sources":["../../src/responses/badRequest.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KAC9E;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DA6DxH"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.badRequest = badRequest;
4
+ const siteTitle_1 = require("./siteTitle");
4
5
  /**
5
6
  * 400 (Bad Request) Handler
6
7
  *
@@ -14,6 +15,7 @@ function badRequest(data, options) {
14
15
  const req = this.req;
15
16
  const res = this.res;
16
17
  const sails = req._sails;
18
+ const siteTitle = (0, siteTitle_1.resolveSiteTitle)('Site', req.options?.locals);
17
19
  // Set status code
18
20
  res.status(400);
19
21
  // Log error to console
@@ -53,14 +55,14 @@ function badRequest(data, options) {
53
55
  // Otherwise try to guess an appropriate view, or if that doesn't
54
56
  // work, just send JSON.
55
57
  if (options.view) {
56
- return res.view(options.view, { data: viewData, title: 'Bad Request' });
58
+ return res.view(options.view, { data: viewData, title: siteTitle });
57
59
  }
58
60
  // If no second argument provided, try to serve the implied view,
59
61
  // but fall back to sending JSON(P) if no view can be inferred.
60
62
  else
61
- return res.guessView({ data: viewData, title: 'Bad Request' }, function couldNotGuessView() {
63
+ return res.guessView({ data: viewData, title: siteTitle }, function couldNotGuessView() {
62
64
  return res.json(data);
63
65
  });
64
66
  }
65
67
  ;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNwb25zZXMvYmFkUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLGdDQTREQztBQXBFRDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsVUFBVSxDQUEyQyxJQUFjLEVBQUUsT0FBb0M7SUFFckgsd0NBQXdDO0lBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBMkIsQ0FBQztJQUU5QyxrQkFBa0I7SUFDbEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVoQix1QkFBdUI7SUFDdkIsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMENBQTBDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEUsQ0FBQzs7UUFDSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBRS9ELDZEQUE2RDtJQUM3RCwyREFBMkQ7SUFDM0Qsc0RBQXNEO0lBQ3RELElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEYsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQseURBQXlEO0lBQ3pELHdDQUF3QztJQUN4QyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLGdEQUFnRDtJQUNoRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFNUUsaUVBQWlFO0lBQ2pFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLENBQUMsQ0FBQyxRQUFRLFlBQVksS0FBSyxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0QsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDUixRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSwrREFBK0Q7O1FBQzFELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFLFNBQVMsaUJBQWlCO1lBQzFGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztBQUVQLENBQUM7QUFBQSxDQUFDIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNwb25zZXMvYmFkUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdCQSxnQ0E2REM7QUE3RUQsMkNBQStDO0FBUS9DOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixVQUFVLENBQTJDLElBQWMsRUFBRSxPQUFvQztJQUVySCx3Q0FBd0M7SUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUEyQixDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUEsNEJBQWdCLEVBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBNkMsQ0FBQyxDQUFDO0lBRXZHLGtCQUFrQjtJQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWhCLHVCQUF1QjtJQUN2QixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNyQixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQywwQ0FBMEMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxDQUFDOztRQUNJLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFFL0QsNkRBQTZEO0lBQzdELDJEQUEyRDtJQUMzRCxzREFBc0Q7SUFDdEQsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxZQUFZLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN4RixJQUFJLEdBQUcsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCx5REFBeUQ7SUFDekQsd0NBQXdDO0lBQ3hDLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsZ0RBQWdEO0lBQ2hELE9BQU8sR0FBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUU1RSxpRUFBaUU7SUFDakUsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSxLQUFLLENBQUMsSUFBSSxRQUFRLElBQUksT0FBTyxRQUFRLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUM7WUFDRCxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNSLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsaUVBQWlFO0lBQ2pFLHdCQUF3QjtJQUN4QiwrQ0FBK0M7SUFDL0MsaUVBQWlFO0lBQ2pFLHdCQUF3QjtJQUN4QixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLCtEQUErRDs7UUFDMUQsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsU0FBUyxpQkFBaUI7WUFDdEYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQztBQUFBLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"created.d.ts","sourceRoot":"","sources":["../../src/responses/created.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KAC3E;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DAiDrH"}
1
+ {"version":3,"file":"created.d.ts","sourceRoot":"","sources":["../../src/responses/created.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KAC3E;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DAkDrH"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.created = created;
4
+ const siteTitle_1 = require("./siteTitle");
4
5
  /**
5
6
  * 201 (Created) Response
6
7
  *
@@ -14,6 +15,7 @@ function created(data, options) {
14
15
  const req = this.req;
15
16
  const res = this.res;
16
17
  const sails = req._sails;
18
+ const siteTitle = (0, siteTitle_1.resolveSiteTitle)('Site', req.options?.locals);
17
19
  sails.log.silly('res.created() :: Sending 201 ("CREATED") response');
18
20
  // Set status code
19
21
  res.status(201);
@@ -42,14 +44,14 @@ function created(data, options) {
42
44
  // Otherwise try to guess an appropriate view, or if that doesn't
43
45
  // work, just send JSON.
44
46
  if (options.view) {
45
- return res.view(options.view, { data: viewData, title: 'Created' });
47
+ return res.view(options.view, { data: viewData, title: siteTitle });
46
48
  }
47
49
  // If no second argument provided, try to serve the implied view,
48
50
  // but fall back to sending JSON(P) if no view can be inferred.
49
51
  else
50
- return res.guessView({ data: viewData, title: 'Created' }, function couldNotGuessView() {
52
+ return res.guessView({ data: viewData, title: siteTitle }, function couldNotGuessView() {
51
53
  return res.json(data);
52
54
  });
53
55
  }
54
56
  ;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNwb25zZXMvY3JlYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLDBCQWlEQztBQXpERDs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsT0FBTyxDQUEyQyxJQUFjLEVBQUUsT0FBb0M7SUFFbEgsd0NBQXdDO0lBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBMkIsQ0FBQztJQUU5QyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBRXJFLGtCQUFrQjtJQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWhCLHdDQUF3QztJQUN4Qyx3Q0FBd0M7SUFDeEMsSUFBSSxHQUFHLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxnREFBZ0Q7SUFDaEQsT0FBTyxHQUFHLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRTVFLGlFQUFpRTtJQUNqRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDcEIsSUFBSSxDQUFDLENBQUMsUUFBUSxZQUFZLEtBQUssQ0FBQyxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQztZQUNELFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ1IsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVELCtDQUErQztJQUMvQyxpRUFBaUU7SUFDakUsd0JBQXdCO0lBQ3hCLCtDQUErQztJQUMvQyxpRUFBaUU7SUFDakUsd0JBQXdCO0lBQ3hCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxpRUFBaUU7SUFDakUsK0RBQStEOztRQUMxRCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFBRSxTQUFTLGlCQUFpQjtZQUN0RixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7QUFFUCxDQUFDO0FBQUEsQ0FBQyJ9
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNwb25zZXMvY3JlYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdCQSwwQkFrREM7QUFsRUQsMkNBQStDO0FBUS9DOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixPQUFPLENBQTJDLElBQWMsRUFBRSxPQUFvQztJQUVsSCx3Q0FBd0M7SUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUEyQixDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUEsNEJBQWdCLEVBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBNkMsQ0FBQyxDQUFDO0lBRXZHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7SUFFckUsa0JBQWtCO0lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFaEIsd0NBQXdDO0lBQ3hDLHdDQUF3QztJQUN4QyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLGdEQUFnRDtJQUNoRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFNUUsaUVBQWlFO0lBQ2pFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLENBQUMsQ0FBQyxRQUFRLFlBQVksS0FBSyxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0QsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDUixRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSwrREFBK0Q7O1FBQzFELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsaUJBQWlCO1lBQ3RGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztBQUVQLENBQUM7QUFBQSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"forbidden.d.ts","sourceRoot":"","sources":["../../src/responses/forbidden.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KAC7E;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DA4DvH"}
1
+ {"version":3,"file":"forbidden.d.ts","sourceRoot":"","sources":["../../src/responses/forbidden.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KAC7E;CACJ;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DA6DvH"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.forbidden = forbidden;
4
+ const siteTitle_1 = require("./siteTitle");
4
5
  /**
5
6
  * 403 (Forbidden) Handler
6
7
  *
@@ -14,6 +15,7 @@ function forbidden(data, options) {
14
15
  const req = this.req;
15
16
  const res = this.res;
16
17
  const sails = req._sails;
18
+ const siteTitle = (0, siteTitle_1.resolveSiteTitle)('Site', req.options?.locals);
17
19
  // Set status code
18
20
  res.status(403);
19
21
  // Log error to console
@@ -53,14 +55,14 @@ function forbidden(data, options) {
53
55
  // Otherwise try to guess an appropriate view, or if that doesn't
54
56
  // work, just send JSON.
55
57
  if (options.view) {
56
- return res.view(options.view, { data: viewData, title: 'Forbidden' });
58
+ return res.view(options.view, { data: viewData, title: siteTitle });
57
59
  }
58
60
  // If no second argument provided, try to serve the implied view,
59
61
  // but fall back to sending JSON(P) if no view can be inferred.
60
62
  else
61
- return res.guessView({ data: viewData, title: 'Forbidden' }, function couldNotGuessView() {
63
+ return res.guessView({ data: viewData, title: siteTitle }, function couldNotGuessView() {
62
64
  return res.json(data);
63
65
  });
64
66
  }
65
67
  ;
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yYmlkZGVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc3BvbnNlcy9mb3JiaWRkZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSw4QkE0REM7QUFwRUQ7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFNBQVMsQ0FBMkMsSUFBYyxFQUFFLE9BQW9DO0lBRXBILHdDQUF3QztJQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDckIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQTJCLENBQUM7SUFFOUMsa0JBQWtCO0lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFaEIsdUJBQXVCO0lBQ3ZCLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLHdDQUF3QyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7O1FBQ0ksS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUU3RCw2REFBNkQ7SUFDN0QsMkRBQTJEO0lBQzNELHNEQUFzRDtJQUN0RCxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFlBQVksSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3hGLElBQUksR0FBRyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCx3Q0FBd0M7SUFDeEMsSUFBSSxHQUFHLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUN0RCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELDRFQUE0RTtJQUM1RSxnREFBZ0Q7SUFDaEQsT0FBTyxHQUFHLENBQUMsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBRTVFLGlFQUFpRTtJQUNqRSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDcEIsSUFBSSxDQUFDLENBQUMsUUFBUSxZQUFZLEtBQUssQ0FBQyxJQUFJLFFBQVEsSUFBSSxPQUFPLFFBQVEsRUFBRSxDQUFDO1FBQzlELElBQUksQ0FBQztZQUNELFFBQVEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPLEVBQUUsRUFBRSxDQUFDO1lBQ1IsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUVELCtDQUErQztJQUMvQyxpRUFBaUU7SUFDakUsd0JBQXdCO0lBQ3hCLCtDQUErQztJQUMvQyxpRUFBaUU7SUFDakUsd0JBQXdCO0lBQ3hCLElBQUksT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxpRUFBaUU7SUFDakUsK0RBQStEOztRQUMxRCxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxTQUFTLGlCQUFpQjtZQUN4RixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7QUFFUCxDQUFDO0FBQUEsQ0FBQyJ9
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yYmlkZGVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Jlc3BvbnNlcy9mb3JiaWRkZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsOEJBNkRDO0FBN0VELDJDQUErQztBQVEvQzs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsU0FBUyxDQUEyQyxJQUFjLEVBQUUsT0FBb0M7SUFFcEgsd0NBQXdDO0lBQ3hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBMkIsQ0FBQztJQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFBLDRCQUFnQixFQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQTZDLENBQUMsQ0FBQztJQUV2RyxrQkFBa0I7SUFDbEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVoQix1QkFBdUI7SUFDdkIsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDckIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsd0NBQXdDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7UUFDSSxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBRTdELDZEQUE2RDtJQUM3RCwyREFBMkQ7SUFDM0Qsc0RBQXNEO0lBQ3RELElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEtBQUssWUFBWSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEYsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQseURBQXlEO0lBQ3pELHdDQUF3QztJQUN4QyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLGdEQUFnRDtJQUNoRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFNUUsaUVBQWlFO0lBQ2pFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLENBQUMsQ0FBQyxRQUFRLFlBQVksS0FBSyxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0QsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDUixRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSwrREFBK0Q7O1FBQzFELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsaUJBQWlCO1lBQ3RGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztBQUVQLENBQUM7QUFBQSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"ok.d.ts","sourceRoot":"","sources":["../../src/responses/ok.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KACtE;CACJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DAiDhH"}
1
+ {"version":3,"file":"ok.d.ts","sourceRoot":"","sources":["../../src/responses/ok.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,2BAA2B,CAAC;IACvC,UAAU,QAAQ;QACd,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,QAAQ,CAAC;KACtE;CACJ;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,EAAE,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;IAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAA;CAAE,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,+DAkDhH"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ok = ok;
4
+ const siteTitle_1 = require("./siteTitle");
4
5
  /**
5
6
  * 200 (OK) Response
6
7
  *
@@ -18,6 +19,7 @@ function ok(data, options) {
18
19
  const req = this.req;
19
20
  const res = this.res;
20
21
  const sails = req._sails;
22
+ const siteTitle = (0, siteTitle_1.resolveSiteTitle)('Site', req.options?.locals);
21
23
  sails.log.silly('res.ok() :: Sending 200 ("OK") response');
22
24
  // Set status code
23
25
  res.status(200);
@@ -46,14 +48,14 @@ function ok(data, options) {
46
48
  // Otherwise try to guess an appropriate view, or if that doesn't
47
49
  // work, just send JSON.
48
50
  if (options.view) {
49
- return res.view(options.view, { data: viewData, title: 'OK' });
51
+ return res.view(options.view, { data: viewData, title: siteTitle });
50
52
  }
51
53
  // If no second argument provided, try to serve the implied view,
52
54
  // but fall back to sending JSON(P) if no view can be inferred.
53
55
  else
54
- return res.guessView({ data: viewData, title: 'OK' }, function couldNotGuessView() {
56
+ return res.guessView({ data: viewData, title: siteTitle }, function couldNotGuessView() {
55
57
  return res.json(data);
56
58
  });
57
59
  }
58
60
  ;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzcG9uc2VzL29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0JBLGdCQWlEQztBQTdERDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQWdCLEVBQUUsQ0FBMkMsSUFBYyxFQUFFLE9BQW9DO0lBRTdHLHdDQUF3QztJQUN4QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDckIsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQTJCLENBQUM7SUFFOUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUUzRCxrQkFBa0I7SUFDbEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVoQix3Q0FBd0M7SUFDeEMsd0NBQXdDO0lBQ3hDLElBQUksR0FBRyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7UUFDdEQsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsZ0RBQWdEO0lBQ2hELE9BQU8sR0FBRyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUU1RSxpRUFBaUU7SUFDakUsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLElBQUksQ0FBQyxDQUFDLFFBQVEsWUFBWSxLQUFLLENBQUMsSUFBSSxRQUFRLElBQUksT0FBTyxRQUFRLEVBQUUsQ0FBQztRQUM5RCxJQUFJLENBQUM7WUFDRCxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNSLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFFRCwrQ0FBK0M7SUFDL0MsaUVBQWlFO0lBQ2pFLHdCQUF3QjtJQUN4QiwrQ0FBK0M7SUFDL0MsaUVBQWlFO0lBQ2pFLHdCQUF3QjtJQUN4QixJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLCtEQUErRDs7UUFDMUQsT0FBTyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxpQkFBaUI7WUFDakYsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0FBRVAsQ0FBQztBQUFBLENBQUMifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVzcG9uc2VzL29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBb0JBLGdCQWtEQztBQXRFRCwyQ0FBK0M7QUFRL0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixFQUFFLENBQTJDLElBQWMsRUFBRSxPQUFvQztJQUU3Ryx3Q0FBd0M7SUFDeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNyQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3JCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxNQUEyQixDQUFDO0lBQzlDLE1BQU0sU0FBUyxHQUFHLElBQUEsNEJBQWdCLEVBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBNkMsQ0FBQyxDQUFDO0lBRXZHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFFM0Qsa0JBQWtCO0lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFaEIsd0NBQXdDO0lBQ3hDLHdDQUF3QztJQUN4QyxJQUFJLEdBQUcsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3RELE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLGdEQUFnRDtJQUNoRCxPQUFPLEdBQUcsQ0FBQyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFNUUsaUVBQWlFO0lBQ2pFLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQztJQUNwQixJQUFJLENBQUMsQ0FBQyxRQUFRLFlBQVksS0FBSyxDQUFDLElBQUksUUFBUSxJQUFJLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFDOUQsSUFBSSxDQUFDO1lBQ0QsUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDUixRQUFRLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsK0NBQStDO0lBQy9DLGlFQUFpRTtJQUNqRSx3QkFBd0I7SUFDeEIsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSwrREFBK0Q7O1FBQzFELE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxFQUFFLFNBQVMsaUJBQWlCO1lBQ3RGLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztBQUVQLENBQUM7QUFBQSxDQUFDIn0=