@researchdatabox/redbox-core 5.0.3 → 5.0.4-beta.12498

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 (546) hide show
  1. package/dist/AttachmentStagingIdentity.d.ts +3 -0
  2. package/dist/AttachmentStagingIdentity.d.ts.map +1 -0
  3. package/dist/AttachmentStagingIdentity.js +10 -0
  4. package/dist/CoreController.d.ts +7 -3
  5. package/dist/CoreController.d.ts.map +1 -1
  6. package/dist/CoreController.js +85 -3
  7. package/dist/DatastreamService.d.ts +4 -0
  8. package/dist/DatastreamService.d.ts.map +1 -1
  9. package/dist/HarvestRunService.d.ts +4 -3
  10. package/dist/HarvestRunService.d.ts.map +1 -1
  11. package/dist/HarvestRunService.js +1 -1
  12. package/dist/RecordConcurrencyObservability.d.ts +51 -0
  13. package/dist/RecordConcurrencyObservability.d.ts.map +1 -0
  14. package/dist/RecordConcurrencyObservability.js +136 -0
  15. package/dist/RecordEntityTag.d.ts +31 -0
  16. package/dist/RecordEntityTag.d.ts.map +1 -0
  17. package/dist/RecordEntityTag.js +101 -0
  18. package/dist/RecordFormFingerprint.d.ts +7 -0
  19. package/dist/RecordFormFingerprint.d.ts.map +1 -0
  20. package/dist/RecordFormFingerprint.js +106 -0
  21. package/dist/RecordHttpConcurrency.d.ts +60 -0
  22. package/dist/RecordHttpConcurrency.d.ts.map +1 -0
  23. package/dist/RecordHttpConcurrency.js +181 -0
  24. package/dist/RecordSaveResponse.d.ts +219 -0
  25. package/dist/RecordSaveResponse.d.ts.map +1 -0
  26. package/dist/RecordSaveResponse.js +639 -0
  27. package/dist/RecordStorageConcurrency.d.ts +48 -0
  28. package/dist/RecordStorageConcurrency.d.ts.map +1 -0
  29. package/dist/RecordStorageConcurrency.js +103 -0
  30. package/dist/RecordWriteClassification.d.ts +12 -0
  31. package/dist/RecordWriteClassification.d.ts.map +1 -0
  32. package/dist/RecordWriteClassification.js +70 -0
  33. package/dist/RecordsService.d.ts +105 -12
  34. package/dist/RecordsService.d.ts.map +1 -1
  35. package/dist/RecordsService.js +44 -1
  36. package/dist/SearchService.d.ts +2 -1
  37. package/dist/SearchService.d.ts.map +1 -1
  38. package/dist/StorageService.d.ts +48 -8
  39. package/dist/StorageService.d.ts.map +1 -1
  40. package/dist/StorageService.js +19 -1
  41. package/dist/StorageServiceResponse.d.ts +22 -1
  42. package/dist/StorageServiceResponse.d.ts.map +1 -1
  43. package/dist/StorageServiceResponse.js +22 -4
  44. package/dist/action-execution/audit.d.ts +41 -0
  45. package/dist/action-execution/audit.d.ts.map +1 -0
  46. package/dist/action-execution/audit.js +122 -0
  47. package/dist/action-execution/executor.d.ts +24 -0
  48. package/dist/action-execution/executor.d.ts.map +1 -0
  49. package/dist/action-execution/executor.js +435 -0
  50. package/dist/action-execution/failure.d.ts +49 -0
  51. package/dist/action-execution/failure.d.ts.map +1 -0
  52. package/dist/action-execution/failure.js +129 -0
  53. package/dist/action-execution/index.d.ts +7 -0
  54. package/dist/action-execution/index.d.ts.map +1 -0
  55. package/dist/action-execution/index.js +23 -0
  56. package/dist/action-execution/legacy-result.d.ts +21 -0
  57. package/dist/action-execution/legacy-result.d.ts.map +1 -0
  58. package/dist/action-execution/legacy-result.js +70 -0
  59. package/dist/action-execution/policy.d.ts +12 -0
  60. package/dist/action-execution/policy.d.ts.map +1 -0
  61. package/dist/action-execution/policy.js +138 -0
  62. package/dist/action-execution/types.d.ts +121 -0
  63. package/dist/action-execution/types.d.ts.map +1 -0
  64. package/dist/action-execution/types.js +22 -0
  65. package/dist/api-routes/groups/branding.d.ts +8 -0
  66. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  67. package/dist/api-routes/groups/branding.js +86 -11
  68. package/dist/api-routes/groups/dashboard-config.d.ts +12 -9
  69. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
  70. package/dist/api-routes/groups/dashboard-config.js +136 -73
  71. package/dist/api-routes/groups/forms.d.ts.map +1 -1
  72. package/dist/api-routes/groups/forms.js +10 -2
  73. package/dist/api-routes/groups/record-schemas.d.ts +5 -0
  74. package/dist/api-routes/groups/record-schemas.d.ts.map +1 -0
  75. package/dist/api-routes/groups/record-schemas.js +181 -0
  76. package/dist/api-routes/groups/records.d.ts +1 -0
  77. package/dist/api-routes/groups/records.d.ts.map +1 -1
  78. package/dist/api-routes/groups/records.js +141 -26
  79. package/dist/api-routes/index.d.ts +3 -0
  80. package/dist/api-routes/index.d.ts.map +1 -1
  81. package/dist/api-routes/index.js +4 -1
  82. package/dist/api-routes/openapi.d.ts.map +1 -1
  83. package/dist/api-routes/openapi.js +7 -5
  84. package/dist/api-routes/record-schema-openapi.d.ts +26 -0
  85. package/dist/api-routes/record-schema-openapi.d.ts.map +1 -0
  86. package/dist/api-routes/record-schema-openapi.js +38 -0
  87. package/dist/api-routes/record-schema-response.d.ts +40 -0
  88. package/dist/api-routes/record-schema-response.d.ts.map +1 -0
  89. package/dist/api-routes/record-schema-response.js +89 -0
  90. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  91. package/dist/api-routes/request-extraction.js +10 -8
  92. package/dist/api-routes/route-factory.d.ts.map +1 -1
  93. package/dist/api-routes/route-factory.js +2 -1
  94. package/dist/api-routes/route-registry.d.ts.map +1 -1
  95. package/dist/api-routes/route-registry.js +3 -1
  96. package/dist/api-routes/schemas/common.d.ts +36 -0
  97. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  98. package/dist/api-routes/schemas/common.js +95 -5
  99. package/dist/api-routes/schemas/responses.d.ts +1424 -1
  100. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  101. package/dist/api-routes/schemas/responses.js +382 -60
  102. package/dist/api-routes/types.d.ts +1 -0
  103. package/dist/api-routes/types.d.ts.map +1 -1
  104. package/dist/api-routes/validation.d.ts +5 -1
  105. package/dist/api-routes/validation.d.ts.map +1 -1
  106. package/dist/api-routes/validation.js +14 -15
  107. package/dist/bootstrap.d.ts +3 -1
  108. package/dist/bootstrap.d.ts.map +1 -1
  109. package/dist/bootstrap.js +58 -41
  110. package/dist/config/agendaQueue.config.d.ts +3 -0
  111. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  112. package/dist/config/agendaQueue.config.js +29 -2
  113. package/dist/config/branding.config.d.ts +13 -0
  114. package/dist/config/branding.config.d.ts.map +1 -1
  115. package/dist/config/branding.config.js +34 -2
  116. package/dist/config/brandingConfigurationDefaults.config.d.ts +4 -0
  117. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  118. package/dist/config/brandingConfigurationDefaults.config.js +42 -3
  119. package/dist/config/index.d.ts +12 -4
  120. package/dist/config/index.d.ts.map +1 -1
  121. package/dist/config/index.js +7 -4
  122. package/dist/config/policies.config.d.ts.map +1 -1
  123. package/dist/config/policies.config.js +37 -23
  124. package/dist/config/raid.config.d.ts +7 -4
  125. package/dist/config/raid.config.d.ts.map +1 -1
  126. package/dist/config/raid.config.js +21 -35
  127. package/dist/config/record.config.d.ts +3 -0
  128. package/dist/config/record.config.d.ts.map +1 -1
  129. package/dist/config/record.config.js +37 -35
  130. package/dist/config/recordSchema.config.d.ts +68 -0
  131. package/dist/config/recordSchema.config.d.ts.map +1 -0
  132. package/dist/config/recordSchema.config.js +173 -0
  133. package/dist/config/recordValidation.config.d.ts +19 -0
  134. package/dist/config/recordValidation.config.d.ts.map +1 -0
  135. package/dist/config/recordValidation.config.js +10 -0
  136. package/dist/config/recordtype.config.d.ts +32 -9
  137. package/dist/config/recordtype.config.d.ts.map +1 -1
  138. package/dist/config/recordtype.config.js +4 -7
  139. package/dist/config/routes.config.d.ts.map +1 -1
  140. package/dist/config/routes.config.js +135 -53
  141. package/dist/config/workflow.config.d.ts +6 -0
  142. package/dist/config/workflow.config.d.ts.map +1 -1
  143. package/dist/config/workflow.config.js +1 -1
  144. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  145. package/dist/configmodels/AdminSidebarConfig.js +4 -2
  146. package/dist/configmodels/ConfigModels.d.ts +1 -1
  147. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  148. package/dist/configmodels/ConfigModels.js +26 -9
  149. package/dist/configmodels/DashboardFieldCatalogue.d.ts +67 -0
  150. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +1 -0
  151. package/dist/configmodels/DashboardFieldCatalogue.js +174 -0
  152. package/dist/configmodels/DashboardSettings.d.ts +191 -0
  153. package/dist/configmodels/DashboardSettings.d.ts.map +1 -0
  154. package/dist/configmodels/DashboardSettings.js +705 -0
  155. package/dist/configmodels/OniPublishing.d.ts +205 -0
  156. package/dist/configmodels/OniPublishing.d.ts.map +1 -0
  157. package/dist/configmodels/OniPublishing.js +335 -0
  158. package/dist/configmodels/RaidPublishing.d.ts +97 -0
  159. package/dist/configmodels/RaidPublishing.d.ts.map +1 -0
  160. package/dist/configmodels/RaidPublishing.js +35 -0
  161. package/dist/configmodels/WebAnalytics.d.ts +55 -0
  162. package/dist/configmodels/WebAnalytics.d.ts.map +1 -0
  163. package/dist/configmodels/WebAnalytics.js +61 -0
  164. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  165. package/dist/controllers/AppConfigController.js +4 -1
  166. package/dist/controllers/BrandingAppController.d.ts +29 -7
  167. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  168. package/dist/controllers/BrandingAppController.js +265 -69
  169. package/dist/controllers/BrandingController.d.ts +24 -1
  170. package/dist/controllers/BrandingController.d.ts.map +1 -1
  171. package/dist/controllers/BrandingController.js +173 -43
  172. package/dist/controllers/BrandingControllerSupport.d.ts +20 -0
  173. package/dist/controllers/BrandingControllerSupport.d.ts.map +1 -0
  174. package/dist/controllers/BrandingControllerSupport.js +80 -0
  175. package/dist/controllers/DashboardConfigController.d.ts +6 -2
  176. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  177. package/dist/controllers/DashboardConfigController.js +18 -4
  178. package/dist/controllers/DynamicAssetController.d.ts +7 -5
  179. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  180. package/dist/controllers/DynamicAssetController.js +21 -12
  181. package/dist/controllers/RecordController.d.ts +45 -4
  182. package/dist/controllers/RecordController.d.ts.map +1 -1
  183. package/dist/controllers/RecordController.js +778 -345
  184. package/dist/controllers/index.d.ts.map +1 -1
  185. package/dist/controllers/index.js +4 -1
  186. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  187. package/dist/controllers/webservice/AdminController.js +4 -3
  188. package/dist/controllers/webservice/BrandingController.d.ts +26 -1
  189. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  190. package/dist/controllers/webservice/BrandingController.js +292 -116
  191. package/dist/controllers/webservice/DashboardConfigController.d.ts +25 -17
  192. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  193. package/dist/controllers/webservice/DashboardConfigController.js +90 -205
  194. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  195. package/dist/controllers/webservice/FormManagementController.js +37 -3
  196. package/dist/controllers/webservice/RecordController.d.ts +15 -1
  197. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  198. package/dist/controllers/webservice/RecordController.js +647 -267
  199. package/dist/controllers/webservice/RecordSchemaController.d.ts +32 -0
  200. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +1 -0
  201. package/dist/controllers/webservice/RecordSchemaController.js +356 -0
  202. package/dist/controllers/webservice/RecordTypeController.d.ts +6 -1
  203. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  204. package/dist/controllers/webservice/RecordTypeController.js +21 -3
  205. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  206. package/dist/controllers/webservice/SearchController.js +7 -3
  207. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  208. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  209. package/dist/hooks/defineRedboxHook.js +4 -1
  210. package/dist/index.d.ts +50 -23
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +90 -2
  213. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  214. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  215. package/dist/loader/bootstrapShimRuntime.js +20 -12
  216. package/dist/loader/index.d.ts +9 -0
  217. package/dist/loader/index.d.ts.map +1 -1
  218. package/dist/loader/index.js +93 -4
  219. package/dist/model/BrandingTypeface.d.ts +70 -0
  220. package/dist/model/BrandingTypeface.d.ts.map +1 -0
  221. package/dist/model/BrandingTypeface.js +116 -0
  222. package/dist/model/BuildResponse.d.ts +25 -11
  223. package/dist/model/BuildResponse.d.ts.map +1 -1
  224. package/dist/model/BuildResponse.js +4 -3
  225. package/dist/model/DashboardTypeResponseModel.d.ts +6 -0
  226. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  227. package/dist/model/DashboardTypeResponseModel.js +7 -1
  228. package/dist/model/DashboardViewResponseModel.d.ts +5 -1
  229. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  230. package/dist/model/DashboardViewResponseModel.js +6 -3
  231. package/dist/model/RBValidationError.d.ts +17 -0
  232. package/dist/model/RBValidationError.d.ts.map +1 -1
  233. package/dist/model/RBValidationError.js +37 -1
  234. package/dist/model/RecordTypeResponseModel.d.ts +12 -4
  235. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  236. package/dist/model/RecordTypeResponseModel.js +11 -2
  237. package/dist/model/index.d.ts +5 -1
  238. package/dist/model/index.d.ts.map +1 -1
  239. package/dist/model/index.js +5 -2
  240. package/dist/model/record-contract.d.ts +42 -0
  241. package/dist/model/record-contract.d.ts.map +1 -0
  242. package/dist/model/record-contract.js +3 -0
  243. package/dist/model/storage/BrandingModel.d.ts +7 -0
  244. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  245. package/dist/model/storage/BrandingModel.js +7 -1
  246. package/dist/model/storage/DeletedRecordModel.d.ts +35 -0
  247. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  248. package/dist/model/storage/DeletedRecordModel.js +62 -1
  249. package/dist/model/storage/IntegrationAuditModel.d.ts +16 -2
  250. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  251. package/dist/model/storage/IntegrationAuditModel.js +15 -1
  252. package/dist/model/storage/RecordAuditModel.d.ts +11 -1
  253. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  254. package/dist/model/storage/RecordAuditModel.js +8 -2
  255. package/dist/model/storage/RecordModel.d.ts +6 -0
  256. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  257. package/dist/model/storage/RecordTypeModel.d.ts +6 -0
  258. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  259. package/dist/model/storage/RecordTypeModel.js +4 -1
  260. package/dist/model/storage/index.d.ts +12 -10
  261. package/dist/model/storage/index.d.ts.map +1 -1
  262. package/dist/model/storage/index.js +24 -2
  263. package/dist/model/storage/record-schema.d.ts +115 -0
  264. package/dist/model/storage/record-schema.d.ts.map +1 -0
  265. package/dist/model/storage/record-schema.js +3 -0
  266. package/dist/policies/checkAuth.d.ts +2 -6
  267. package/dist/policies/checkAuth.d.ts.map +1 -1
  268. package/dist/policies/checkAuth.js +32 -9
  269. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  270. package/dist/policies/contentSecurityPolicy.js +85 -2
  271. package/dist/policies/index.d.ts +3 -2
  272. package/dist/policies/index.d.ts.map +1 -1
  273. package/dist/policies/index.js +4 -2
  274. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  275. package/dist/policies/validateApiContractRequest.js +49 -11
  276. package/dist/record-contract/ajv-error-mapper.d.ts +34 -0
  277. package/dist/record-contract/ajv-error-mapper.d.ts.map +1 -0
  278. package/dist/record-contract/ajv-error-mapper.js +153 -0
  279. package/dist/record-contract/canonical-json.d.ts +20 -0
  280. package/dist/record-contract/canonical-json.d.ts.map +1 -0
  281. package/dist/record-contract/canonical-json.js +126 -0
  282. package/dist/record-contract/codes.d.ts +36 -0
  283. package/dist/record-contract/codes.d.ts.map +1 -0
  284. package/dist/record-contract/codes.js +38 -0
  285. package/dist/record-contract/contributor-registry.d.ts +76 -0
  286. package/dist/record-contract/contributor-registry.d.ts.map +1 -0
  287. package/dist/record-contract/contributor-registry.js +126 -0
  288. package/dist/record-contract/core-contributors.d.ts +44 -0
  289. package/dist/record-contract/core-contributors.d.ts.map +1 -0
  290. package/dist/record-contract/core-contributors.js +395 -0
  291. package/dist/record-contract/deep-freeze.d.ts +3 -0
  292. package/dist/record-contract/deep-freeze.d.ts.map +1 -0
  293. package/dist/record-contract/deep-freeze.js +23 -0
  294. package/dist/record-contract/index.d.ts +13 -0
  295. package/dist/record-contract/index.d.ts.map +1 -0
  296. package/dist/record-contract/index.js +29 -0
  297. package/dist/record-contract/json-pointer.d.ts +20 -0
  298. package/dist/record-contract/json-pointer.d.ts.map +1 -0
  299. package/dist/record-contract/json-pointer.js +70 -0
  300. package/dist/record-contract/json-schema-renderer.d.ts +51 -0
  301. package/dist/record-contract/json-schema-renderer.d.ts.map +1 -0
  302. package/dist/record-contract/json-schema-renderer.js +450 -0
  303. package/dist/record-contract/record-contract-compiler.d.ts +42 -0
  304. package/dist/record-contract/record-contract-compiler.d.ts.map +1 -0
  305. package/dist/record-contract/record-contract-compiler.js +775 -0
  306. package/dist/record-contract/record-contract-context.d.ts +91 -0
  307. package/dist/record-contract/record-contract-context.d.ts.map +1 -0
  308. package/dist/record-contract/record-contract-context.js +39 -0
  309. package/dist/record-contract/record-json-schema-artifact.d.ts +74 -0
  310. package/dist/record-contract/record-json-schema-artifact.d.ts.map +1 -0
  311. package/dist/record-contract/record-json-schema-artifact.js +309 -0
  312. package/dist/record-contract/record-json-schema-etag.d.ts +15 -0
  313. package/dist/record-contract/record-json-schema-etag.d.ts.map +1 -0
  314. package/dist/record-contract/record-json-schema-etag.js +41 -0
  315. package/dist/record-contract/types.d.ts +151 -0
  316. package/dist/record-contract/types.d.ts.map +1 -0
  317. package/dist/record-contract/types.js +6 -0
  318. package/dist/services/AppConfigService.d.ts +6 -0
  319. package/dist/services/AppConfigService.d.ts.map +1 -1
  320. package/dist/services/AppConfigService.js +23 -1
  321. package/dist/services/AttachmentMetadataService.d.ts +58 -0
  322. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  323. package/dist/services/AttachmentMetadataService.js +643 -8
  324. package/dist/services/BrandingLogoService.d.ts +6 -1
  325. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  326. package/dist/services/BrandingLogoService.js +77 -9
  327. package/dist/services/BrandingService.d.ts +171 -9
  328. package/dist/services/BrandingService.d.ts.map +1 -1
  329. package/dist/services/BrandingService.js +572 -68
  330. package/dist/services/BrandingThemeCssService.d.ts +17 -1
  331. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  332. package/dist/services/BrandingThemeCssService.js +71 -9
  333. package/dist/services/BrandingTypefaceService.d.ts +74 -0
  334. package/dist/services/BrandingTypefaceService.d.ts.map +1 -0
  335. package/dist/services/BrandingTypefaceService.js +359 -0
  336. package/dist/services/BrandingWoff2Inspector.d.ts +17 -0
  337. package/dist/services/BrandingWoff2Inspector.d.ts.map +1 -0
  338. package/dist/services/BrandingWoff2Inspector.js +402 -0
  339. package/dist/services/DashboardConfigService.d.ts +214 -54
  340. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  341. package/dist/services/DashboardConfigService.js +829 -261
  342. package/dist/services/DashboardLegacyConversion.d.ts +82 -0
  343. package/dist/services/DashboardLegacyConversion.d.ts.map +1 -0
  344. package/dist/services/DashboardLegacyConversion.js +427 -0
  345. package/dist/services/DashboardTypesService.d.ts +15 -4
  346. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  347. package/dist/services/DashboardTypesService.js +72 -139
  348. package/dist/services/DoiService.d.ts +1 -1
  349. package/dist/services/DoiService.d.ts.map +1 -1
  350. package/dist/services/DoiService.js +71 -45
  351. package/dist/services/FigshareService.d.ts +1 -1
  352. package/dist/services/FigshareService.d.ts.map +1 -1
  353. package/dist/services/FigshareService.js +73 -32
  354. package/dist/services/FormRecordConsistencyService.d.ts +8 -23
  355. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  356. package/dist/services/FormRecordConsistencyService.js +54 -70
  357. package/dist/services/FormsService.d.ts +91 -2
  358. package/dist/services/FormsService.d.ts.map +1 -1
  359. package/dist/services/FormsService.js +324 -64
  360. package/dist/services/HarvestRunService.d.ts +6 -3
  361. package/dist/services/HarvestRunService.d.ts.map +1 -1
  362. package/dist/services/HarvestRunService.js +161 -97
  363. package/dist/services/I18nEntriesService.d.ts +1 -0
  364. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  365. package/dist/services/I18nEntriesService.js +26 -6
  366. package/dist/services/OniService.d.ts +19 -62
  367. package/dist/services/OniService.d.ts.map +1 -1
  368. package/dist/services/OniService.js +223 -691
  369. package/dist/services/RDMPService.d.ts +1 -1
  370. package/dist/services/RDMPService.d.ts.map +1 -1
  371. package/dist/services/RDMPService.js +5 -5
  372. package/dist/services/RaidService.d.ts +19 -61
  373. package/dist/services/RaidService.d.ts.map +1 -1
  374. package/dist/services/RaidService.js +191 -530
  375. package/dist/services/RecordSchemaService.d.ts +440 -0
  376. package/dist/services/RecordSchemaService.d.ts.map +1 -0
  377. package/dist/services/RecordSchemaService.js +3061 -0
  378. package/dist/services/RecordTypesService.d.ts +29 -0
  379. package/dist/services/RecordTypesService.d.ts.map +1 -1
  380. package/dist/services/RecordTypesService.js +106 -11
  381. package/dist/services/RecordValidationService.d.ts +340 -0
  382. package/dist/services/RecordValidationService.d.ts.map +1 -0
  383. package/dist/services/RecordValidationService.js +1898 -0
  384. package/dist/services/RecordsService.d.ts +313 -22
  385. package/dist/services/RecordsService.d.ts.map +1 -1
  386. package/dist/services/RecordsService.js +4948 -509
  387. package/dist/services/SolrSearchService.d.ts +1 -1
  388. package/dist/services/SolrSearchService.d.ts.map +1 -1
  389. package/dist/services/SolrSearchService.js +42 -12
  390. package/dist/services/StandardDatastreamService.d.ts +4 -0
  391. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  392. package/dist/services/StandardDatastreamService.js +106 -44
  393. package/dist/services/TriggerService.d.ts.map +1 -1
  394. package/dist/services/TriggerService.js +54 -30
  395. package/dist/services/UsersService.d.ts +2 -1
  396. package/dist/services/UsersService.d.ts.map +1 -1
  397. package/dist/services/UsersService.js +364 -283
  398. package/dist/services/VocabularyService.d.ts +2 -0
  399. package/dist/services/VocabularyService.d.ts.map +1 -1
  400. package/dist/services/VocabularyService.js +61 -2
  401. package/dist/services/WorkflowStepsService.d.ts +11 -0
  402. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  403. package/dist/services/WorkflowStepsService.js +32 -3
  404. package/dist/services/WorkspaceService.d.ts +2 -2
  405. package/dist/services/WorkspaceService.d.ts.map +1 -1
  406. package/dist/services/WorkspaceService.js +5 -5
  407. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  408. package/dist/services/doi-v2/bindings.js +3 -20
  409. package/dist/services/doi-v2/config.d.ts +1 -0
  410. package/dist/services/doi-v2/config.d.ts.map +1 -1
  411. package/dist/services/doi-v2/config.js +13 -5
  412. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  413. package/dist/services/doi-v2/runtime.js +14 -54
  414. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  415. package/dist/services/figshare-v2/bindings.js +3 -20
  416. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  417. package/dist/services/figshare-v2/runtime.js +11 -58
  418. package/dist/services/form-record-access-user.d.ts +3 -0
  419. package/dist/services/form-record-access-user.d.ts.map +1 -0
  420. package/dist/services/form-record-access-user.js +23 -0
  421. package/dist/services/index.d.ts +9 -0
  422. package/dist/services/index.d.ts.map +1 -1
  423. package/dist/services/index.js +45 -3
  424. package/dist/services/integration-v2/bindings.d.ts +3 -0
  425. package/dist/services/integration-v2/bindings.d.ts.map +1 -0
  426. package/dist/services/integration-v2/bindings.js +91 -0
  427. package/dist/services/integration-v2/runtime.d.ts +3 -0
  428. package/dist/services/integration-v2/runtime.d.ts.map +1 -0
  429. package/dist/services/integration-v2/runtime.js +50 -0
  430. package/dist/services/internal-record-schema-authorization.d.ts +8 -0
  431. package/dist/services/internal-record-schema-authorization.d.ts.map +1 -0
  432. package/dist/services/internal-record-schema-authorization.js +16 -0
  433. package/dist/services/oni-v2/audit.d.ts +19 -0
  434. package/dist/services/oni-v2/audit.d.ts.map +1 -0
  435. package/dist/services/oni-v2/audit.js +50 -0
  436. package/dist/services/oni-v2/bindings.d.ts +7 -0
  437. package/dist/services/oni-v2/bindings.d.ts.map +1 -0
  438. package/dist/services/oni-v2/bindings.js +31 -0
  439. package/dist/services/oni-v2/config.d.ts +12 -0
  440. package/dist/services/oni-v2/config.d.ts.map +1 -0
  441. package/dist/services/oni-v2/config.js +134 -0
  442. package/dist/services/oni-v2/context.d.ts +3 -0
  443. package/dist/services/oni-v2/context.d.ts.map +1 -0
  444. package/dist/services/oni-v2/context.js +17 -0
  445. package/dist/services/oni-v2/crate.d.ts +17 -0
  446. package/dist/services/oni-v2/crate.d.ts.map +1 -0
  447. package/dist/services/oni-v2/crate.js +504 -0
  448. package/dist/services/oni-v2/flydriveOcflStore.d.ts +69 -0
  449. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +1 -0
  450. package/dist/services/oni-v2/flydriveOcflStore.js +325 -0
  451. package/dist/services/oni-v2/ingestion.d.ts +37 -0
  452. package/dist/services/oni-v2/ingestion.d.ts.map +1 -0
  453. package/dist/services/oni-v2/ingestion.js +91 -0
  454. package/dist/services/oni-v2/mapping.d.ts +17 -0
  455. package/dist/services/oni-v2/mapping.d.ts.map +1 -0
  456. package/dist/services/oni-v2/mapping.js +137 -0
  457. package/dist/services/oni-v2/repository.d.ts +9 -0
  458. package/dist/services/oni-v2/repository.d.ts.map +1 -0
  459. package/dist/services/oni-v2/repository.js +180 -0
  460. package/dist/services/oni-v2/runtime.d.ts +23 -0
  461. package/dist/services/oni-v2/runtime.d.ts.map +1 -0
  462. package/dist/services/oni-v2/runtime.js +121 -0
  463. package/dist/services/oni-v2/templating.d.ts +11 -0
  464. package/dist/services/oni-v2/templating.d.ts.map +1 -0
  465. package/dist/services/oni-v2/templating.js +27 -0
  466. package/dist/services/oni-v2/types.d.ts +100 -0
  467. package/dist/services/oni-v2/types.d.ts.map +1 -0
  468. package/dist/services/oni-v2/types.js +3 -0
  469. package/dist/services/raid-v2/audit.d.ts +10 -0
  470. package/dist/services/raid-v2/audit.d.ts.map +1 -0
  471. package/dist/services/raid-v2/audit.js +29 -0
  472. package/dist/services/raid-v2/errors.d.ts +85 -0
  473. package/dist/services/raid-v2/errors.d.ts.map +1 -0
  474. package/dist/services/raid-v2/errors.js +36 -0
  475. package/dist/services/raid-v2/http.d.ts +4 -0
  476. package/dist/services/raid-v2/http.d.ts.map +1 -0
  477. package/dist/services/raid-v2/http.js +84 -0
  478. package/dist/services/raid-v2/logger.d.ts +8 -0
  479. package/dist/services/raid-v2/logger.d.ts.map +1 -0
  480. package/dist/services/raid-v2/logger.js +30 -0
  481. package/dist/services/raid-v2/mapping.d.ts +9 -0
  482. package/dist/services/raid-v2/mapping.d.ts.map +1 -0
  483. package/dist/services/raid-v2/mapping.js +168 -0
  484. package/dist/services/raid-v2/runtime.d.ts +5 -0
  485. package/dist/services/raid-v2/runtime.d.ts.map +1 -0
  486. package/dist/services/raid-v2/runtime.js +135 -0
  487. package/dist/services/raid-v2/tags.d.ts +11 -0
  488. package/dist/services/raid-v2/tags.d.ts.map +1 -0
  489. package/dist/services/raid-v2/tags.js +12 -0
  490. package/dist/services/raid-v2/types.d.ts +66 -0
  491. package/dist/services/raid-v2/types.d.ts.map +1 -0
  492. package/dist/services/raid-v2/types.js +3 -0
  493. package/dist/services/record-hooks/coordinator.d.ts +64 -0
  494. package/dist/services/record-hooks/coordinator.d.ts.map +1 -0
  495. package/dist/services/record-hooks/coordinator.js +276 -0
  496. package/dist/visitor/client.visitor.d.ts +6 -0
  497. package/dist/visitor/client.visitor.d.ts.map +1 -1
  498. package/dist/visitor/client.visitor.js +59 -14
  499. package/dist/visitor/construct.visitor.d.ts +27 -1
  500. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  501. package/dist/visitor/construct.visitor.js +265 -177
  502. package/dist/visitor/context-variables.visitor.d.ts +3 -1
  503. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  504. package/dist/visitor/context-variables.visitor.js +15 -1
  505. package/dist/visitor/data-value.visitor.d.ts +6 -0
  506. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  507. package/dist/visitor/data-value.visitor.js +10 -1
  508. package/dist/visitor/json-type-def.visitor.d.ts +6 -0
  509. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  510. package/dist/visitor/json-type-def.visitor.js +10 -1
  511. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +11 -0
  512. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  513. package/dist/visitor/migrate-config-v4-v5.visitor.js +228 -133
  514. package/dist/visitor/related-object-data-inline.visitor.d.ts +31 -0
  515. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -0
  516. package/dist/visitor/related-object-data-inline.visitor.js +96 -0
  517. package/dist/visitor/template.visitor.d.ts +17 -2
  518. package/dist/visitor/template.visitor.d.ts.map +1 -1
  519. package/dist/visitor/template.visitor.js +60 -22
  520. package/dist/visitor/validator.visitor.d.ts +49 -7
  521. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  522. package/dist/visitor/validator.visitor.js +275 -178
  523. package/dist/waterline-models/AttachmentMetadata.d.ts +22 -0
  524. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  525. package/dist/waterline-models/AttachmentMetadata.js +147 -3
  526. package/dist/waterline-models/BrandingConfig.d.ts +7 -0
  527. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  528. package/dist/waterline-models/BrandingConfig.js +16 -1
  529. package/dist/waterline-models/BrandingConfigHistory.d.ts +11 -2
  530. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  531. package/dist/waterline-models/BrandingConfigHistory.js +21 -1
  532. package/dist/waterline-models/DashboardConfiguration.d.ts +29 -0
  533. package/dist/waterline-models/DashboardConfiguration.d.ts.map +1 -0
  534. package/dist/waterline-models/DashboardConfiguration.js +52 -0
  535. package/dist/waterline-models/RecordType.d.ts +9 -0
  536. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  537. package/dist/waterline-models/RecordType.js +16 -1
  538. package/dist/waterline-models/User.d.ts.map +1 -1
  539. package/dist/waterline-models/User.js +10 -15
  540. package/dist/waterline-models/index.d.ts +2 -0
  541. package/dist/waterline-models/index.d.ts.map +1 -1
  542. package/dist/waterline-models/index.js +4 -1
  543. package/package.json +60 -47
  544. package/dist/config/datapubs.config.d.ts +0 -72
  545. package/dist/config/datapubs.config.d.ts.map +0 -1
  546. package/dist/config/datapubs.config.js +0 -74
@@ -1,9 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recordApiRoutes = exports.transitionWorkflowRoute = exports.listDatastreamsRoute = exports.getDataStreamRoute = exports.addDataStreamsRoute = exports.getPermissionsRoute = exports.removeRoleViewRoute = exports.addRoleViewRoute = exports.removeRoleEditRoute = exports.addRoleEditRoute = exports.removeUserViewRoute = exports.addUserViewRoute = exports.removeUserEditRoute = exports.addUserEditRoute = exports.deleteRecordRoute = exports.getObjectMetaRoute = exports.destroyDeletedRecordRoute = exports.restoreRecordRoute = exports.listDeletedRecordsRoute = exports.listRecordsRoute = exports.getRecordAuditRoute = exports.getMetaRoute = exports.updateObjectMetaRoute = exports.legacyHarvestRoute = exports.harvestRoute = exports.updateMetaRoute = exports.createRecordRoute = void 0;
3
+ exports.recordApiRoutes = exports.transitionWorkflowRoute = exports.listDatastreamsRoute = exports.getDataStreamRoute = exports.addDataStreamsRoute = exports.getPermissionsRoute = exports.removeRoleViewRoute = exports.addRoleViewRoute = exports.removeRoleEditRoute = exports.addRoleEditRoute = exports.removeUserViewRoute = exports.addUserViewRoute = exports.removeUserEditRoute = exports.addUserEditRoute = exports.deleteRecordRoute = exports.getObjectMetaRoute = exports.destroyDeletedRecordRoute = exports.restoreRecordRoute = exports.getDeletedRecordRoute = exports.listDeletedRecordsRoute = exports.listRecordsRoute = exports.getRecordAuditRoute = exports.getMetaRoute = exports.updateObjectMetaRoute = exports.legacyHarvestRoute = exports.harvestRoute = exports.updateMetaRoute = exports.createRecordRoute = void 0;
4
4
  const route_factory_1 = require("../route-factory");
5
+ const record_schema_openapi_1 = require("../record-schema-openapi");
5
6
  const common_1 = require("../schemas/common");
6
7
  const bodyFallback = ['body'];
8
+ const recordEntityTagResponseHeaders = {
9
+ ETag: common_1.recordEntityTagSchema,
10
+ };
11
+ const recordSchemaDiscoveryResponseHeaders = {
12
+ Link: (0, common_1.stringField)('Immutable caller-effective record schema: rel="describedby"; type="application/schema+json"'),
13
+ };
14
+ const recordResponseWithTag = (schema, description) => ({
15
+ ...(0, common_1.responseField)(schema, description),
16
+ headers: recordEntityTagResponseHeaders,
17
+ });
18
+ const recordResponseWithTagAndSchemaDiscovery = (schema, description) => ({
19
+ ...(0, common_1.responseField)(schema, description),
20
+ headers: { ...recordEntityTagResponseHeaders, ...recordSchemaDiscoveryResponseHeaders },
21
+ });
22
+ const recordConcurrencyFailureResponses = {
23
+ 409: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record or form-definition conflict'),
24
+ 412: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record revision or schema precondition failed'),
25
+ 428: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Strict record precondition is required'),
26
+ };
27
+ const recordPermissionMutationResponses = {
28
+ 200: recordResponseWithTag(common_1.recordPermissionSaveResponseSchema, 'Record permissions updated'),
29
+ 400: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Invalid request or record validation failure'),
30
+ 403: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record authorization failure'),
31
+ ...recordConcurrencyFailureResponses,
32
+ 500: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Legacy or system save failure'),
33
+ };
34
+ const recordLifecycleMutationResponses = {
35
+ 200: recordResponseWithTag(common_1.recordSaveSuccessResponseSchema, 'Record lifecycle transition complete'),
36
+ 400: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Invalid lifecycle concurrency request'),
37
+ 403: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record lifecycle authorization failure'),
38
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record not found in the active brand'),
39
+ ...recordConcurrencyFailureResponses,
40
+ 500: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Lifecycle persistence outcome is unknown'),
41
+ };
42
+ const recordMutationWithSchemaHeaders = (0, common_1.objectField)({
43
+ ...common_1.recordMutationHeaderFields,
44
+ [common_1.RECORD_SCHEMA_WRITE_PRECONDITION_HEADER]: common_1.recordSchemaWritePreconditionHeaderField,
45
+ });
7
46
  const recordListLegacyFallbacks = {
8
47
  editOnly: bodyFallback,
9
48
  recordType: bodyFallback,
@@ -28,6 +67,7 @@ exports.createRecordRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:p
28
67
  'portal',
29
68
  'recordType',
30
69
  ]),
70
+ query: common_1.recordOperationQuery,
31
71
  body: {
32
72
  required: true,
33
73
  content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'Record metadata payload', true) } },
@@ -35,19 +75,26 @@ exports.createRecordRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:p
35
75
  }, {
36
76
  tags: ['Records'],
37
77
  summary: 'Create record metadata',
78
+ extensions: (0, record_schema_openapi_1.recordSchemaResolverOpenApiExtension)('create'),
38
79
  responses: {
39
80
  201: {
40
81
  description: 'Record created',
41
- content: { 'application/json': { schema: common_1.storageServiceResponseSchema } },
82
+ content: { 'application/json': { schema: common_1.recordSaveSuccessResponseSchema } },
42
83
  headers: {
43
84
  Location: (0, common_1.stringField)('Location of the created record'),
85
+ ...recordEntityTagResponseHeaders,
86
+ ...recordSchemaDiscoveryResponseHeaders,
44
87
  },
45
88
  },
89
+ 400: (0, common_1.responseField)(common_1.recordSaveFailureResponseSchema, 'Invalid request or record validation failure'),
90
+ 403: (0, common_1.responseField)(common_1.recordSaveFailureResponseSchema, 'Record or operation authorization failure'),
91
+ 500: (0, common_1.responseField)(common_1.recordSaveFailureResponseSchema, 'Legacy or system save failure'),
46
92
  },
47
93
  });
48
94
  exports.updateMetaRoute = (0, route_factory_1.apiRoute)('put', '/:branding/:portal/api/records/metadata/:oid', 'webservice/RecordController', 'updateMeta', {
49
95
  params: common_1.oidParams,
50
96
  query: common_1.recordUpdateQuery,
97
+ headers: recordMutationWithSchemaHeaders,
51
98
  body: {
52
99
  required: true,
53
100
  content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'Record metadata payload', true) } },
@@ -59,7 +106,14 @@ exports.updateMetaRoute = (0, route_factory_1.apiRoute)('put', '/:branding/:port
59
106
  }, {
60
107
  tags: ['Records'],
61
108
  summary: 'Update record metadata',
62
- responses: { 200: (0, common_1.responseField)(common_1.storageServiceResponseSchema, 'Record metadata updated') },
109
+ extensions: (0, record_schema_openapi_1.recordSchemaResolverOpenApiExtension)('update'),
110
+ responses: {
111
+ 200: recordResponseWithTagAndSchemaDiscovery(common_1.recordSaveSuccessResponseSchema, 'Record metadata updated'),
112
+ 400: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Invalid request or record validation failure'),
113
+ 403: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record or operation authorization failure'),
114
+ ...recordConcurrencyFailureResponses,
115
+ 500: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Legacy or system save failure'),
116
+ },
63
117
  });
64
118
  exports.harvestRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/harvest/:recordType', 'webservice/RecordController', 'harvest', {
65
119
  params: common_1.recordTypeParams,
@@ -79,7 +133,7 @@ exports.harvestRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal
79
133
  });
80
134
  exports.legacyHarvestRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/mint/harvest/:recordType', 'webservice/RecordController', 'legacyHarvest', {
81
135
  params: common_1.recordTypeParams,
82
- query: common_1.recordUpdateQuery,
136
+ query: common_1.legacyRecordUpdateQuery,
83
137
  body: { content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'Legacy harvest payload', true) } } },
84
138
  legacyParamFallbacks: {
85
139
  merge: bodyFallback,
@@ -91,6 +145,7 @@ exports.legacyHarvestRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:
91
145
  });
92
146
  exports.updateObjectMetaRoute = (0, route_factory_1.apiRoute)('put', '/:branding/:portal/api/records/objectmetadata/:oid', 'webservice/RecordController', 'updateObjectMeta', {
93
147
  params: common_1.oidParams,
148
+ headers: common_1.recordMutationHeaders,
94
149
  body: {
95
150
  required: true,
96
151
  content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'Object metadata payload', true) } },
@@ -98,12 +153,23 @@ exports.updateObjectMetaRoute = (0, route_factory_1.apiRoute)('put', '/:branding
98
153
  }, {
99
154
  tags: ['Records'],
100
155
  summary: 'Update object metadata',
101
- responses: { 200: (0, common_1.responseField)(common_1.storageServiceResponseSchema, 'Object metadata updated') },
156
+ responses: {
157
+ 200: recordResponseWithTag(common_1.recordSaveSuccessResponseSchema, 'Object metadata updated'),
158
+ 400: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Invalid request or record validation failure'),
159
+ 403: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record authorization failure'),
160
+ ...recordConcurrencyFailureResponses,
161
+ 500: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Legacy or system save failure'),
162
+ },
102
163
  });
103
164
  exports.getMetaRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/records/metadata/:oid', 'webservice/RecordController', 'getMeta', { params: common_1.oidParams }, {
104
165
  tags: ['Records'],
105
166
  summary: 'Get record metadata',
106
- responses: { 200: (0, common_1.responseField)(common_1.recordMetadataSchema, 'Record metadata') },
167
+ responses: {
168
+ 200: recordResponseWithTagAndSchemaDiscovery(common_1.recordMetadataReadResponseSchema, 'Record metadata'),
169
+ 403: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record view authorization failure'),
170
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record not found in the active brand'),
171
+ 500: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error'),
172
+ },
107
173
  });
108
174
  exports.getRecordAuditRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/records/audit/:oid', 'webservice/RecordController', 'getRecordAudit', {
109
175
  params: common_1.oidParams,
@@ -130,28 +196,44 @@ exports.listDeletedRecordsRoute = (0, route_factory_1.apiRoute)('get', '/:brandi
130
196
  summary: 'List deleted records',
131
197
  responses: { 200: (0, common_1.responseField)((0, common_1.listApiResponseSchema)(common_1.deletedRecordListItemSchema), 'Deleted record list') },
132
198
  });
133
- exports.restoreRecordRoute = (0, route_factory_1.apiRoute)('put', '/:branding/:portal/api/deletedrecords/:oid', 'webservice/RecordController', 'restoreRecord', { params: common_1.oidParams }, {
199
+ exports.getDeletedRecordRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/deletedrecords/:oid', 'webservice/RecordController', 'getDeletedRecord', { params: common_1.oidParams }, {
200
+ tags: ['Records'],
201
+ summary: 'Get deleted record metadata and lifecycle state',
202
+ responses: {
203
+ 200: recordResponseWithTag(common_1.recordMetadataReadResponseSchema, 'Deleted record metadata'),
204
+ 403: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record view authorization failure'),
205
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Deleted record not found in the active brand'),
206
+ 500: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error'),
207
+ },
208
+ });
209
+ exports.restoreRecordRoute = (0, route_factory_1.apiRoute)('put', '/:branding/:portal/api/deletedrecords/:oid', 'webservice/RecordController', 'restoreRecord', { params: common_1.oidParams, headers: common_1.recordMutationHeaders }, {
134
210
  tags: ['Records'],
135
211
  summary: 'Restore deleted record',
136
- responses: { 200: (0, common_1.responseField)(common_1.storageServiceResponseSchema, 'Record restored') },
212
+ responses: recordLifecycleMutationResponses,
137
213
  });
138
- exports.destroyDeletedRecordRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/deletedrecords/:oid', 'webservice/RecordController', 'destroyDeletedRecord', { params: common_1.oidParams }, {
214
+ exports.destroyDeletedRecordRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/deletedrecords/:oid', 'webservice/RecordController', 'destroyDeletedRecord', { params: common_1.oidParams, headers: common_1.recordMutationHeaders }, {
139
215
  tags: ['Records'],
140
216
  summary: 'Destroy deleted record',
141
- responses: { 200: (0, common_1.responseField)(common_1.storageServiceResponseSchema, 'Deleted record destroyed') },
217
+ responses: recordLifecycleMutationResponses,
142
218
  });
143
219
  exports.getObjectMetaRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/records/objectmetadata/:oid', 'webservice/RecordController', 'getObjectMeta', { params: common_1.oidParams }, {
144
220
  tags: ['Records'],
145
221
  summary: 'Get object metadata',
146
- responses: { 200: (0, common_1.responseField)(common_1.objectMetadataSchema, 'Object metadata') },
222
+ responses: {
223
+ 200: recordResponseWithTag(common_1.objectMetadataReadResponseSchema, 'Object metadata'),
224
+ 403: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record view authorization failure'),
225
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record not found in the active brand'),
226
+ 500: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error'),
227
+ },
147
228
  });
148
- exports.deleteRecordRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/records/metadata/:oid', 'webservice/RecordController', 'deleteRecord', { params: common_1.oidParams }, {
229
+ exports.deleteRecordRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/records/metadata/:oid', 'webservice/RecordController', 'deleteRecord', { params: common_1.oidParams, query: common_1.recordDeleteQuery, headers: common_1.recordMutationHeaders }, {
149
230
  tags: ['Records'],
150
231
  summary: 'Delete record metadata',
151
- responses: { 200: (0, common_1.responseField)(common_1.storageServiceResponseSchema, 'Record deleted') },
232
+ responses: recordLifecycleMutationResponses,
152
233
  });
153
234
  exports.addUserEditRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/permissions/edit/:oid', 'webservice/RecordController', 'addUserEdit', {
154
235
  params: common_1.oidParams,
236
+ headers: common_1.recordMutationHeaders,
155
237
  body: {
156
238
  content: {
157
239
  'application/json': {
@@ -162,10 +244,11 @@ exports.addUserEditRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:po
162
244
  }, {
163
245
  tags: ['Records'],
164
246
  summary: 'Add edit permissions',
165
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated edit permissions') },
247
+ responses: recordPermissionMutationResponses,
166
248
  });
167
249
  exports.removeUserEditRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/records/permissions/edit/:oid', 'webservice/RecordController', 'removeUserEdit', {
168
250
  params: common_1.oidParams,
251
+ headers: common_1.recordMutationHeaders,
169
252
  body: {
170
253
  content: {
171
254
  'application/json': {
@@ -176,10 +259,11 @@ exports.removeUserEditRoute = (0, route_factory_1.apiRoute)('delete', '/:brandin
176
259
  }, {
177
260
  tags: ['Records'],
178
261
  summary: 'Remove edit permissions',
179
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated edit permissions') },
262
+ responses: recordPermissionMutationResponses,
180
263
  });
181
264
  exports.addUserViewRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/permissions/view/:oid', 'webservice/RecordController', 'addUserView', {
182
265
  params: common_1.oidParams,
266
+ headers: common_1.recordMutationHeaders,
183
267
  body: {
184
268
  content: {
185
269
  'application/json': {
@@ -190,10 +274,11 @@ exports.addUserViewRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:po
190
274
  }, {
191
275
  tags: ['Records'],
192
276
  summary: 'Add view permissions',
193
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated view permissions') },
277
+ responses: recordPermissionMutationResponses,
194
278
  });
195
279
  exports.removeUserViewRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/records/permissions/view/:oid', 'webservice/RecordController', 'removeUserView', {
196
280
  params: common_1.oidParams,
281
+ headers: common_1.recordMutationHeaders,
197
282
  body: {
198
283
  content: {
199
284
  'application/json': {
@@ -204,10 +289,11 @@ exports.removeUserViewRoute = (0, route_factory_1.apiRoute)('delete', '/:brandin
204
289
  }, {
205
290
  tags: ['Records'],
206
291
  summary: 'Remove view permissions',
207
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated view permissions') },
292
+ responses: recordPermissionMutationResponses,
208
293
  });
209
294
  exports.addRoleEditRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/permissions/editRole/:oid', 'webservice/RecordController', 'addRoleEdit', {
210
295
  params: common_1.oidParams,
296
+ headers: common_1.recordMutationHeaders,
211
297
  body: {
212
298
  content: {
213
299
  'application/json': {
@@ -218,10 +304,11 @@ exports.addRoleEditRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:po
218
304
  }, {
219
305
  tags: ['Records'],
220
306
  summary: 'Add edit role permissions',
221
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated role permissions') },
307
+ responses: recordPermissionMutationResponses,
222
308
  });
223
309
  exports.removeRoleEditRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/records/permissions/editRole/:oid', 'webservice/RecordController', 'removeRoleEdit', {
224
310
  params: common_1.oidParams,
311
+ headers: common_1.recordMutationHeaders,
225
312
  body: {
226
313
  content: {
227
314
  'application/json': {
@@ -232,10 +319,11 @@ exports.removeRoleEditRoute = (0, route_factory_1.apiRoute)('delete', '/:brandin
232
319
  }, {
233
320
  tags: ['Records'],
234
321
  summary: 'Remove edit role permissions',
235
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated role permissions') },
322
+ responses: recordPermissionMutationResponses,
236
323
  });
237
324
  exports.addRoleViewRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/permissions/viewRole/:oid', 'webservice/RecordController', 'addRoleView', {
238
325
  params: common_1.oidParams,
326
+ headers: common_1.recordMutationHeaders,
239
327
  body: {
240
328
  content: {
241
329
  'application/json': {
@@ -246,10 +334,11 @@ exports.addRoleViewRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:po
246
334
  }, {
247
335
  tags: ['Records'],
248
336
  summary: 'Add view role permissions',
249
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated role permissions') },
337
+ responses: recordPermissionMutationResponses,
250
338
  });
251
339
  exports.removeRoleViewRoute = (0, route_factory_1.apiRoute)('delete', '/:branding/:portal/api/records/permissions/viewRole/:oid', 'webservice/RecordController', 'removeRoleView', {
252
340
  params: common_1.oidParams,
341
+ headers: common_1.recordMutationHeaders,
253
342
  body: {
254
343
  content: {
255
344
  'application/json': {
@@ -260,15 +349,21 @@ exports.removeRoleViewRoute = (0, route_factory_1.apiRoute)('delete', '/:brandin
260
349
  }, {
261
350
  tags: ['Records'],
262
351
  summary: 'Remove view role permissions',
263
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Updated role permissions') },
352
+ responses: recordPermissionMutationResponses,
264
353
  });
265
354
  exports.getPermissionsRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/records/permissions/:oid', 'webservice/RecordController', 'getPermissions', { params: common_1.oidParams }, {
266
355
  tags: ['Records'],
267
356
  summary: 'Get record permissions',
268
- responses: { 200: (0, common_1.responseField)(common_1.recordAuthorizationSchema, 'Record permissions') },
357
+ responses: {
358
+ 200: recordResponseWithTag(common_1.recordPermissionsReadResponseSchema, 'Record permissions'),
359
+ 403: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record view authorization failure'),
360
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record not found in the active brand'),
361
+ 500: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error'),
362
+ },
269
363
  });
270
364
  exports.addDataStreamsRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/datastreams/:oid', 'webservice/RecordController', 'addDataStreams', {
271
365
  params: common_1.oidParams,
366
+ headers: common_1.recordMutationHeaders,
272
367
  body: { content: { 'multipart/form-data': { schema: common_1.datastreamUploadBody } } },
273
368
  files: {
274
369
  attachmentFields: {
@@ -282,7 +377,12 @@ exports.addDataStreamsRoute = (0, route_factory_1.apiRoute)('post', '/:branding/
282
377
  tags: ['Records'],
283
378
  summary: 'Upload record datastreams',
284
379
  responses: {
285
- 200: (0, common_1.responseField)(common_1.datastreamUploadResponseSchema, 'Datastreams uploaded'),
380
+ 200: recordResponseWithTag(common_1.datastreamUploadResponseSchema, 'Datastreams uploaded'),
381
+ 400: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Invalid upload or concurrency request'),
382
+ 403: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record edit authorization failure'),
383
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record not found in the active brand'),
384
+ ...recordConcurrencyFailureResponses,
385
+ 500: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Upload or persistence failure'),
286
386
  },
287
387
  });
288
388
  exports.getDataStreamRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/records/datastreams/:oid/:datastreamId', 'webservice/RecordController', 'getDataStream', {
@@ -304,15 +404,23 @@ exports.getDataStreamRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:p
304
404
  },
305
405
  },
306
406
  },
407
+ 403: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record view authorization failure'),
408
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record or datastream not found in the active brand'),
307
409
  },
308
410
  });
309
411
  exports.listDatastreamsRoute = (0, route_factory_1.apiRoute)('get', '/:branding/:portal/api/records/datastreams/:oid', 'webservice/RecordController', 'listDatastreams', { params: common_1.oidParams }, {
310
412
  tags: ['Records'],
311
413
  summary: 'List datastreams',
312
- responses: { 200: (0, common_1.responseField)((0, common_1.listApiResponseSchema)(common_1.datastreamSummarySchema), 'Datastream list') },
414
+ responses: {
415
+ 200: (0, common_1.responseField)((0, common_1.listApiResponseSchema)(common_1.datastreamSummarySchema), 'Datastream list'),
416
+ 403: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record view authorization failure'),
417
+ 404: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Record not found in the active brand'),
418
+ },
313
419
  });
314
420
  exports.transitionWorkflowRoute = (0, route_factory_1.apiRoute)('post', '/:branding/:portal/api/records/workflow/step/:targetStep/:oid', 'webservice/RecordController', 'transitionWorkflow', {
315
421
  params: (0, common_1.objectField)({ targetStep: (0, common_1.stringField)(), oid: (0, common_1.stringField)() }, ['targetStep', 'oid']),
422
+ query: common_1.recordOperationQuery,
423
+ headers: recordMutationWithSchemaHeaders,
316
424
  body: {
317
425
  required: true,
318
426
  content: { 'application/json': { schema: (0, common_1.objectField)({}, [], 'Workflow transition payload', true) } },
@@ -320,7 +428,13 @@ exports.transitionWorkflowRoute = (0, route_factory_1.apiRoute)('post', '/:brand
320
428
  }, {
321
429
  tags: ['Records'],
322
430
  summary: 'Transition workflow step',
323
- responses: { 200: (0, common_1.responseField)(common_1.storageServiceResponseSchema, 'Workflow transition complete') },
431
+ responses: {
432
+ 200: recordResponseWithTag(common_1.recordSaveSuccessResponseSchema, 'Workflow transition complete'),
433
+ 400: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Invalid request or record validation failure'),
434
+ 403: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Record or operation authorization failure'),
435
+ ...recordConcurrencyFailureResponses,
436
+ 500: recordResponseWithTag(common_1.recordSaveFailureResponseSchema, 'Legacy or system save failure'),
437
+ },
324
438
  });
325
439
  exports.recordApiRoutes = [
326
440
  exports.createRecordRoute,
@@ -332,6 +446,7 @@ exports.recordApiRoutes = [
332
446
  exports.getRecordAuditRoute,
333
447
  exports.listRecordsRoute,
334
448
  exports.listDeletedRecordsRoute,
449
+ exports.getDeletedRecordRoute,
335
450
  exports.restoreRecordRoute,
336
451
  exports.destroyDeletedRecordRoute,
337
452
  exports.getObjectMetaRoute,
@@ -350,4 +465,4 @@ exports.recordApiRoutes = [
350
465
  exports.listDatastreamsRoute,
351
466
  exports.transitionWorkflowRoute,
352
467
  ];
353
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3Jkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGktcm91dGVzL2dyb3Vwcy9yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUE0QztBQUM1Qyw4Q0E0QjJCO0FBRTNCLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxDQUFVLENBQUM7QUFFdkMsTUFBTSx5QkFBeUIsR0FBRztJQUNoQyxRQUFRLEVBQUUsWUFBWTtJQUN0QixVQUFVLEVBQUUsWUFBWTtJQUN4QixLQUFLLEVBQUUsWUFBWTtJQUNuQixLQUFLLEVBQUUsWUFBWTtJQUNuQixJQUFJLEVBQUUsWUFBWTtJQUNsQixXQUFXLEVBQUUsWUFBWTtJQUN6QixJQUFJLEVBQUUsWUFBWTtJQUNsQixZQUFZLEVBQUUsWUFBWTtJQUMxQixNQUFNLEVBQUUsWUFBWTtDQUNaLENBQUM7QUFFWCxNQUFNLDBCQUEwQixHQUFHO0lBQ2pDLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLE1BQU0sRUFBRSxZQUFZO0NBQ1osQ0FBQztBQUVYLE1BQU0sNkJBQTZCLEdBQUc7SUFDcEMsUUFBUSxFQUFFLFlBQVk7Q0FDZCxDQUFDO0FBRUUsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLHdCQUFRLEVBQ3ZDLE1BQU0sRUFDTixxREFBcUQsRUFDckQsNkJBQTZCLEVBQzdCLFFBQVEsRUFDUjtJQUNFLE1BQU0sRUFBRSxJQUFBLG9CQUFXLEVBQUMsRUFBRSxRQUFRLEVBQUUsSUFBQSxvQkFBVyxHQUFFLEVBQUUsTUFBTSxFQUFFLElBQUEsb0JBQVcsR0FBRSxFQUFFLFVBQVUsRUFBRSxJQUFBLG9CQUFXLEdBQUUsRUFBRSxFQUFFO1FBQ2pHLFVBQVU7UUFDVixRQUFRO1FBQ1IsWUFBWTtLQUNiLENBQUM7SUFDRixJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsSUFBSTtRQUNkLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUEsb0JBQVcs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
468
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3Jkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGktcm91dGVzL2dyb3Vwcy9yZWNvcmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUE0QztBQUM1QyxvRUFBZ0Y7QUFDaEYsOENBc0MyQjtBQUUzQixNQUFNLFlBQVksR0FBRyxDQUFDLE1BQU0sQ0FBVSxDQUFDO0FBRXZDLE1BQU0sOEJBQThCLEdBQUc7SUFDckMsSUFBSSxFQUFFLDhCQUFxQjtDQUM1QixDQUFDO0FBRUYsTUFBTSxvQ0FBb0MsR0FBRztJQUMzQyxJQUFJLEVBQUUsSUFBQSxvQkFBVyxFQUFDLDZGQUE2RixDQUFDO0NBQ2pILENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQUMsTUFBMkMsRUFBRSxXQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25HLEdBQUcsSUFBQSxzQkFBYSxFQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7SUFDckMsT0FBTyxFQUFFLDhCQUE4QjtDQUN4QyxDQUFDLENBQUM7QUFFSCxNQUFNLHVDQUF1QyxHQUFHLENBQUMsTUFBMkMsRUFBRSxXQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILEdBQUcsSUFBQSxzQkFBYSxFQUFDLE1BQU0sRUFBRSxXQUFXLENBQUM7SUFDckMsT0FBTyxFQUFFLEVBQUUsR0FBRyw4QkFBOEIsRUFBRSxHQUFHLG9DQUFvQyxFQUFFO0NBQ3hGLENBQUMsQ0FBQztBQUVILE1BQU0saUNBQWlDLEdBQUc7SUFDeEMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLHdDQUErQixFQUFFLG9DQUFvQyxDQUFDO0lBQ2pHLEdBQUcsRUFBRSxxQkFBcUIsQ0FBQyx3Q0FBK0IsRUFBRSwrQ0FBK0MsQ0FBQztJQUM1RyxHQUFHLEVBQUUscUJBQXFCLENBQUMsd0NBQStCLEVBQUUsd0NBQXdDLENBQUM7Q0FDdEcsQ0FBQztBQUVGLE1BQU0saUNBQWlDLEdBQUc7SUFDeEMsR0FBRyxF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
@@ -7,8 +7,11 @@ export * from './route-resolution';
7
7
  export * from './route-registry';
8
8
  export * from './openapi';
9
9
  export * from './apib';
10
+ export * from './record-schema-openapi';
11
+ export * from './record-schema-response';
10
12
  export * from './schemas/common';
11
13
  export * from './groups/records';
14
+ export * from './groups/record-schemas';
12
15
  export * from './groups/users';
13
16
  export * from './groups/search';
14
17
  export * from './groups/forms';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api-routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api-routes/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
@@ -23,8 +23,11 @@ __exportStar(require("./route-resolution"), exports);
23
23
  __exportStar(require("./route-registry"), exports);
24
24
  __exportStar(require("./openapi"), exports);
25
25
  __exportStar(require("./apib"), exports);
26
+ __exportStar(require("./record-schema-openapi"), exports);
27
+ __exportStar(require("./record-schema-response"), exports);
26
28
  __exportStar(require("./schemas/common"), exports);
27
29
  __exportStar(require("./groups/records"), exports);
30
+ __exportStar(require("./groups/record-schemas"), exports);
28
31
  __exportStar(require("./groups/users"), exports);
29
32
  __exportStar(require("./groups/search"), exports);
30
33
  __exportStar(require("./groups/forms"), exports);
@@ -42,4 +45,4 @@ __exportStar(require("./groups/reports"), exports);
42
45
  __exportStar(require("./groups/export"), exports);
43
46
  __exportStar(require("./groups/notifications"), exports);
44
47
  __exportStar(require("./groups/named-query"), exports);
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpLXJvdXRlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsdURBQXFDO0FBQ3JDLCtDQUE2QjtBQUM3QixxREFBbUM7QUFDbkMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQix5Q0FBdUI7QUFDdkIsbURBQWlDO0FBRWpDLG1EQUFpQztBQUNqQyxpREFBK0I7QUFDL0Isa0RBQWdDO0FBQ2hDLGlEQUErQjtBQUMvQix3REFBc0M7QUFDdEMsc0RBQW9DO0FBQ3BDLCtEQUE2QztBQUM3QywrREFBNkM7QUFDN0MsdURBQXFDO0FBQ3JDLGlEQUErQjtBQUMvQixxREFBbUM7QUFDbkMsb0RBQWtDO0FBQ2xDLDREQUEwQztBQUMxQyx1REFBcUM7QUFDckMsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUNoQyx5REFBdUM7QUFDdkMsdURBQXFDIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpLXJvdXRlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsdURBQXFDO0FBQ3JDLCtDQUE2QjtBQUM3QixxREFBbUM7QUFDbkMsbURBQWlDO0FBQ2pDLDRDQUEwQjtBQUMxQix5Q0FBdUI7QUFDdkIsMERBQXdDO0FBQ3hDLDJEQUF5QztBQUN6QyxtREFBaUM7QUFFakMsbURBQWlDO0FBQ2pDLDBEQUF3QztBQUN4QyxpREFBK0I7QUFDL0Isa0RBQWdDO0FBQ2hDLGlEQUErQjtBQUMvQix3REFBc0M7QUFDdEMsc0RBQW9DO0FBQ3BDLCtEQUE2QztBQUM3QywrREFBNkM7QUFDN0MsdURBQXFDO0FBQ3JDLGlEQUErQjtBQUMvQixxREFBbUM7QUFDbkMsb0RBQWtDO0FBQ2xDLDREQUEwQztBQUMxQyx1REFBcUM7QUFDckMsbURBQWlDO0FBQ2pDLGtEQUFnQztBQUNoQyx5REFBdUM7QUFDdkMsdURBQXFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/api-routes/openapi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgBpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,EAAE;QACV,eAAe,EAAE;YACf,UAAU,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,QAAQ,CAAC;gBAAC,YAAY,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SACvE,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAsSD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,OAAO,GAAE,mBAAwB,GAChC,eAAe,CAuCjB"}
1
+ {"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/api-routes/openapi.ts"],"names":[],"mappings":"AAIA,OAAO,EAAyB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAgBpE,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,EAAE;QACV,eAAe,EAAE;YACf,UAAU,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,QAAQ,CAAC;gBAAC,YAAY,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC;SACvE,CAAC;QACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAySD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,kBAAkB,EAAE,EACrC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAC7B,OAAO,GAAE,mBAAwB,GAChC,eAAe,CAuCjB"}
@@ -175,10 +175,12 @@ function buildParameters(route, toOpenApiSchema) {
175
175
  function buildResponses(route, toOpenApiSchema) {
176
176
  const responses = {};
177
177
  const routeResponses = route.responses ?? { 200: { description: 'Success' } };
178
- const defaultResponses = {
179
- 400: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Bad request'),
180
- 500: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error'),
181
- };
178
+ const defaultResponses = route.includeDefaultResponses === false
179
+ ? {}
180
+ : {
181
+ 400: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Bad request'),
182
+ 500: (0, common_1.responseField)(common_1.apiErrorResponseSchema, 'Internal server error'),
183
+ };
182
184
  const responseDefinitions = {
183
185
  ...defaultResponses,
184
186
  ...routeResponses,
@@ -289,4 +291,4 @@ function buildOpenApiDocument(routes, info, options = {}) {
289
291
  },
290
292
  }, options));
291
293
  }
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGktcm91dGVzL29wZW5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUF5VUEsb0RBMkNDO0FBcFhELG1FQUFxRjtBQUdyRiw2Q0FBeUU7QUFFekUsdUNBUW1CO0FBd0JuQixTQUFTLDZCQUE2QixDQUFDLElBQVk7SUFDakQsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ3JELE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7SUFDM0QsSUFBSSxLQUE2QixDQUFDO0lBRWxDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbEUsMEJBQTBCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLDBCQUEwQixDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxJQUFZO0lBQ2pDLE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUM7U0FDdEMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztTQUN0QyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBWSxFQUFFLE9BQTRCO0lBQ3ZFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdB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
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGktcm91dGVzL29wZW5hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUE0VUEsb0RBMkNDO0FBdlhELG1FQUFxRjtBQUdyRiw2Q0FBeUU7QUFFekUsdUNBUW1CO0FBd0JuQixTQUFTLDZCQUE2QixDQUFDLElBQVk7SUFDakQsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ3JELE1BQU0sNEJBQTRCLEdBQUcscUJBQXFCLENBQUM7SUFDM0QsSUFBSSxLQUE2QixDQUFDO0lBRWxDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbEUsMEJBQTBCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxPQUFPLDBCQUEwQixDQUFDO0FBQ3BDLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxJQUFZO0lBQ2pDLE9BQU8sSUFBSTtTQUNSLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUM7U0FDdEMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztTQUN0QyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsSUFBWSxFQUFFLE9BQTRCO0lBQ3ZFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUN0QyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxhQUFhLEdB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
@@ -0,0 +1,26 @@
1
+ export declare const RECORD_SCHEMA_RESOLVER_OPENAPI_EXTENSION: "x-redbox-record-schema-resolver";
2
+ /** Static resolver metadata only; caller-effective form schemas stay behind the resolver route. */
3
+ export declare function recordSchemaResolverOpenApiExtension(schemaKind: 'create' | 'update'): {
4
+ readonly "x-redbox-record-schema-resolver": {
5
+ readonly routeTemplate: "{rootContext}/{branding}/{portal}/api/records/schemas/create/{recordType}" | "{rootContext}/{branding}/{portal}/api/records/schemas/update/{oid}";
6
+ readonly schemaKind: "create" | "update";
7
+ readonly operationParameter: {
8
+ readonly name: "operation";
9
+ readonly in: "query";
10
+ readonly required: false;
11
+ };
12
+ readonly mediaType: "application/schema+json";
13
+ readonly etag: {
14
+ readonly recordWritePreconditionRequestHeader?: "X-ReDBox-Record-Schema-If-Match" | undefined;
15
+ readonly recordWritePreconditionRequired?: boolean | undefined;
16
+ readonly preconditionFailedStatus?: number | undefined;
17
+ readonly comparison?: "current-resolved-full-document" | undefined;
18
+ readonly format: "\"sha256:<64-lowercase-hex>\"";
19
+ readonly responseHeader: "ETag";
20
+ readonly revalidationRequestHeader: "If-None-Match";
21
+ readonly notModifiedStatus: 304;
22
+ readonly authorizationRequiredForRevalidation: true;
23
+ };
24
+ };
25
+ };
26
+ //# sourceMappingURL=record-schema-openapi.d.ts.map