@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../../src/api-routes/schemas/responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,417 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.recordListItemSchema = exports.objectMetadataSchema = exports.recordMetadataSchema = exports.searchResultsSchema = exports.searchRecordSchema = exports.searchFacetSchema = exports.searchFacetValueSchema = exports.translationBundleSchema = exports.translationEntrySchema = exports.vocabularySchema = exports.vocabularyTreeNodeSchema = exports.vocabularyEntrySchema = exports.formSchema = exports.recordTypeSchema = exports.recordTypeHooksSchema = exports.recordTypeHookOnEventSchema = exports.recordTypeHookDeclarationSchema = exports.relatedToSchema = exports.searchFilterSchema = exports.userRecordSchema = exports.brandingHistoryRecordSchema = exports.brandingLogoResponseSchema = exports.brandingRollbackResponseSchema = exports.brandingPublishResponseSchema = exports.brandingPreviewResponseSchema = exports.brandingDraftResponseSchema = exports.brandingConfigSchema = exports.roleSummarySchema = exports.supportAgreementYearSchema = exports.statusMessageResponseSchema = exports.userAuditResponseSchema = exports.userAuditSummarySchema = exports.userAuditRecordSchema = exports.userAuditActorSchema = exports.userLinkResponseSchema = exports.linkedUserSummarySchema = exports.storageServiceResponseSchema = exports.recordAuthorizationSchema = exports.genericObjectSchema = exports.userApiTokenApiResponseSchema = exports.createUserApiResponseSchema = exports.listApiSummarySchema = exports.apiHarvestResponseSchema = exports.apiObjectActionResponseSchema = exports.apiActionResponseSchema = exports.apiErrorResponseSchema = exports.buildResponseTypeSchema = exports.dataResponseV2Schema = exports.errorResponseV2Schema = exports.errorResponseItemV2Schema = void 0;
4
+ exports.appConfigValueSchema = exports.namedQueryResponseRecordSchema = exports.recordAuditEntrySchema = exports.datastreamUploadResponseSchema = exports.datastreamUploadResultSchema = exports.datastreamUploadFileSchema = exports.datastreamSummarySchema = exports.deletedRecordListItemSchema = void 0;
5
+ exports.listApiResponseSchema = listApiResponseSchema;
6
+ require("zod-to-openapi");
7
+ const zod_1 = require("zod");
8
+ function withOpenApi(schema, metadata) {
9
+ return schema.openapi(metadata);
10
+ }
11
+ const metaResponseItemV2Schema = withOpenApi(zod_1.z.object({}).passthrough(), {
12
+ description: 'Non-standard response metadata',
13
+ });
14
+ exports.errorResponseItemV2Schema = withOpenApi(zod_1.z.object({
15
+ id: zod_1.z.string().optional(),
16
+ status: zod_1.z.string().optional(),
17
+ code: zod_1.z.string().optional(),
18
+ title: zod_1.z.string().optional(),
19
+ detail: zod_1.z.string().optional(),
20
+ source: zod_1.z
21
+ .object({
22
+ pointer: zod_1.z.string().optional(),
23
+ parameter: zod_1.z.string().optional(),
24
+ header: zod_1.z.string().optional(),
25
+ })
26
+ .partial()
27
+ .optional(),
28
+ links: zod_1.z
29
+ .object({
30
+ about: zod_1.z.string().optional(),
31
+ type: zod_1.z.string().optional(),
32
+ })
33
+ .partial()
34
+ .optional(),
35
+ meta: metaResponseItemV2Schema.optional(),
36
+ }), { description: 'JSON:API error item used for validation and display errors' });
37
+ exports.errorResponseV2Schema = withOpenApi(zod_1.z.object({
38
+ errors: zod_1.z.array(exports.errorResponseItemV2Schema),
39
+ meta: metaResponseItemV2Schema,
40
+ }), { description: 'JSON:API error response envelope' });
41
+ exports.dataResponseV2Schema = withOpenApi(zod_1.z.object({
42
+ data: zod_1.z.unknown(),
43
+ meta: metaResponseItemV2Schema,
44
+ }), { description: 'JSON:API success response envelope' });
45
+ exports.buildResponseTypeSchema = withOpenApi(zod_1.z.object({
46
+ format: zod_1.z.literal('json').optional(),
47
+ data: zod_1.z.unknown().optional(),
48
+ status: zod_1.z.number().int().optional(),
49
+ headers: zod_1.z.record(zod_1.z.string()).optional(),
50
+ errors: zod_1.z.array(zod_1.z.object({}).passthrough()).optional(),
51
+ displayErrors: zod_1.z.array(exports.errorResponseItemV2Schema).optional(),
52
+ meta: metaResponseItemV2Schema.optional(),
53
+ v1: zod_1.z.unknown().optional(),
54
+ }), { description: 'Internal response envelope used by CoreController.sendResp' });
55
+ const messageDetailsSchema = zod_1.z.object({
56
+ message: zod_1.z.string(),
57
+ details: zod_1.z.string(),
58
+ });
59
+ exports.apiErrorResponseSchema = withOpenApi(messageDetailsSchema, {
60
+ description: 'Legacy API error response with message and details fields',
61
+ });
62
+ exports.apiActionResponseSchema = withOpenApi(messageDetailsSchema, {
63
+ description: 'Legacy API action response with message and details fields',
64
+ });
65
+ exports.apiObjectActionResponseSchema = withOpenApi(messageDetailsSchema.extend({
66
+ oid: zod_1.z.string(),
67
+ }), { description: 'Legacy API object action response with oid, message, and details fields' });
68
+ exports.apiHarvestResponseSchema = withOpenApi(zod_1.z.object({
69
+ harvestId: zod_1.z.string(),
70
+ oid: zod_1.z.string(),
71
+ message: zod_1.z.string(),
72
+ details: zod_1.z.string(),
73
+ status: zod_1.z.boolean(),
74
+ }), { description: 'Legacy harvest response envelope' });
75
+ exports.listApiSummarySchema = withOpenApi(zod_1.z.object({
76
+ numFound: zod_1.z.number().int(),
77
+ page: zod_1.z.number().int(),
78
+ start: zod_1.z.number().int(),
79
+ }), { description: 'Legacy list response summary' });
80
+ function listApiResponseSchema(recordSchema) {
81
+ return withOpenApi(zod_1.z.object({
82
+ summary: exports.listApiSummarySchema,
83
+ records: zod_1.z.array(recordSchema),
84
+ }), { description: 'Legacy list response envelope' });
85
+ }
86
+ exports.createUserApiResponseSchema = withOpenApi(zod_1.z.object({
87
+ id: zod_1.z.string(),
88
+ username: zod_1.z.string(),
89
+ name: zod_1.z.string(),
90
+ email: zod_1.z.string(),
91
+ type: zod_1.z.string(),
92
+ lastLogin: zod_1.z.string().nullable(),
93
+ }), { description: 'User response returned by create and update actions' });
94
+ exports.userApiTokenApiResponseSchema = withOpenApi(zod_1.z.object({
95
+ id: zod_1.z.string(),
96
+ username: zod_1.z.string(),
97
+ token: zod_1.z.string(),
98
+ }), { description: 'API token response returned by token generation actions' });
99
+ exports.genericObjectSchema = withOpenApi(zod_1.z.object({}).passthrough(), {
100
+ description: 'Arbitrary object payload',
101
+ });
102
+ exports.recordAuthorizationSchema = withOpenApi(zod_1.z.object({
103
+ edit: zod_1.z.array(zod_1.z.string()).optional(),
104
+ view: zod_1.z.array(zod_1.z.string()).optional(),
105
+ editPending: zod_1.z.array(zod_1.z.string()).optional(),
106
+ viewPending: zod_1.z.array(zod_1.z.string()).optional(),
107
+ editRoles: zod_1.z.array(zod_1.z.string()).optional(),
108
+ viewRoles: zod_1.z.array(zod_1.z.string()).optional(),
109
+ }), { description: 'Record authorization payload' });
110
+ exports.storageServiceResponseSchema = withOpenApi(zod_1.z.object({
111
+ success: zod_1.z.boolean(),
112
+ oid: zod_1.z.string(),
113
+ message: zod_1.z.string(),
114
+ metadata: exports.genericObjectSchema.nullable(),
115
+ details: zod_1.z.union([zod_1.z.string(), exports.genericObjectSchema]).optional(),
116
+ totalItems: zod_1.z.number().int(),
117
+ items: zod_1.z.array(exports.genericObjectSchema),
118
+ }), { description: 'Storage service response envelope' });
119
+ exports.linkedUserSummarySchema = withOpenApi(zod_1.z.object({
120
+ id: zod_1.z.string(),
121
+ username: zod_1.z.string(),
122
+ name: zod_1.z.string(),
123
+ email: zod_1.z.string(),
124
+ type: zod_1.z.string(),
125
+ accountLinkState: zod_1.z.string(),
126
+ linkedAt: zod_1.z.string().optional(),
127
+ }), { description: 'Linked user summary' });
128
+ exports.userLinkResponseSchema = withOpenApi(zod_1.z.object({
129
+ primary: exports.linkedUserSummarySchema,
130
+ linkedAccounts: zod_1.z.array(exports.linkedUserSummarySchema),
131
+ impact: zod_1.z
132
+ .object({
133
+ recordsRewritten: zod_1.z.number().int(),
134
+ rolesMerged: zod_1.z.number().int(),
135
+ })
136
+ .optional(),
137
+ }), { description: 'Linked accounts response' });
138
+ exports.userAuditActorSchema = withOpenApi(zod_1.z.object({
139
+ username: zod_1.z.string(),
140
+ name: zod_1.z.string().optional(),
141
+ email: zod_1.z.string().optional(),
142
+ }), { description: 'Audit actor summary' });
143
+ exports.userAuditRecordSchema = withOpenApi(zod_1.z.object({
144
+ id: zod_1.z.string(),
145
+ timestamp: zod_1.z.string().nullable(),
146
+ action: zod_1.z.string(),
147
+ actor: exports.userAuditActorSchema,
148
+ details: zod_1.z.string(),
149
+ parsedAdditionalContext: exports.genericObjectSchema,
150
+ rawAdditionalContext: zod_1.z.string().nullable(),
151
+ parseError: zod_1.z.boolean(),
152
+ }), { description: 'User audit record' });
153
+ exports.userAuditSummarySchema = withOpenApi(zod_1.z.object({
154
+ returnedCount: zod_1.z.number().int(),
155
+ truncated: zod_1.z.boolean(),
156
+ }), { description: 'User audit summary' });
157
+ exports.userAuditResponseSchema = withOpenApi(zod_1.z.object({
158
+ user: exports.genericObjectSchema.nullable(),
159
+ records: zod_1.z.array(exports.userAuditRecordSchema),
160
+ summary: exports.userAuditSummarySchema,
161
+ }), { description: 'User audit response' });
162
+ exports.statusMessageResponseSchema = withOpenApi(zod_1.z.object({
163
+ status: zod_1.z.boolean(),
164
+ message: zod_1.z.string(),
165
+ }), { description: 'Status and message response' });
166
+ const dateTimeSchema = withOpenApi(zod_1.z.string(), {
167
+ description: 'ISO 8601 date-time string',
168
+ format: 'date-time',
169
+ });
170
+ const jsonObjectSchema = withOpenApi(zod_1.z.object({}).passthrough(), {
171
+ description: 'Arbitrary JSON object',
172
+ });
173
+ const brandingReferenceSchema = withOpenApi(zod_1.z.union([zod_1.z.string(), zod_1.z.number()]), {
174
+ description: 'Branding identifier',
175
+ });
176
+ const jsonValueSchema = withOpenApi(zod_1.z.unknown(), {
177
+ description: 'Any JSON value',
178
+ type: 'object',
179
+ nullable: true,
180
+ });
181
+ exports.supportAgreementYearSchema = withOpenApi(zod_1.z.object({
182
+ agreedSupportDays: zod_1.z.number(),
183
+ usedSupportDays: zod_1.z.number(),
184
+ }), { description: 'Annual support agreement usage' });
185
+ exports.roleSummarySchema = withOpenApi(zod_1.z.object({
186
+ id: zod_1.z.string(),
187
+ name: zod_1.z.string(),
188
+ branding: brandingReferenceSchema.optional(),
189
+ }).passthrough(), { description: 'Role summary' });
190
+ exports.brandingConfigSchema = withOpenApi(zod_1.z.object({
191
+ id: zod_1.z.string(),
192
+ name: zod_1.z.string(),
193
+ css: zod_1.z.string(),
194
+ variables: jsonObjectSchema.optional(),
195
+ version: zod_1.z.number().int().optional(),
196
+ hash: zod_1.z.string().optional(),
197
+ logo: jsonObjectSchema.optional(),
198
+ roles: zod_1.z.array(exports.roleSummarySchema).optional(),
199
+ supportAgreementInformation: jsonObjectSchema.optional(),
200
+ }).passthrough(), { description: 'Branding configuration record' });
201
+ exports.brandingDraftResponseSchema = withOpenApi(zod_1.z.object({
202
+ branding: exports.brandingConfigSchema,
203
+ }), { description: 'Saved branding draft response' });
204
+ exports.brandingPreviewResponseSchema = withOpenApi(zod_1.z.object({
205
+ token: zod_1.z.string(),
206
+ url: zod_1.z.string(),
207
+ hash: zod_1.z.string(),
208
+ previewToken: zod_1.z.string(),
209
+ previewUrl: zod_1.z.string(),
210
+ branding: exports.brandingConfigSchema.optional(),
211
+ }), { description: 'Branding preview response' });
212
+ exports.brandingPublishResponseSchema = withOpenApi(zod_1.z.object({
213
+ version: zod_1.z.number().int(),
214
+ hash: zod_1.z.string(),
215
+ idempotent: zod_1.z.boolean().optional(),
216
+ }), { description: 'Branding publish response' });
217
+ exports.brandingRollbackResponseSchema = withOpenApi(zod_1.z.object({
218
+ version: zod_1.z.number().int(),
219
+ hash: zod_1.z.string(),
220
+ branding: exports.brandingConfigSchema.nullable(),
221
+ }), { description: 'Branding rollback response' });
222
+ exports.brandingLogoResponseSchema = withOpenApi(zod_1.z.object({
223
+ hash: zod_1.z.string(),
224
+ }), { description: 'Branding logo upload response' });
225
+ exports.brandingHistoryRecordSchema = withOpenApi(zod_1.z.object({
226
+ branding: brandingReferenceSchema,
227
+ version: zod_1.z.number().int(),
228
+ hash: zod_1.z.string(),
229
+ css: zod_1.z.string().optional(),
230
+ variables: jsonObjectSchema.optional(),
231
+ dateCreated: dateTimeSchema.optional(),
232
+ }).passthrough(), { description: 'Branding history entry' });
233
+ exports.userRecordSchema = withOpenApi(zod_1.z.object({
234
+ id: zod_1.z.string(),
235
+ username: zod_1.z.string(),
236
+ type: zod_1.z.string(),
237
+ name: zod_1.z.string(),
238
+ email: zod_1.z.string(),
239
+ lastLogin: dateTimeSchema.nullable().optional(),
240
+ additionalAttributes: jsonObjectSchema.optional(),
241
+ linkedPrimaryUserId: zod_1.z.string().optional(),
242
+ accountLinkState: zod_1.z.string().optional(),
243
+ effectivePrimaryUsername: zod_1.z.string().optional(),
244
+ linkedAccountCount: zod_1.z.number().int().optional(),
245
+ loginDisabled: zod_1.z.boolean().optional(),
246
+ effectiveLoginDisabled: zod_1.z.boolean().optional(),
247
+ disabledByPrimaryUserId: zod_1.z.string().optional(),
248
+ disabledByPrimaryUsername: zod_1.z.string().optional(),
249
+ workspaceApps: zod_1.z.array(jsonObjectSchema).optional(),
250
+ roles: zod_1.z.array(exports.roleSummarySchema).optional(),
251
+ }).passthrough(), { description: 'User record response' });
252
+ exports.searchFilterSchema = withOpenApi(zod_1.z.object({
253
+ name: zod_1.z.string(),
254
+ title: zod_1.z.string(),
255
+ type: zod_1.z.string(),
256
+ typeLabel: zod_1.z.string(),
257
+ }).passthrough(), { description: 'Record type search filter' });
258
+ exports.relatedToSchema = withOpenApi(zod_1.z.object({
259
+ recordType: zod_1.z.string(),
260
+ foreignField: zod_1.z.string(),
261
+ }).passthrough(), { description: 'Record type relation mapping' });
262
+ exports.recordTypeHookDeclarationSchema = withOpenApi(zod_1.z.object({
263
+ function: zod_1.z.string(),
264
+ options: jsonObjectSchema,
265
+ }).passthrough(), { description: 'Record type hook declaration' });
266
+ exports.recordTypeHookOnEventSchema = withOpenApi(zod_1.z.object({
267
+ pre: zod_1.z.array(exports.recordTypeHookDeclarationSchema),
268
+ post: zod_1.z.array(exports.recordTypeHookDeclarationSchema),
269
+ postSync: zod_1.z.array(exports.recordTypeHookDeclarationSchema),
270
+ }).passthrough(), { description: 'Record type hook event handlers' });
271
+ exports.recordTypeHooksSchema = withOpenApi(zod_1.z.object({
272
+ onCreate: exports.recordTypeHookOnEventSchema,
273
+ onUpdate: exports.recordTypeHookOnEventSchema,
274
+ onDelete: exports.recordTypeHookOnEventSchema,
275
+ }).passthrough(), { description: 'Record type hooks configuration' });
276
+ exports.recordTypeSchema = withOpenApi(zod_1.z.object({
277
+ key: zod_1.z.string().optional(),
278
+ name: zod_1.z.string(),
279
+ branding: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), exports.brandingConfigSchema]).optional(),
280
+ packageType: zod_1.z.string().optional(),
281
+ searchCore: zod_1.z.string().optional(),
282
+ workflowSteps: zod_1.z.array(jsonObjectSchema).optional(),
283
+ searchFilters: zod_1.z.array(exports.searchFilterSchema).optional(),
284
+ searchable: zod_1.z.boolean().optional(),
285
+ transferResponsibility: jsonObjectSchema.optional(),
286
+ relatedTo: zod_1.z.array(exports.relatedToSchema).optional(),
287
+ hooks: exports.recordTypeHooksSchema.optional(),
288
+ dashboard: jsonObjectSchema.optional(),
289
+ }).passthrough(), { description: 'Record type configuration' });
290
+ exports.formSchema = withOpenApi(zod_1.z.object({
291
+ id: zod_1.z.string().optional(),
292
+ name: zod_1.z.string(),
293
+ branding: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), exports.brandingConfigSchema]).optional(),
294
+ configuration: jsonObjectSchema.optional(),
295
+ }).passthrough(), { description: 'Form definition' });
296
+ exports.vocabularyEntrySchema = withOpenApi(zod_1.z.object({
297
+ id: zod_1.z.string().optional(),
298
+ vocabulary: brandingReferenceSchema.optional(),
299
+ label: zod_1.z.string(),
300
+ labelLower: zod_1.z.string().optional(),
301
+ value: zod_1.z.string(),
302
+ valueLower: zod_1.z.string().optional(),
303
+ parent: brandingReferenceSchema.nullable().optional(),
304
+ identifier: zod_1.z.string().optional(),
305
+ order: zod_1.z.number().int().optional(),
306
+ historical: zod_1.z.boolean().optional(),
307
+ }).passthrough(), { description: 'Vocabulary entry' });
308
+ exports.vocabularyTreeNodeSchema = withOpenApi(exports.vocabularyEntrySchema.extend({
309
+ children: zod_1.z.array(exports.vocabularyEntrySchema).optional(),
310
+ }), { description: 'Vocabulary tree node' });
311
+ exports.vocabularySchema = withOpenApi(zod_1.z.object({
312
+ id: zod_1.z.string().optional(),
313
+ branding: zod_1.z.union([zod_1.z.string(), zod_1.z.number(), exports.brandingConfigSchema]).optional(),
314
+ description: zod_1.z.string().optional(),
315
+ entries: zod_1.z.array(exports.vocabularyEntrySchema).optional(),
316
+ lastSyncedAt: dateTimeSchema.optional(),
317
+ name: zod_1.z.string(),
318
+ owner: zod_1.z.string().optional(),
319
+ rvaSourceKey: zod_1.z.string().nullable().optional(),
320
+ slug: zod_1.z.string(),
321
+ source: zod_1.z.string().optional(),
322
+ sourceId: zod_1.z.string().optional(),
323
+ sourceVersionId: zod_1.z.string().optional(),
324
+ type: zod_1.z.string().optional(),
325
+ }).passthrough(), { description: 'Vocabulary record' });
326
+ exports.translationEntrySchema = withOpenApi(zod_1.z.object({
327
+ id: zod_1.z.string().optional(),
328
+ branding: brandingReferenceSchema.optional(),
329
+ bundle: brandingReferenceSchema.optional(),
330
+ category: zod_1.z.string().nullable().optional(),
331
+ description: zod_1.z.string().nullable().optional(),
332
+ key: zod_1.z.string(),
333
+ locale: zod_1.z.string(),
334
+ namespace: zod_1.z.string().optional(),
335
+ uid: zod_1.z.string().optional(),
336
+ value: jsonValueSchema,
337
+ }).passthrough(), { description: 'Translation entry' });
338
+ exports.translationBundleSchema = withOpenApi(zod_1.z.object({
339
+ id: zod_1.z.string().optional(),
340
+ branding: brandingReferenceSchema.optional(),
341
+ data: jsonObjectSchema,
342
+ displayName: zod_1.z.string().optional(),
343
+ enabled: zod_1.z.boolean().optional(),
344
+ entries: zod_1.z.array(exports.translationEntrySchema).optional(),
345
+ locale: zod_1.z.string(),
346
+ namespace: zod_1.z.string().optional(),
347
+ uid: zod_1.z.string().optional(),
348
+ }).passthrough(), { description: 'Translation bundle' });
349
+ exports.searchFacetValueSchema = withOpenApi(zod_1.z.object({
350
+ value: zod_1.z.string(),
351
+ count: zod_1.z.number().int(),
352
+ }).passthrough(), { description: 'Search facet value' });
353
+ exports.searchFacetSchema = withOpenApi(zod_1.z.object({
354
+ name: zod_1.z.string(),
355
+ values: zod_1.z.array(exports.searchFacetValueSchema),
356
+ }).passthrough(), { description: 'Search facet summary' });
357
+ exports.searchRecordSchema = withOpenApi(zod_1.z.object({
358
+ hasEditAccess: zod_1.z.boolean(),
359
+ }).passthrough(), { description: 'Search result record' });
360
+ exports.searchResultsSchema = withOpenApi(zod_1.z.object({
361
+ records: zod_1.z.array(exports.searchRecordSchema),
362
+ facets: zod_1.z.array(exports.searchFacetSchema).optional(),
363
+ totalItems: zod_1.z.number().int(),
364
+ }).passthrough(), { description: 'Search response payload' });
365
+ exports.recordMetadataSchema = withOpenApi(zod_1.z.object({}).passthrough(), { description: 'Record metadata payload' });
366
+ exports.objectMetadataSchema = withOpenApi(zod_1.z.object({}).passthrough(), { description: 'Object metadata payload' });
367
+ exports.recordListItemSchema = withOpenApi(zod_1.z.object({
368
+ oid: zod_1.z.string(),
369
+ title: zod_1.z.string().optional(),
370
+ metadata: jsonObjectSchema,
371
+ dateCreated: dateTimeSchema.optional(),
372
+ dateModified: dateTimeSchema.optional(),
373
+ hasEditAccess: zod_1.z.boolean(),
374
+ }).passthrough(), { description: 'Record list item' });
375
+ exports.deletedRecordListItemSchema = withOpenApi(zod_1.z.object({
376
+ oid: zod_1.z.string(),
377
+ title: zod_1.z.string().optional(),
378
+ deletedRecord: jsonObjectSchema,
379
+ dateCreated: dateTimeSchema.optional(),
380
+ dateModified: dateTimeSchema.optional(),
381
+ dateDeleted: dateTimeSchema.optional(),
382
+ }).passthrough(), { description: 'Deleted record list item' });
383
+ exports.datastreamSummarySchema = withOpenApi(zod_1.z.object({
384
+ dateUpdated: dateTimeSchema.optional(),
385
+ label: zod_1.z.string().optional(),
386
+ contentType: zod_1.z.string().optional(),
387
+ filename: zod_1.z.string().optional(),
388
+ contentLength: zod_1.z.number().optional(),
389
+ lastModified: dateTimeSchema.optional(),
390
+ etag: zod_1.z.string().optional(),
391
+ fileId: zod_1.z.string().optional(),
392
+ name: zod_1.z.string().optional(),
393
+ mimeType: zod_1.z.string().optional(),
394
+ size: zod_1.z.number().optional(),
395
+ }).passthrough(), { description: 'Record datastream summary' });
396
+ exports.datastreamUploadFileSchema = withOpenApi(zod_1.z.object({
397
+ fileId: zod_1.z.string(),
398
+ metadata: jsonObjectSchema.optional(),
399
+ }).passthrough(), { description: 'Uploaded datastream file reference' });
400
+ exports.datastreamUploadResultSchema = withOpenApi(zod_1.z.object({
401
+ success: zod_1.z.boolean(),
402
+ message: zod_1.z.string(),
403
+ fileIds: zod_1.z.array(exports.datastreamUploadFileSchema).optional(),
404
+ }).passthrough(), { description: 'Datastream upload result' });
405
+ exports.datastreamUploadResponseSchema = withOpenApi(zod_1.z.object({
406
+ message: exports.datastreamUploadResultSchema,
407
+ }), { description: 'Datastream upload response' });
408
+ exports.recordAuditEntrySchema = withOpenApi(zod_1.z.object({}).passthrough(), { description: 'Record audit entry' });
409
+ exports.namedQueryResponseRecordSchema = withOpenApi(zod_1.z.object({
410
+ oid: zod_1.z.string(),
411
+ title: zod_1.z.string(),
412
+ metadata: jsonObjectSchema,
413
+ lastSaveDate: dateTimeSchema.nullable(),
414
+ dateCreated: dateTimeSchema.nullable(),
415
+ }).passthrough(), { description: 'Named query result record' });
416
+ exports.appConfigValueSchema = withOpenApi(zod_1.z.object({}).passthrough(), { description: 'Application configuration payload' });
417
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2VzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1yb3V0ZXMvc2NoZW1hcy9yZXNwb25zZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQStHQSxzREFRQztBQXZIRCwwQkFBd0I7QUFFeEIsNkJBQXlDO0FBSXpDLFNBQVMsV0FBVyxDQUF1QixNQUFTLEVBQUUsUUFBaUM7SUFDbkYsT0FBUSxNQUEyRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRyxDQUFDO0FBRUQsTUFBTSx3QkFBd0IsR0FBRyxXQUFXLENBQUMsT0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtJQUNyRSxXQUFXLEVBQUUsZ0NBQWdDO0NBQ2hELENBQUMsQ0FBQztBQUVVLFFBQUEseUJBQXlCLEdBQUcsV0FBVyxDQUNoRCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsTUFBTSxFQUFFLE9BQUM7U0FDSixNQUFNLENBQUM7UUFDSixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM5QixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUNoQyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNoQyxDQUFDO1NBQ0QsT0FBTyxFQUFFO1NBQ1QsUUFBUSxFQUFFO0lBQ2YsS0FBSyxFQUFFLE9BQUM7U0FDSCxNQUFNLENBQUM7UUFDSixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM1QixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUM5QixDQUFDO1NBQ0QsT0FBTyxFQUFFO1NBQ1QsUUFBUSxFQUFFO0lBQ2YsSUFBSSxFQUFFLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtDQUM1QyxDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsNERBQTRELEVBQUUsQ0FDaEYsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUcsV0FBVyxDQUM1QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsaUNBQXlCLENBQUM7SUFDMUMsSUFBSSxFQUFFLHdCQUF3QjtDQUNqQyxDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsa0NBQWtDLEVBQUUsQ0FDdEQsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsV0FBVyxDQUMzQyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsSUFBSSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7SUFDakIsSUFBSSxFQUFFLHdCQUF3QjtDQUNqQyxDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsb0NBQW9DLEVBQUUsQ0FDeEQsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsV0FBVyxDQUM5QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsTUFBTSxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3BDLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25DLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxNQUFNLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3RELGFBQWEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLGlDQUF5QixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzVELElBQUksRUFBRSx3QkFBd0IsQ0FBQyxRQUFRLEVBQUU7SUFDekMsRUFBRSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDN0IsQ0FBQyxFQUNGLEVBQUUsV0FBVyxFQUFFLDREQUE0RCxFQUFFLENBQ2hGLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDdEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQUMsb0JBQW9CLEVBQUU7SUFDcEUsV0FBVyxFQUFFLDJEQUEyRDtDQUMzRSxDQUFDLENBQUM7QUFFVSxRQUFBLHVCQUF1QixHQUFHLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRTtJQUNyRSxXQUFXLEVBQUUsNERBQTREO0NBQzVFLENBQUMsQ0FBQztBQUVVLFFBQUEsNkJBQTZCLEdBQUcsV0FBVyxDQUNwRCxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7SUFDeEIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDbEIsQ0FBQyxFQUNGLEVBQUUsV0FBVyxFQUFFLHlFQUF5RSxFQUFFLENBQzdGLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHLFdBQVcsQ0FDL0MsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3JCLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2YsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDdEIsQ0FBQyxFQUNGLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFLENBQ3RELENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLFdBQVcsQ0FDM0MsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO0lBQzFCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO0lBQ3RCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO0NBQzFCLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxDQUNsRCxDQUFDO0FBRUYsU0FBZ0IscUJBQXFCLENBQUMsWUFBNEI7SUFDOUQsT0FBTyxXQUFXLENBQ2QsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNMLE9BQU8sRUFBRSw0QkFBb0I7UUFDN0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0tBQ2pDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUNuRCxDQUFDO0FBQ04sQ0FBQztBQUVZLFFBQUEsMkJBQTJCLEdBQUcsV0FBVyxDQUNsRCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNuQyxDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUscURBQXFELEVBQUUsQ0FDekUsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUcsV0FBVyxDQUNwRCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNwQixDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUseURBQXlELEVBQUUsQ0FDN0UsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsV0FBVyxDQUFDLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7SUFDdkUsV0FBVyxFQUFFLDBCQUEwQjtDQUMxQyxDQUFDLENBQUM7QUFFVSxRQUFBLHlCQUF5QixHQUFHLFdBQVcsQ0FDaEQsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLElBQUksRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNwQyxJQUFJLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsV0FBVyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzNDLFdBQVcsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMzQyxTQUFTLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDekMsU0FBUyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQzVDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSw4QkFBOEIsRUFBRSxDQUNsRCxDQUFDO0FBRVcsUUFBQSw0QkFBNEIsR0FBRyxXQUFXLENBQ25ELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNwQixHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSwyQkFBbUIsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsMkJBQW1CLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM5RCxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUM1QixLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQywyQkFBbUIsQ0FBQztDQUN0QyxDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsbUNBQW1DLEVBQUUsQ0FDdkQsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsV0FBVyxDQUM5QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQzVCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUN6QyxDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQzdDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsK0JBQXVCO0lBQ2hDLGNBQWMsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLCtCQUF1QixDQUFDO0lBQ2hELE1BQU0sRUFBRSxPQUFDO1NBQ0osTUFBTSxDQUFDO1FBQ0osZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtRQUNsQyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtLQUNoQyxDQUFDO1NBQ0QsUUFBUSxFQUFFO0NBQ2xCLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUM5QyxDQUFDO0FBRVcsUUFBQSxvQkFBb0IsR0FBRyxXQUFXLENBQzNDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQixDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsQ0FDekMsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUcsV0FBVyxDQUM1QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoQyxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixLQUFLLEVBQUUsNEJBQW9CO0lBQzNCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLHVCQUF1QixFQUFFLDJCQUFtQjtJQUM1QyxvQkFBb0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFVBQVUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0NBQzFCLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxDQUN2QyxDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQzdDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUMvQixTQUFTLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtDQUN6QixDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FDeEMsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsV0FBVyxDQUM5QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsSUFBSSxFQUFFLDJCQUFtQixDQUFDLFFBQVEsRUFBRTtJQUNwQyxPQUFPLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyw2QkFBcUIsQ0FBQztJQUN2QyxPQUFPLEVBQUUsOEJBQXNCO0NBQ2xDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxDQUN6QyxDQUFDO0FBRVcsUUFBQSwyQkFBMkIsR0FBRyxXQUFXLENBQ2xELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxNQUFNLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNuQixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtDQUN0QixDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsQ0FDakQsQ0FBQztBQUVGLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7SUFDM0MsV0FBVyxFQUFFLDJCQUEyQjtJQUN4QyxNQUFNLEVBQUUsV0FBVztDQUN0QixDQUFDLENBQUM7QUFFSCxNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO0lBQzdELFdBQVcsRUFBRSx1QkFBdUI7Q0FDdkMsQ0FBQyxDQUFDO0FBRUgsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUMsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO0lBQzNFLFdBQVcsRUFBRSxxQkFBcUI7Q0FDckMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtJQUM3QyxXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCLElBQUksRUFBRSxRQUFRO0lBQ2QsUUFBUSxFQUFFLElBQUk7Q0FDakIsQ0FBQyxDQUFDO0FBRVUsUUFBQSwwQkFBMEIsR0FBRyxXQUFXLENBQ2pELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxpQkFBaUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQzdCLGVBQWUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0NBQzlCLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSxnQ0FBZ0MsRUFBRSxDQUNwRCxDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRyxXQUFXLENBQ3hDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNkLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxRQUFRLEVBQUU7Q0FDL0MsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FDbEMsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsV0FBVyxDQUMzQyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsSUFBSSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtJQUNqQyxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBaUIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1QywyQkFBMkIsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7Q0FDM0QsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUNuRCxDQUFDO0FBRVcsUUFBQSwyQkFBMkIsR0FBRyxXQUFXLENBQ2xELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxRQUFRLEVBQUUsNEJBQW9CO0NBQ2pDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxDQUNuRCxDQUFDO0FBRVcsUUFBQSw2QkFBNkIsR0FBRyxXQUFXLENBQ3BELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3hCLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3RCLFFBQVEsRUFBRSw0QkFBb0IsQ0FBQyxRQUFRLEVBQUU7Q0FDNUMsQ0FBQyxFQUNGLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQy9DLENBQUM7QUFFVyxRQUFBLDZCQUE2QixHQUFHLFdBQVcsQ0FDcEQsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFO0lBQ3pCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFVBQVUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3JDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUMvQyxDQUFDO0FBRVcsUUFBQSw4QkFBOEIsR0FBRyxXQUFXLENBQ3JELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUN6QixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixRQUFRLEVBQUUsNEJBQW9CLENBQUMsUUFBUSxFQUFFO0NBQzVDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxDQUNoRCxDQUFDO0FBRVcsUUFBQSwwQkFBMEIsR0FBRyxXQUFXLENBQ2pELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNuQixDQUFDLEVBQ0YsRUFBRSxXQUFXLEVBQUUsK0JBQStCLEVBQUUsQ0FDbkQsQ0FBQztBQUVXLFFBQUEsMkJBQTJCLEdBQUcsV0FBVyxDQUNsRCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsUUFBUSxFQUFFLHVCQUF1QjtJQUNqQyxPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUN6QixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQixTQUFTLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO0lBQ3RDLFdBQVcsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0NBQ3pDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsQ0FDNUMsQ0FBQztBQUVXLFFBQUEsZ0JBQWdCLEdBQUcsV0FBVyxDQUN2QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNqQixTQUFTLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7SUFDakQsbUJBQW1CLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLHdCQUF3QixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0Msa0JBQWtCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQyxhQUFhLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxzQkFBc0IsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlDLHVCQUF1QixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUMseUJBQXlCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRCxhQUFhLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNuRCxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBaUIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUMvQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQzFDLENBQUM7QUFFVyxRQUFBLGtCQUFrQixHQUFHLFdBQVcsQ0FDekMsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2hCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0NBQ3hCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUUsQ0FDL0MsQ0FBQztBQUVXLFFBQUEsZUFBZSxHQUFHLFdBQVcsQ0FDdEMsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3RCLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0NBQzNCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsOEJBQThCLEVBQUUsQ0FDbEQsQ0FBQztBQUVXLFFBQUEsK0JBQStCLEdBQUcsV0FBVyxDQUN0RCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtDQUM1QixDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLDhCQUE4QixFQUFFLENBQ2xELENBQUM7QUFFVyxRQUFBLDJCQUEyQixHQUFHLFdBQVcsQ0FDbEQsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLEdBQUcsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLHVDQUErQixDQUFDO0lBQzdDLElBQUksRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLHVDQUErQixDQUFDO0lBQzlDLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLHVDQUErQixDQUFDO0NBQ3JELENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsaUNBQWlDLEVBQUUsQ0FDckQsQ0FBQztBQUVXLFFBQUEscUJBQXFCLEdBQUcsV0FBVyxDQUM1QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsUUFBUSxFQUFFLG1DQUEyQjtJQUNyQyxRQUFRLEVBQUUsbUNBQTJCO0lBQ3JDLFFBQVEsRUFBRSxtQ0FBMkI7Q0FDeEMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSxpQ0FBaUMsRUFBRSxDQUNyRCxDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRyxXQUFXLENBQ3ZDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixRQUFRLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsNEJBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1RSxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxhQUFhLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNuRCxhQUFhLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQywwQkFBa0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRCxVQUFVLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7SUFDbkQsU0FBUyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsdUJBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM5QyxLQUFLLEVBQUUsNkJBQXFCLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7Q0FDekMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUMvQyxDQUFDO0FBRVcsUUFBQSxVQUFVLEdBQUcsV0FBVyxDQUNqQyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLDRCQUFvQixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDNUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtDQUM3QyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLENBQ3JDLENBQUM7QUFFVyxRQUFBLHFCQUFxQixHQUFHLFdBQVcsQ0FDNUMsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyRCxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxVQUFVLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNyQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQ3RDLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHLFdBQVcsQ0FDL0MsNkJBQXFCLENBQUMsTUFBTSxDQUFDO0lBQ3pCLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLDZCQUFxQixDQUFDLENBQUMsUUFBUSxFQUFFO0NBQ3RELENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSxzQkFBc0IsRUFBRSxDQUMxQyxDQUFDO0FBRVcsUUFBQSxnQkFBZ0IsR0FBRyxXQUFXLENBQ3ZDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QixRQUFRLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsNEJBQW9CLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1RSxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxPQUFPLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyw2QkFBcUIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRCxZQUFZLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUN2QyxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixlQUFlLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM5QixDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLENBQ3ZDLENBQUM7QUFFVyxRQUFBLHNCQUFzQixHQUFHLFdBQVcsQ0FDN0MsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pCLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxRQUFRLEVBQUU7SUFDNUMsTUFBTSxFQUFFLHVCQUF1QixDQUFDLFFBQVEsRUFBRTtJQUMxQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFCLEtBQUssRUFBRSxlQUFlO0NBQ3pCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsQ0FDdkMsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsV0FBVyxDQUM5QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsUUFBUSxFQUFFLHVCQUF1QixDQUFDLFFBQVEsRUFBRTtJQUM1QyxJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLE9BQU8sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLDhCQUFzQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25ELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQzdCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsQ0FDeEMsQ0FBQztBQUVXLFFBQUEsc0JBQXNCLEdBQUcsV0FBVyxDQUM3QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUU7Q0FDMUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxDQUN4QyxDQUFDO0FBRVcsUUFBQSxpQkFBaUIsR0FBRyxXQUFXLENBQ3hDLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixNQUFNLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyw4QkFBc0IsQ0FBQztDQUMxQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLHNCQUFzQixFQUFFLENBQzFDLENBQUM7QUFFVyxRQUFBLGtCQUFrQixHQUFHLFdBQVcsQ0FDekMsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLGFBQWEsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0NBQzdCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsQ0FDMUMsQ0FBQztBQUVXLFFBQUEsbUJBQW1CLEdBQUcsV0FBVyxDQUMxQyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsMEJBQWtCLENBQUM7SUFDcEMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMseUJBQWlCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUU7Q0FDL0IsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSx5QkFBeUIsRUFBRSxDQUM3QyxDQUFDO0FBRVcsUUFBQSxvQkFBb0IsR0FBRyxXQUFXLENBQzNDLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQzFCLEVBQUUsV0FBVyxFQUFFLHlCQUF5QixFQUFFLENBQzdDLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLFdBQVcsQ0FDM0MsT0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDMUIsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FDN0MsQ0FBQztBQUVXLFFBQUEsb0JBQW9CLEdBQUcsV0FBVyxDQUMzQyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLFdBQVcsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ3RDLFlBQVksRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLGFBQWEsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0NBQzdCLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsQ0FDdEMsQ0FBQztBQUVXLFFBQUEsMkJBQTJCLEdBQUcsV0FBVyxDQUNsRCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLFdBQVcsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ3RDLFlBQVksRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLFdBQVcsRUFBRSxjQUFjLENBQUMsUUFBUSxFQUFFO0NBQ3pDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUUsQ0FDOUMsQ0FBQztBQUVXLFFBQUEsdUJBQXVCLEdBQUcsV0FBVyxDQUM5QyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsV0FBVyxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUU7SUFDdEMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSwyQkFBMkIsRUFBRSxDQUMvQyxDQUFDO0FBRVcsUUFBQSwwQkFBMEIsR0FBRyxXQUFXLENBQ2pELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixRQUFRLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO0NBQ3hDLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDaEIsRUFBRSxXQUFXLEVBQUUsb0NBQW9DLEVBQUUsQ0FDeEQsQ0FBQztBQUVXLFFBQUEsNEJBQTRCLEdBQUcsV0FBVyxDQUNuRCxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ0wsT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7SUFDcEIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsa0NBQTBCLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDMUQsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUNoQixFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxDQUM5QyxDQUFDO0FBRVcsUUFBQSw4QkFBOEIsR0FBRyxXQUFXLENBQ3JELE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDTCxPQUFPLEVBQUUsb0NBQTRCO0NBQ3hDLENBQUMsRUFDRixFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBRSxDQUNoRCxDQUFDO0FBRVcsUUFBQSxzQkFBc0IsR0FBRyxXQUFXLENBQzdDLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQzFCLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLENBQ3hDLENBQUM7QUFFVyxRQUFBLDhCQUE4QixHQUFHLFdBQVcsQ0FDckQsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNMLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2YsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsUUFBUSxFQUFFLGdCQUFnQjtJQUMxQixZQUFZLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtJQUN2QyxXQUFXLEVBQUUsY0FBYyxDQUFDLFFBQVEsRUFBRTtDQUN6QyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ2hCLEVBQUUsV0FBVyxFQUFFLDJCQUEyQixFQUFFLENBQy9DLENBQUM7QUFFVyxRQUFBLG9CQUFvQixHQUFHLFdBQVcsQ0FDM0MsT0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFDMUIsRUFBRSxXQUFXLEVBQUUsbUNBQW1DLEVBQUUsQ0FDdkQsQ0FBQyJ9
@@ -0,0 +1,70 @@
1
+ import type { ZodTypeAny } from 'zod';
2
+ export type HttpMethod = 'get' | 'post' | 'put' | 'delete' | 'patch' | 'head';
3
+ export type ApiRequestSource = 'params' | 'query' | 'headers' | 'body';
4
+ export type ApiSchemaField = ZodTypeAny;
5
+ export interface ApiFileConstraint {
6
+ required?: boolean;
7
+ maxBytes?: number;
8
+ mimeTypes?: readonly string[];
9
+ multiple?: boolean;
10
+ description?: string;
11
+ }
12
+ export interface ApiRequestBodyContent {
13
+ schema?: ApiSchemaField;
14
+ encoding?: Record<string, unknown>;
15
+ description?: string;
16
+ }
17
+ export interface ApiRequestBodyDefinition {
18
+ required?: boolean;
19
+ content: Record<string, ApiRequestBodyContent>;
20
+ }
21
+ export interface ApiRequestDefinition {
22
+ params?: ApiSchemaField;
23
+ query?: ApiSchemaField;
24
+ headers?: ApiSchemaField;
25
+ body?: ApiRequestBodyDefinition;
26
+ files?: Record<string, ApiFileConstraint>;
27
+ extractor?: (req: Sails.Req) => unknown;
28
+ queryExtractor?: (req: Sails.Req) => unknown;
29
+ legacyParamFallbacks?: Partial<Record<string, readonly ApiRequestSource[]>>;
30
+ }
31
+ export interface ApiResponseContent {
32
+ schema?: ApiSchemaField;
33
+ description?: string;
34
+ example?: unknown;
35
+ headers?: Record<string, ApiSchemaField>;
36
+ }
37
+ export interface ApiResponseDefinition {
38
+ description: string;
39
+ content?: Record<string, ApiResponseContent>;
40
+ headers?: Record<string, ApiSchemaField>;
41
+ }
42
+ export interface ApiOpenApiMetadata {
43
+ tags?: readonly string[];
44
+ summary?: string;
45
+ description?: string;
46
+ operationId?: string;
47
+ request?: ApiRequestDefinition;
48
+ responses?: Record<number, ApiResponseDefinition>;
49
+ security?: readonly Record<string, readonly string[]>[];
50
+ extensions?: Record<string, unknown>;
51
+ }
52
+ export interface ApiRouteDefinition extends ApiOpenApiMetadata {
53
+ method: HttpMethod;
54
+ path: string;
55
+ controller: string;
56
+ action: string;
57
+ csrf?: boolean;
58
+ policy?: string | string[];
59
+ skipAssets?: boolean;
60
+ locals?: Record<string, unknown>;
61
+ view?: string;
62
+ }
63
+ export interface ApiRouteGroup {
64
+ name: string;
65
+ routes: readonly ApiRouteDefinition[];
66
+ }
67
+ export type ApiRouteProvider = () => readonly ApiRouteDefinition[] | ApiRouteDefinition[];
68
+ export type ApiRouteDefinitionMap = Record<string, ApiRouteDefinition>;
69
+ export type ApiRouteMap = Record<string, unknown>;
70
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api-routes/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpLXJvdXRlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,32 @@
1
+ import { ApiRequestDefinition, ApiRouteDefinition } from './types';
2
+ export interface ApiValidationIssue {
3
+ path: string;
4
+ message: string;
5
+ }
6
+ export interface ApiValidationResult {
7
+ valid: boolean;
8
+ issues: ApiValidationIssue[];
9
+ }
10
+ export interface ApiValidationOptions {
11
+ files?: Record<string, unknown[]>;
12
+ }
13
+ export interface ApiRouteValidationOptions extends ApiValidationOptions {
14
+ }
15
+ export declare function validateApiRequest(req: Sails.Req, request?: ApiRequestDefinition, options?: ApiValidationOptions): ApiValidationResult;
16
+ export interface ValidatedApiRequest {
17
+ valid: true;
18
+ params: Record<string, unknown>;
19
+ query: Record<string, unknown>;
20
+ body: unknown;
21
+ files: Record<string, unknown[]>;
22
+ }
23
+ export interface InvalidApiRequest {
24
+ valid: false;
25
+ issues: ApiValidationIssue[];
26
+ }
27
+ export type ApiRouteRequestResult = ValidatedApiRequest | InvalidApiRequest;
28
+ export type ValidatedApiRouteRequest = Omit<ValidatedApiRequest, 'valid'>;
29
+ export declare function validateApiRouteRequest(req: Sails.Req, route: ApiRouteDefinition, options?: ApiRouteValidationOptions): ApiRouteRequestResult;
30
+ export declare function validateApiRouteFiles(route: ApiRouteDefinition, files: Record<string, unknown[]>): ApiValidationResult;
31
+ export declare function getValidatedApiRequest(req: Sails.Req): ValidatedApiRouteRequest;
32
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/api-routes/validation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqB,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAItF,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,yBAA0B,SAAQ,oBAAoB;CAAI;AA4G3E,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,OAAO,CAAC,EAAE,oBAAoB,EAC9B,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CA4BrB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;AAE5E,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;AAE1E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,yBAA8B,GACtC,qBAAqB,CAavB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAC/B,mBAAmB,CAMrB;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG,wBAAwB,CAK/E"}