@researchdatabox/redbox-core 5.0.4 → 5.1.0-beta.12568

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 (548) 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 +5 -1
  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 +49 -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 +109 -13
  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 +49 -9
  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/FigsharePublishing.d.ts +1 -1
  156. package/dist/configmodels/OniPublishing.d.ts +205 -0
  157. package/dist/configmodels/OniPublishing.d.ts.map +1 -0
  158. package/dist/configmodels/OniPublishing.js +335 -0
  159. package/dist/configmodels/RaidPublishing.d.ts +97 -0
  160. package/dist/configmodels/RaidPublishing.d.ts.map +1 -0
  161. package/dist/configmodels/RaidPublishing.js +35 -0
  162. package/dist/configmodels/WebAnalytics.d.ts +55 -0
  163. package/dist/configmodels/WebAnalytics.d.ts.map +1 -0
  164. package/dist/configmodels/WebAnalytics.js +61 -0
  165. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  166. package/dist/controllers/AppConfigController.js +4 -1
  167. package/dist/controllers/BrandingAppController.d.ts +29 -7
  168. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  169. package/dist/controllers/BrandingAppController.js +265 -69
  170. package/dist/controllers/BrandingController.d.ts +24 -1
  171. package/dist/controllers/BrandingController.d.ts.map +1 -1
  172. package/dist/controllers/BrandingController.js +173 -43
  173. package/dist/controllers/BrandingControllerSupport.d.ts +20 -0
  174. package/dist/controllers/BrandingControllerSupport.d.ts.map +1 -0
  175. package/dist/controllers/BrandingControllerSupport.js +80 -0
  176. package/dist/controllers/DashboardConfigController.d.ts +6 -2
  177. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  178. package/dist/controllers/DashboardConfigController.js +18 -4
  179. package/dist/controllers/DynamicAssetController.d.ts +7 -5
  180. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  181. package/dist/controllers/DynamicAssetController.js +21 -12
  182. package/dist/controllers/RecordController.d.ts +45 -4
  183. package/dist/controllers/RecordController.d.ts.map +1 -1
  184. package/dist/controllers/RecordController.js +778 -345
  185. package/dist/controllers/index.d.ts.map +1 -1
  186. package/dist/controllers/index.js +4 -1
  187. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  188. package/dist/controllers/webservice/AdminController.js +4 -3
  189. package/dist/controllers/webservice/BrandingController.d.ts +26 -1
  190. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  191. package/dist/controllers/webservice/BrandingController.js +292 -116
  192. package/dist/controllers/webservice/DashboardConfigController.d.ts +25 -17
  193. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  194. package/dist/controllers/webservice/DashboardConfigController.js +90 -205
  195. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  196. package/dist/controllers/webservice/FormManagementController.js +37 -3
  197. package/dist/controllers/webservice/RecordController.d.ts +15 -1
  198. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  199. package/dist/controllers/webservice/RecordController.js +647 -267
  200. package/dist/controllers/webservice/RecordSchemaController.d.ts +32 -0
  201. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +1 -0
  202. package/dist/controllers/webservice/RecordSchemaController.js +356 -0
  203. package/dist/controllers/webservice/RecordTypeController.d.ts +6 -1
  204. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  205. package/dist/controllers/webservice/RecordTypeController.js +21 -3
  206. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  207. package/dist/controllers/webservice/SearchController.js +7 -3
  208. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  209. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  210. package/dist/hooks/defineRedboxHook.js +4 -1
  211. package/dist/index.d.ts +50 -23
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/index.js +90 -2
  214. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  215. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  216. package/dist/loader/bootstrapShimRuntime.js +20 -12
  217. package/dist/loader/index.d.ts +9 -0
  218. package/dist/loader/index.d.ts.map +1 -1
  219. package/dist/loader/index.js +93 -4
  220. package/dist/model/BrandingTypeface.d.ts +70 -0
  221. package/dist/model/BrandingTypeface.d.ts.map +1 -0
  222. package/dist/model/BrandingTypeface.js +116 -0
  223. package/dist/model/BuildResponse.d.ts +25 -11
  224. package/dist/model/BuildResponse.d.ts.map +1 -1
  225. package/dist/model/BuildResponse.js +4 -3
  226. package/dist/model/DashboardTypeResponseModel.d.ts +6 -0
  227. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  228. package/dist/model/DashboardTypeResponseModel.js +7 -1
  229. package/dist/model/DashboardViewResponseModel.d.ts +5 -1
  230. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  231. package/dist/model/DashboardViewResponseModel.js +6 -3
  232. package/dist/model/RBValidationError.d.ts +17 -0
  233. package/dist/model/RBValidationError.d.ts.map +1 -1
  234. package/dist/model/RBValidationError.js +37 -1
  235. package/dist/model/RecordTypeResponseModel.d.ts +12 -4
  236. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  237. package/dist/model/RecordTypeResponseModel.js +11 -2
  238. package/dist/model/index.d.ts +5 -1
  239. package/dist/model/index.d.ts.map +1 -1
  240. package/dist/model/index.js +5 -2
  241. package/dist/model/record-contract.d.ts +42 -0
  242. package/dist/model/record-contract.d.ts.map +1 -0
  243. package/dist/model/record-contract.js +3 -0
  244. package/dist/model/storage/BrandingModel.d.ts +7 -0
  245. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  246. package/dist/model/storage/BrandingModel.js +7 -1
  247. package/dist/model/storage/DeletedRecordModel.d.ts +35 -0
  248. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  249. package/dist/model/storage/DeletedRecordModel.js +62 -1
  250. package/dist/model/storage/IntegrationAuditModel.d.ts +16 -2
  251. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  252. package/dist/model/storage/IntegrationAuditModel.js +15 -1
  253. package/dist/model/storage/RecordAuditModel.d.ts +11 -1
  254. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  255. package/dist/model/storage/RecordAuditModel.js +8 -2
  256. package/dist/model/storage/RecordModel.d.ts +8 -2
  257. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  258. package/dist/model/storage/RecordTypeModel.d.ts +6 -0
  259. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  260. package/dist/model/storage/RecordTypeModel.js +4 -1
  261. package/dist/model/storage/index.d.ts +12 -10
  262. package/dist/model/storage/index.d.ts.map +1 -1
  263. package/dist/model/storage/index.js +24 -2
  264. package/dist/model/storage/record-schema.d.ts +115 -0
  265. package/dist/model/storage/record-schema.d.ts.map +1 -0
  266. package/dist/model/storage/record-schema.js +3 -0
  267. package/dist/policies/checkAuth.d.ts +2 -6
  268. package/dist/policies/checkAuth.d.ts.map +1 -1
  269. package/dist/policies/checkAuth.js +32 -9
  270. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  271. package/dist/policies/contentSecurityPolicy.js +85 -2
  272. package/dist/policies/index.d.ts +3 -2
  273. package/dist/policies/index.d.ts.map +1 -1
  274. package/dist/policies/index.js +4 -2
  275. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  276. package/dist/policies/validateApiContractRequest.js +49 -11
  277. package/dist/record-contract/ajv-error-mapper.d.ts +34 -0
  278. package/dist/record-contract/ajv-error-mapper.d.ts.map +1 -0
  279. package/dist/record-contract/ajv-error-mapper.js +153 -0
  280. package/dist/record-contract/canonical-json.d.ts +20 -0
  281. package/dist/record-contract/canonical-json.d.ts.map +1 -0
  282. package/dist/record-contract/canonical-json.js +126 -0
  283. package/dist/record-contract/codes.d.ts +36 -0
  284. package/dist/record-contract/codes.d.ts.map +1 -0
  285. package/dist/record-contract/codes.js +38 -0
  286. package/dist/record-contract/contributor-registry.d.ts +76 -0
  287. package/dist/record-contract/contributor-registry.d.ts.map +1 -0
  288. package/dist/record-contract/contributor-registry.js +126 -0
  289. package/dist/record-contract/core-contributors.d.ts +44 -0
  290. package/dist/record-contract/core-contributors.d.ts.map +1 -0
  291. package/dist/record-contract/core-contributors.js +395 -0
  292. package/dist/record-contract/deep-freeze.d.ts +3 -0
  293. package/dist/record-contract/deep-freeze.d.ts.map +1 -0
  294. package/dist/record-contract/deep-freeze.js +23 -0
  295. package/dist/record-contract/index.d.ts +13 -0
  296. package/dist/record-contract/index.d.ts.map +1 -0
  297. package/dist/record-contract/index.js +29 -0
  298. package/dist/record-contract/json-pointer.d.ts +20 -0
  299. package/dist/record-contract/json-pointer.d.ts.map +1 -0
  300. package/dist/record-contract/json-pointer.js +70 -0
  301. package/dist/record-contract/json-schema-renderer.d.ts +51 -0
  302. package/dist/record-contract/json-schema-renderer.d.ts.map +1 -0
  303. package/dist/record-contract/json-schema-renderer.js +450 -0
  304. package/dist/record-contract/record-contract-compiler.d.ts +42 -0
  305. package/dist/record-contract/record-contract-compiler.d.ts.map +1 -0
  306. package/dist/record-contract/record-contract-compiler.js +775 -0
  307. package/dist/record-contract/record-contract-context.d.ts +91 -0
  308. package/dist/record-contract/record-contract-context.d.ts.map +1 -0
  309. package/dist/record-contract/record-contract-context.js +39 -0
  310. package/dist/record-contract/record-json-schema-artifact.d.ts +74 -0
  311. package/dist/record-contract/record-json-schema-artifact.d.ts.map +1 -0
  312. package/dist/record-contract/record-json-schema-artifact.js +309 -0
  313. package/dist/record-contract/record-json-schema-etag.d.ts +15 -0
  314. package/dist/record-contract/record-json-schema-etag.d.ts.map +1 -0
  315. package/dist/record-contract/record-json-schema-etag.js +41 -0
  316. package/dist/record-contract/types.d.ts +151 -0
  317. package/dist/record-contract/types.d.ts.map +1 -0
  318. package/dist/record-contract/types.js +6 -0
  319. package/dist/services/AppConfigService.d.ts +6 -0
  320. package/dist/services/AppConfigService.d.ts.map +1 -1
  321. package/dist/services/AppConfigService.js +23 -1
  322. package/dist/services/AttachmentMetadataService.d.ts +58 -0
  323. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  324. package/dist/services/AttachmentMetadataService.js +643 -8
  325. package/dist/services/BrandingLogoService.d.ts +6 -1
  326. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  327. package/dist/services/BrandingLogoService.js +77 -9
  328. package/dist/services/BrandingService.d.ts +171 -9
  329. package/dist/services/BrandingService.d.ts.map +1 -1
  330. package/dist/services/BrandingService.js +572 -68
  331. package/dist/services/BrandingThemeCssService.d.ts +17 -1
  332. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  333. package/dist/services/BrandingThemeCssService.js +71 -9
  334. package/dist/services/BrandingTypefaceService.d.ts +74 -0
  335. package/dist/services/BrandingTypefaceService.d.ts.map +1 -0
  336. package/dist/services/BrandingTypefaceService.js +359 -0
  337. package/dist/services/BrandingWoff2Inspector.d.ts +17 -0
  338. package/dist/services/BrandingWoff2Inspector.d.ts.map +1 -0
  339. package/dist/services/BrandingWoff2Inspector.js +402 -0
  340. package/dist/services/DashboardConfigService.d.ts +214 -54
  341. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  342. package/dist/services/DashboardConfigService.js +829 -261
  343. package/dist/services/DashboardLegacyConversion.d.ts +82 -0
  344. package/dist/services/DashboardLegacyConversion.d.ts.map +1 -0
  345. package/dist/services/DashboardLegacyConversion.js +427 -0
  346. package/dist/services/DashboardTypesService.d.ts +15 -4
  347. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  348. package/dist/services/DashboardTypesService.js +72 -139
  349. package/dist/services/DoiService.d.ts +1 -1
  350. package/dist/services/DoiService.d.ts.map +1 -1
  351. package/dist/services/DoiService.js +71 -45
  352. package/dist/services/FigshareService.d.ts.map +1 -1
  353. package/dist/services/FigshareService.js +8 -7
  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 +11 -11
  364. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  365. package/dist/services/I18nEntriesService.js +71 -48
  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 +317 -26
  385. package/dist/services/RecordsService.d.ts.map +1 -1
  386. package/dist/services/RecordsService.js +5145 -765
  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/figshare-v2/worker.d.ts.map +1 -1
  419. package/dist/services/figshare-v2/worker.js +254 -74
  420. package/dist/services/form-record-access-user.d.ts +3 -0
  421. package/dist/services/form-record-access-user.d.ts.map +1 -0
  422. package/dist/services/form-record-access-user.js +23 -0
  423. package/dist/services/index.d.ts +9 -0
  424. package/dist/services/index.d.ts.map +1 -1
  425. package/dist/services/index.js +45 -3
  426. package/dist/services/integration-v2/bindings.d.ts +3 -0
  427. package/dist/services/integration-v2/bindings.d.ts.map +1 -0
  428. package/dist/services/integration-v2/bindings.js +91 -0
  429. package/dist/services/integration-v2/runtime.d.ts +3 -0
  430. package/dist/services/integration-v2/runtime.d.ts.map +1 -0
  431. package/dist/services/integration-v2/runtime.js +50 -0
  432. package/dist/services/internal-record-schema-authorization.d.ts +8 -0
  433. package/dist/services/internal-record-schema-authorization.d.ts.map +1 -0
  434. package/dist/services/internal-record-schema-authorization.js +16 -0
  435. package/dist/services/oni-v2/audit.d.ts +19 -0
  436. package/dist/services/oni-v2/audit.d.ts.map +1 -0
  437. package/dist/services/oni-v2/audit.js +50 -0
  438. package/dist/services/oni-v2/bindings.d.ts +7 -0
  439. package/dist/services/oni-v2/bindings.d.ts.map +1 -0
  440. package/dist/services/oni-v2/bindings.js +31 -0
  441. package/dist/services/oni-v2/config.d.ts +12 -0
  442. package/dist/services/oni-v2/config.d.ts.map +1 -0
  443. package/dist/services/oni-v2/config.js +134 -0
  444. package/dist/services/oni-v2/context.d.ts +3 -0
  445. package/dist/services/oni-v2/context.d.ts.map +1 -0
  446. package/dist/services/oni-v2/context.js +17 -0
  447. package/dist/services/oni-v2/crate.d.ts +17 -0
  448. package/dist/services/oni-v2/crate.d.ts.map +1 -0
  449. package/dist/services/oni-v2/crate.js +504 -0
  450. package/dist/services/oni-v2/flydriveOcflStore.d.ts +69 -0
  451. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +1 -0
  452. package/dist/services/oni-v2/flydriveOcflStore.js +325 -0
  453. package/dist/services/oni-v2/ingestion.d.ts +37 -0
  454. package/dist/services/oni-v2/ingestion.d.ts.map +1 -0
  455. package/dist/services/oni-v2/ingestion.js +91 -0
  456. package/dist/services/oni-v2/mapping.d.ts +17 -0
  457. package/dist/services/oni-v2/mapping.d.ts.map +1 -0
  458. package/dist/services/oni-v2/mapping.js +137 -0
  459. package/dist/services/oni-v2/repository.d.ts +9 -0
  460. package/dist/services/oni-v2/repository.d.ts.map +1 -0
  461. package/dist/services/oni-v2/repository.js +180 -0
  462. package/dist/services/oni-v2/runtime.d.ts +23 -0
  463. package/dist/services/oni-v2/runtime.d.ts.map +1 -0
  464. package/dist/services/oni-v2/runtime.js +121 -0
  465. package/dist/services/oni-v2/templating.d.ts +11 -0
  466. package/dist/services/oni-v2/templating.d.ts.map +1 -0
  467. package/dist/services/oni-v2/templating.js +27 -0
  468. package/dist/services/oni-v2/types.d.ts +100 -0
  469. package/dist/services/oni-v2/types.d.ts.map +1 -0
  470. package/dist/services/oni-v2/types.js +3 -0
  471. package/dist/services/raid-v2/audit.d.ts +10 -0
  472. package/dist/services/raid-v2/audit.d.ts.map +1 -0
  473. package/dist/services/raid-v2/audit.js +29 -0
  474. package/dist/services/raid-v2/errors.d.ts +85 -0
  475. package/dist/services/raid-v2/errors.d.ts.map +1 -0
  476. package/dist/services/raid-v2/errors.js +36 -0
  477. package/dist/services/raid-v2/http.d.ts +4 -0
  478. package/dist/services/raid-v2/http.d.ts.map +1 -0
  479. package/dist/services/raid-v2/http.js +84 -0
  480. package/dist/services/raid-v2/logger.d.ts +8 -0
  481. package/dist/services/raid-v2/logger.d.ts.map +1 -0
  482. package/dist/services/raid-v2/logger.js +30 -0
  483. package/dist/services/raid-v2/mapping.d.ts +9 -0
  484. package/dist/services/raid-v2/mapping.d.ts.map +1 -0
  485. package/dist/services/raid-v2/mapping.js +168 -0
  486. package/dist/services/raid-v2/runtime.d.ts +5 -0
  487. package/dist/services/raid-v2/runtime.d.ts.map +1 -0
  488. package/dist/services/raid-v2/runtime.js +135 -0
  489. package/dist/services/raid-v2/tags.d.ts +11 -0
  490. package/dist/services/raid-v2/tags.d.ts.map +1 -0
  491. package/dist/services/raid-v2/tags.js +12 -0
  492. package/dist/services/raid-v2/types.d.ts +66 -0
  493. package/dist/services/raid-v2/types.d.ts.map +1 -0
  494. package/dist/services/raid-v2/types.js +3 -0
  495. package/dist/services/record-hooks/coordinator.d.ts +64 -0
  496. package/dist/services/record-hooks/coordinator.d.ts.map +1 -0
  497. package/dist/services/record-hooks/coordinator.js +276 -0
  498. package/dist/visitor/client.visitor.d.ts +6 -0
  499. package/dist/visitor/client.visitor.d.ts.map +1 -1
  500. package/dist/visitor/client.visitor.js +59 -14
  501. package/dist/visitor/construct.visitor.d.ts +27 -1
  502. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  503. package/dist/visitor/construct.visitor.js +265 -177
  504. package/dist/visitor/context-variables.visitor.d.ts +3 -1
  505. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  506. package/dist/visitor/context-variables.visitor.js +15 -1
  507. package/dist/visitor/data-value.visitor.d.ts +6 -0
  508. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  509. package/dist/visitor/data-value.visitor.js +10 -1
  510. package/dist/visitor/json-type-def.visitor.d.ts +6 -0
  511. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  512. package/dist/visitor/json-type-def.visitor.js +10 -1
  513. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +11 -0
  514. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  515. package/dist/visitor/migrate-config-v4-v5.visitor.js +228 -133
  516. package/dist/visitor/related-object-data-inline.visitor.d.ts +31 -0
  517. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -0
  518. package/dist/visitor/related-object-data-inline.visitor.js +96 -0
  519. package/dist/visitor/template.visitor.d.ts +17 -2
  520. package/dist/visitor/template.visitor.d.ts.map +1 -1
  521. package/dist/visitor/template.visitor.js +60 -22
  522. package/dist/visitor/validator.visitor.d.ts +49 -7
  523. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  524. package/dist/visitor/validator.visitor.js +275 -178
  525. package/dist/waterline-models/AttachmentMetadata.d.ts +22 -0
  526. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  527. package/dist/waterline-models/AttachmentMetadata.js +147 -3
  528. package/dist/waterline-models/BrandingConfig.d.ts +7 -0
  529. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  530. package/dist/waterline-models/BrandingConfig.js +16 -1
  531. package/dist/waterline-models/BrandingConfigHistory.d.ts +11 -2
  532. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  533. package/dist/waterline-models/BrandingConfigHistory.js +21 -1
  534. package/dist/waterline-models/DashboardConfiguration.d.ts +29 -0
  535. package/dist/waterline-models/DashboardConfiguration.d.ts.map +1 -0
  536. package/dist/waterline-models/DashboardConfiguration.js +52 -0
  537. package/dist/waterline-models/RecordType.d.ts +9 -0
  538. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  539. package/dist/waterline-models/RecordType.js +16 -1
  540. package/dist/waterline-models/User.d.ts.map +1 -1
  541. package/dist/waterline-models/User.js +10 -15
  542. package/dist/waterline-models/index.d.ts +2 -0
  543. package/dist/waterline-models/index.d.ts.map +1 -1
  544. package/dist/waterline-models/index.js +4 -1
  545. package/package.json +59 -45
  546. package/dist/config/datapubs.config.d.ts +0 -72
  547. package/dist/config/datapubs.config.d.ts.map +0 -1
  548. package/dist/config/datapubs.config.js +0 -74
@@ -1 +1 @@
1
- {"version":3,"file":"BuildResponse.d.ts","sourceRoot":"","sources":["../../src/model/BuildResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,mBAAmB,mBAAqB,CAAC;AACtD,MAAM,MAAM,uBAAuB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB;;;OAGG;IACH,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"BuildResponse.d.ts","sourceRoot":"","sources":["../../src/model/BuildResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,gDAAgD,CAAC;AACxG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,eAAO,MAAM,mBAAmB,+BAAgC,CAAC;AACjE,MAAM,MAAM,uBAAuB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACzE,eAAO,MAAM,yBAAyB,kEAAmE,CAAC;AAC1G,MAAM,MAAM,wBAAwB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAEhF;;GAEG;AACH,UAAU,mBAAmB;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wFAAwF;AACxF,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,wBAAwB,CAAC;IACpC,IAAI,EAAE,kBAAkB,GAAG,iCAAiC,CAAC;IAC7D,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,wBAAwB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BuildResponseFormat = void 0;
4
- exports.BuildResponseFormat = ['json',];
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVpbGRSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9CdWlsZFJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdhLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLEVBQVcsQ0FBQyJ9
3
+ exports.RawJsonResponseMediaTypes = exports.BuildResponseFormat = void 0;
4
+ exports.BuildResponseFormat = ['json', 'raw-json'];
5
+ exports.RawJsonResponseMediaTypes = ['application/schema+json', 'application/problem+json'];
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVpbGRSZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9CdWlsZFJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUthLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFVLENBQUM7QUFFcEQsUUFBQSx5QkFBeUIsR0FBRyxDQUFDLHlCQUF5QixFQUFFLDBCQUEwQixDQUFVLENBQUMifQ==
@@ -1,4 +1,10 @@
1
1
  import type { DashboardTableConfig } from '../config/workflow.config';
2
+ /**
3
+ * Compatibility description of a dashboard mode (for example `standard` or
4
+ * `workspace`). `formatRules` only carries read-only structural context
5
+ * (`recordTypeFilterBy`, `filterWorkflowStepsBy`); table settings are owned by
6
+ * each workflow stage or view step and `tableConfig` is always empty.
7
+ */
2
8
  export declare class DashboardTypeResponseModel {
3
9
  name: string;
4
10
  description?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardTypeResponseModel.d.ts","sourceRoot":"","sources":["../../src/model/DashboardTypeResponseModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,qBAAa,0BAA0B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;gBAEJ,KAAK,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,WAAW,CAAC,EAAE,oBAAoB,CAAC;QACnC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;CAQJ"}
1
+ {"version":3,"file":"DashboardTypeResponseModel.d.ts","sourceRoot":"","sources":["../../src/model/DashboardTypeResponseModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;GAKG;AACH,qBAAa,0BAA0B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,EAAE,oBAAoB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;gBAEJ,KAAK,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,WAAW,CAAC,EAAE,oBAAoB,CAAC;QACnC,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;CAQJ"}
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DashboardTypeResponseModel = void 0;
4
+ /**
5
+ * Compatibility description of a dashboard mode (for example `standard` or
6
+ * `workspace`). `formatRules` only carries read-only structural context
7
+ * (`recordTypeFilterBy`, `filterWorkflowStepsBy`); table settings are owned by
8
+ * each workflow stage or view step and `tableConfig` is always empty.
9
+ */
4
10
  class DashboardTypeResponseModel {
5
11
  name;
6
12
  description;
@@ -18,4 +24,4 @@ class DashboardTypeResponseModel {
18
24
  }
19
25
  }
20
26
  exports.DashboardTypeResponseModel = DashboardTypeResponseModel;
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkVHlwZVJlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvRGFzaGJvYXJkVHlwZVJlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSwwQkFBMEI7SUFDbkMsSUFBSSxDQUFTO0lBQ2IsV0FBVyxDQUFVO0lBQ3JCLFdBQVcsQ0FBMEI7SUFDckMsV0FBVyxDQUF1QjtJQUNsQyxVQUFVLENBQVU7SUFDcEIsTUFBTSxDQUFVO0lBRWhCLFlBQVksS0FPWDtRQUNHLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUMxRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7SUFDeEMsQ0FBQztDQUNKO0FBdkJELGdFQXVCQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkVHlwZVJlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvRGFzaGJvYXJkVHlwZVJlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7Ozs7O0dBS0c7QUFDSCxNQUFhLDBCQUEwQjtJQUNuQyxJQUFJLENBQVM7SUFDYixXQUFXLENBQVU7SUFDckIsV0FBVyxDQUEwQjtJQUNyQyxXQUFXLENBQXVCO0lBQ2xDLFVBQVUsQ0FBVTtJQUNwQixNQUFNLENBQVU7SUFFaEIsWUFBWSxLQU9YO1FBQ0csSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztJQUN4QyxDQUFDO0NBQ0o7QUF2QkQsZ0VBdUJDIn0=
@@ -1,10 +1,14 @@
1
1
  import type { DashboardViewDefinition, DashboardViewStepDefinition } from '../config/dashboardview.config';
2
+ /**
3
+ * Structural view step metadata. Table settings are served separately from the
4
+ * independent dashboard configuration; the hook's `dashboardTable` is only a
5
+ * one-time seed and is not exposed here.
6
+ */
2
7
  export declare class DashboardViewStepResponseModel {
3
8
  name: string;
4
9
  sourceRecordType: string;
5
10
  sourceWorkflowStage?: string;
6
11
  fetchMode: DashboardViewStepDefinition['fetchMode'];
7
- dashboardTable: DashboardViewStepDefinition['dashboardTable'];
8
12
  baseRecordType?: string;
9
13
  constructor(step: DashboardViewStepDefinition);
10
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardViewResponseModel.d.ts","sourceRoot":"","sources":["../../src/model/DashboardViewResponseModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE3G,qBAAa,8BAA8B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACpD,cAAc,EAAE,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,2BAA2B;CAQhD;AAED,qBAAa,0BAA0B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,8BAA8B,EAAE,CAAC;gBAE5B,IAAI,EAAE,uBAAuB;CAQ5C"}
1
+ {"version":3,"file":"DashboardViewResponseModel.d.ts","sourceRoot":"","sources":["../../src/model/DashboardViewResponseModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE3G;;;;GAIG;AACH,qBAAa,8BAA8B;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,2BAA2B,CAAC,WAAW,CAAC,CAAC;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,2BAA2B;CAOhD;AAED,qBAAa,0BAA0B;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,8BAA8B,EAAE,CAAC;gBAE5B,IAAI,EAAE,uBAAuB;CAQ5C"}
@@ -1,19 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DashboardViewResponseModel = exports.DashboardViewStepResponseModel = void 0;
4
+ /**
5
+ * Structural view step metadata. Table settings are served separately from the
6
+ * independent dashboard configuration; the hook's `dashboardTable` is only a
7
+ * one-time seed and is not exposed here.
8
+ */
4
9
  class DashboardViewStepResponseModel {
5
10
  name;
6
11
  sourceRecordType;
7
12
  sourceWorkflowStage;
8
13
  fetchMode;
9
- dashboardTable;
10
14
  baseRecordType;
11
15
  constructor(step) {
12
16
  this.name = step.name;
13
17
  this.sourceRecordType = step.sourceRecordType;
14
18
  this.sourceWorkflowStage = step.sourceWorkflowStage;
15
19
  this.fetchMode = step.fetchMode;
16
- this.dashboardTable = step.dashboardTable;
17
20
  this.baseRecordType = step.baseRecordType;
18
21
  }
19
22
  }
@@ -35,4 +38,4 @@ class DashboardViewResponseModel {
35
38
  }
36
39
  }
37
40
  exports.DashboardViewResponseModel = DashboardViewResponseModel;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkVmlld1Jlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvRGFzaGJvYXJkVmlld1Jlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSw4QkFBOEI7SUFDdkMsSUFBSSxDQUFTO0lBQ2IsZ0JBQWdCLENBQVM7SUFDekIsbUJBQW1CLENBQVU7SUFDN0IsU0FBUyxDQUEyQztJQUNwRCxjQUFjLENBQWdEO0lBQzlELGNBQWMsQ0FBVTtJQUV4QixZQUFZLElBQWlDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDOUMsQ0FBQztDQUNKO0FBaEJELHdFQWdCQztBQUVELE1BQWEsMEJBQTBCO0lBQ25DLElBQUksQ0FBUztJQUNiLGFBQWEsQ0FBUztJQUN0QixnQkFBZ0IsQ0FBVztJQUMzQixhQUFhLENBQVM7SUFDdEIsZ0JBQWdCLENBQVM7SUFDekIsS0FBSyxDQUFtQztJQUV4QyxZQUFZLElBQTZCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDeEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksOEJBQThCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0o7QUFoQkQsZ0VBZ0JDIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGFzaGJvYXJkVmlld1Jlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvRGFzaGJvYXJkVmlld1Jlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7Ozs7R0FJRztBQUNILE1BQWEsOEJBQThCO0lBQ3ZDLElBQUksQ0FBUztJQUNiLGdCQUFnQixDQUFTO0lBQ3pCLG1CQUFtQixDQUFVO0lBQzdCLFNBQVMsQ0FBMkM7SUFDcEQsY0FBYyxDQUFVO0lBRXhCLFlBQVksSUFBaUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzlDLENBQUM7Q0FDSjtBQWRELHdFQWNDO0FBRUQsTUFBYSwwQkFBMEI7SUFDbkMsSUFBSSxDQUFTO0lBQ2IsYUFBYSxDQUFTO0lBQ3RCLGdCQUFnQixDQUFXO0lBQzNCLGFBQWEsQ0FBUztJQUN0QixnQkFBZ0IsQ0FBUztJQUN6QixLQUFLLENBQW1DO0lBRXhDLFlBQVksSUFBNkI7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQzlDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzVGLENBQUM7Q0FDSjtBQWhCRCxnRUFnQkMifQ==
@@ -1,14 +1,21 @@
1
1
  import { Services } from "../services/TranslationService";
2
+ import type { RecordSaveProblemKind } from "@researchdatabox/sails-ng-common";
2
3
  import { ErrorResponseItemV2 } from "./api";
3
4
  interface RBErrorOptions {
4
5
  cause?: unknown;
5
6
  }
7
+ /**
8
+ * Alias of the shared save problem kind so the safe-error container and the
9
+ * typed save result can never drift apart.
10
+ */
11
+ export type RBValidationProblemKind = RecordSaveProblemKind;
6
12
  /**
7
13
  * ReDBox Validation Error for containing validation errors
8
14
  * to be shown to the user.
9
15
  */
10
16
  export declare class RBValidationError extends Error {
11
17
  private readonly _displayErrors;
18
+ private readonly _problemKind?;
12
19
  /**
13
20
  * Create a new internal RBValidation Error with optional display errors for the response.
14
21
  * @param build Create a new RBValidation Error with optional internal message, optional options, and optional display errors.
@@ -20,6 +27,7 @@ export declare class RBValidationError extends Error {
20
27
  message?: string;
21
28
  options?: RBErrorOptions;
22
29
  displayErrors?: ErrorResponseItemV2[];
30
+ problemKind?: RBValidationProblemKind;
23
31
  });
24
32
  /**
25
33
  * Convenient way to access the name of this error.
@@ -57,6 +65,15 @@ export declare class RBValidationError extends Error {
57
65
  * Get any display errors stored in this Error.
58
66
  */
59
67
  get displayErrors(): ErrorResponseItemV2[];
68
+ /** Explicit classification is preferred over inferring from display text. */
69
+ get problemKind(): RBValidationProblemKind | undefined;
70
+ /**
71
+ * Classify an arbitrary thrown value in the order defined by the record
72
+ * save design: explicit kind, then explicit status, then field evidence.
73
+ * `RBValidationError` means "safe to display", not "HTTP 400", so being an
74
+ * instance of it is deliberately not evidence of validation on its own.
75
+ */
76
+ static classify(error: unknown): RBValidationProblemKind;
60
77
  }
61
78
  export {};
62
79
  //# sourceMappingURL=RBValidationError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RBValidationError.d.ts","sourceRoot":"","sources":["../../src/model/RBValidationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAG5C,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D;;;;;;OAMG;gBACS,KAAK,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAC;QAAC,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAA;KAAO;IAM7G;;OAEG;IACH,gBAAuB,SAAS,uBAAuB;IAEvD;;;;OAIG;WACW,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB;IAI3E;;;;OAIG;WACW,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG;QAClF,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,aAAa,EAAE,mBAAmB,EAAE,CAAA;KACrC;IA8BD;;;;;;OAMG;WACW,cAAc,CAAC,OAAO,GAAE;QACpC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;QACtC,cAAc,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,MAAM;IAqBf;;OAEG;IACH,IAAI,aAAa,IAAI,mBAAmB,EAAE,CAEzC;CACF"}
1
+ {"version":3,"file":"RBValidationError.d.ts","sourceRoot":"","sources":["../../src/model/RBValidationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAG5C,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAuB5D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAC5D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA0B;IAExD;;;;;;OAMG;gBACS,KAAK,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,cAAc,CAAC;QAAC,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;QAAC,WAAW,CAAC,EAAE,uBAAuB,CAAA;KAAO;IAOpJ;;OAEG;IACH,gBAAuB,SAAS,uBAAuB;IAEvD;;;;OAIG;WACW,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB;IAI3E;;;;OAIG;WACW,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG;QAClF,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,aAAa,EAAE,mBAAmB,EAAE,CAAA;KACrC;IA8BD;;;;;;OAMG;WACW,cAAc,CAAC,OAAO,GAAE;QACpC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC;QACzB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;QACtC,cAAc,CAAC,EAAE,MAAM,CAAA;KACnB,GAAG,MAAM;IAqBf;;OAEG;IACH,IAAI,aAAa,IAAI,mBAAmB,EAAE,CAEzC;IAED,6EAA6E;IAC7E,IAAI,WAAW,IAAI,uBAAuB,GAAG,SAAS,CAErD;IAED;;;;;OAKG;WACW,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB;CAchE"}
@@ -1,12 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RBValidationError = void 0;
4
+ const authorizationCodePattern = /^(unauthori[sz]ed|forbidden|access[-_]?denied|not[-_]?authori[sz]ed)$/i;
5
+ function hasFieldEvidence(displayErrors) {
6
+ return displayErrors.some((displayError) => {
7
+ const meta = displayError.meta;
8
+ const field = displayError.field;
9
+ return typeof displayError.source?.pointer === 'string'
10
+ || typeof field === 'string'
11
+ || Array.isArray(meta?.errorFieldList);
12
+ });
13
+ }
4
14
  /**
5
15
  * ReDBox Validation Error for containing validation errors
6
16
  * to be shown to the user.
7
17
  */
8
18
  class RBValidationError extends Error {
9
19
  _displayErrors = [];
20
+ _problemKind;
10
21
  /**
11
22
  * Create a new internal RBValidation Error with optional display errors for the response.
12
23
  * @param build Create a new RBValidation Error with optional internal message, optional options, and optional display errors.
@@ -18,6 +29,7 @@ class RBValidationError extends Error {
18
29
  super(build.message ?? "", build.options ?? {});
19
30
  this.name = RBValidationError.errorName;
20
31
  this._displayErrors = build.displayErrors ?? [];
32
+ this._problemKind = build.problemKind;
21
33
  }
22
34
  /**
23
35
  * Convenient way to access the name of this error.
@@ -93,6 +105,30 @@ class RBValidationError extends Error {
93
105
  get displayErrors() {
94
106
  return this._displayErrors;
95
107
  }
108
+ /** Explicit classification is preferred over inferring from display text. */
109
+ get problemKind() {
110
+ return this._problemKind;
111
+ }
112
+ /**
113
+ * Classify an arbitrary thrown value in the order defined by the record
114
+ * save design: explicit kind, then explicit status, then field evidence.
115
+ * `RBValidationError` means "safe to display", not "HTTP 400", so being an
116
+ * instance of it is deliberately not evidence of validation on its own.
117
+ */
118
+ static classify(error) {
119
+ const candidate = (error ?? null);
120
+ if (candidate?.problemKind) {
121
+ return candidate.problemKind;
122
+ }
123
+ const status = Number(candidate?.status ?? candidate?.statusCode);
124
+ if (Number.isFinite(status) && status >= 500) {
125
+ return 'system';
126
+ }
127
+ if (status === 401 || status === 403 || authorizationCodePattern.test(String(candidate?.code ?? ''))) {
128
+ return 'authorization';
129
+ }
130
+ return hasFieldEvidence(candidate?.displayErrors ?? []) ? 'validation' : 'system';
131
+ }
96
132
  }
97
133
  exports.RBValidationError = RBValidationError;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkJWYWxpZGF0aW9uRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvUkJWYWxpZGF0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBUUE7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxLQUFLO0lBQ3pCLGNBQWMsR0FBMEIsRUFBRSxDQUFDO0lBRTVEOzs7Ozs7T0FNRztJQUNILFlBQVksUUFBK0YsRUFBRTtRQUMzRyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxTQUFTLEdBQUcsbUJBQW1CLENBQUM7SUFFdkQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxJQUFhO1FBQzdDLE9BQU8sSUFBSSxZQUFZLGlCQUFpQixJQUFJLENBQUMsSUFBSSxZQUFZLEtBQUssSUFBSSxJQUFJLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFlLEVBQUUsYUFBb0M7UUFJL0UsNkNBQTZDO1FBQzdDLE1BQU0sZUFBZSxHQUFZLEVBQUUsQ0FBQztRQUNwQyxNQUFNLHNCQUFzQixHQUEwQixDQUFDLEdBQUcsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRS9FLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUM7UUFDMUMsT0FBTyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxD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
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUkJWYWxpZGF0aW9uRXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvUkJWYWxpZGF0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBd0JBLE1BQU0sd0JBQXdCLEdBQUcsd0VBQXdFLENBQUM7QUFFMUcsU0FBUyxnQkFBZ0IsQ0FBQyxhQUE2QztJQUNyRSxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtRQUN6QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBMkMsQ0FBQztRQUN0RSxNQUFNLEtBQUssR0FBSSxZQUEwRCxDQUFDLEtBQUssQ0FBQztRQUNoRixPQUFPLE9BQU8sWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLEtBQUssUUFBUTtlQUNsRCxPQUFPLEtBQUssS0FBSyxRQUFRO2VBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQzNDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsS0FBSztJQUN6QixjQUFjLEdBQTBCLEVBQUUsQ0FBQztJQUMzQyxZQUFZLENBQTJCO0lBRXhEOzs7Ozs7T0FNRztJQUNILFlBQVksUUFBc0ksRUFBRTtRQUNsSixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQVUsU0FBUyxHQUFHLG1CQUFtQixD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
@@ -1,12 +1,20 @@
1
- import { SearchFilter } from "./storage/RecordTypeModel";
2
- import { NormalizedRecordRelation } from "../config/recordtype.config";
1
+ import { SearchFilter } from './storage/RecordTypeModel';
2
+ import { NormalizedRecordRelation } from '../config/recordtype.config';
3
+ import { type RecordConcurrentModificationConfig } from '@researchdatabox/sails-ng-common';
3
4
  export declare class RecordTypeResponseModel {
4
5
  name: string;
5
6
  packageType: string;
6
7
  searchFilters: SearchFilter[];
7
8
  searchable: boolean;
8
9
  relatedTo?: NormalizedRecordRelation[];
9
- constructor(name: string | undefined, packageType: string | undefined, searchFilters: SearchFilter[], searchable?: boolean, relatedTo?: NormalizedRecordRelation[]);
10
+ /**
11
+ * Advertised so a client knows whether to send a precondition. A stored
12
+ * policy that cannot be parsed is reported as the compatibility default
13
+ * rather than failing the discovery response: it cannot loosen anything,
14
+ * because the mutation boundary resolves policy again and fails closed.
15
+ */
16
+ concurrentModification: RecordConcurrentModificationConfig;
17
+ constructor(name: string | undefined, packageType: string | undefined, searchFilters: SearchFilter[], searchable?: boolean, relatedTo?: NormalizedRecordRelation[], concurrentModification?: unknown);
10
18
  }
11
- export { SearchFilter } from "./storage/RecordTypeModel";
19
+ export { SearchFilter } from './storage/RecordTypeModel';
12
20
  //# sourceMappingURL=RecordTypeResponseModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordTypeResponseModel.d.ts","sourceRoot":"","sources":["../../src/model/RecordTypeResponseModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,qBAAa,uBAAuB;IAEhC,IAAI,EAAC,MAAM,CAAC;IACZ,WAAW,EAAC,MAAM,CAAC;IACnB,aAAa,EAAC,YAAY,EAAE,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,wBAAwB,EAAE,CAAC;gBAE3B,IAAI,EAAC,MAAM,GAAG,SAAS,EAAC,WAAW,EAAC,MAAM,GAAG,SAAS,EAAC,aAAa,EAAC,YAAY,EAAE,EAAE,UAAU,GAAC,OAAc,EAAE,SAAS,CAAC,EAAE,wBAAwB,EAAE;CAOrK;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"RecordTypeResponseModel.d.ts","sourceRoot":"","sources":["../../src/model/RecordTypeResponseModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,kCAAkC,CAAC;AAE1C,qBAAa,uBAAuB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACvC;;;;;OAKG;IACH,sBAAsB,EAAE,kCAAkC,CAAC;gBAGzD,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,EAAE,YAAY,EAAE,EAC7B,UAAU,GAAE,OAAc,EAC1B,SAAS,CAAC,EAAE,wBAAwB,EAAE,EACtC,sBAAsB,CAAC,EAAE,OAAO;CASnC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,21 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SearchFilter = exports.RecordTypeResponseModel = void 0;
4
+ const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
4
5
  class RecordTypeResponseModel {
5
6
  name;
6
7
  packageType;
7
8
  searchFilters;
8
9
  searchable;
9
10
  relatedTo;
10
- constructor(name, packageType, searchFilters, searchable = true, relatedTo) {
11
+ /**
12
+ * Advertised so a client knows whether to send a precondition. A stored
13
+ * policy that cannot be parsed is reported as the compatibility default
14
+ * rather than failing the discovery response: it cannot loosen anything,
15
+ * because the mutation boundary resolves policy again and fails closed.
16
+ */
17
+ concurrentModification;
18
+ constructor(name, packageType, searchFilters, searchable = true, relatedTo, concurrentModification) {
11
19
  this.name = name ?? '';
12
20
  this.packageType = packageType ?? '';
13
21
  this.searchFilters = searchFilters;
14
22
  this.searchable = searchable;
15
23
  this.relatedTo = relatedTo;
24
+ this.concurrentModification = (0, sails_ng_common_1.coerceRecordConcurrentModificationConfig)(concurrentModification);
16
25
  }
17
26
  }
18
27
  exports.RecordTypeResponseModel = RecordTypeResponseModel;
19
28
  var RecordTypeModel_1 = require("./storage/RecordTypeModel");
20
29
  Object.defineProperty(exports, "SearchFilter", { enumerable: true, get: function () { return RecordTypeModel_1.SearchFilter; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVHlwZVJlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvUmVjb3JkVHlwZVJlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsTUFBYSx1QkFBdUI7SUFFaEMsSUFBSSxDQUFRO0lBQ1osV0FBVyxDQUFRO0lBQ25CLGFBQWEsQ0FBZ0I7SUFDN0IsVUFBVSxDQUFVO0lBQ3BCLFNBQVMsQ0FBOEI7SUFFdkMsWUFBWSxJQUF1QixFQUFDLFdBQThCLEVBQUMsYUFBNEIsRUFBRSxhQUFxQixJQUFJLEVBQUUsU0FBc0M7UUFDOUosSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0NBQ0o7QUFmRCwwREFlQztBQUVELDZEQUF5RDtBQUFoRCwrR0FBQSxZQUFZLE9BQUEifQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkVHlwZVJlc3BvbnNlTW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvUmVjb3JkVHlwZVJlc3BvbnNlTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsc0VBRzBDO0FBRTFDLE1BQWEsdUJBQXVCO0lBQ2xDLElBQUksQ0FBUztJQUNiLFdBQVcsQ0FBUztJQUNwQixhQUFhLENBQWlCO0lBQzlCLFVBQVUsQ0FBVTtJQUNwQixTQUFTLENBQThCO0lBQ3ZDOzs7OztPQUtHO0lBQ0gsc0JBQXNCLENBQXFDO0lBRTNELFlBQ0UsSUFBd0IsRUFDeEIsV0FBK0IsRUFDL0IsYUFBNkIsRUFDN0IsYUFBc0IsSUFBSSxFQUMxQixTQUFzQyxFQUN0QyxzQkFBZ0M7UUFFaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBQSwwREFBd0MsRUFBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7Q0FDRjtBQTdCRCwwREE2QkM7QUFFRCw2REFBeUQ7QUFBaEQsK0dBQUEsWUFBWSxPQUFBIn0=
@@ -1,9 +1,11 @@
1
1
  export { APIActionResponse } from "./APIActionResponse";
2
- export { BuildResponseFormat, BuildResponseFormatType, BuildResponseType } from "./BuildResponse";
2
+ export { BuildResponseFormat, RawJsonResponseMediaTypes, } from "./BuildResponse";
3
+ export type { BuildJsonResponseType, BuildRawJsonResponseType, BuildResponseFormatType, BuildResponseType, RawJsonResponseMediaType, } from "./BuildResponse";
3
4
  export { APIErrorResponse } from "./APIErrorResponse";
4
5
  export { APIObjectActionResponse } from "./APIObjectActionResponse";
5
6
  export { APIHarvestResponse } from "./APIHarvestResponse";
6
7
  export { RBValidationError } from "./RBValidationError";
8
+ export type { RBValidationProblemKind } from "./RBValidationError";
7
9
  export { ListAPIResponse } from "./ListAPIResponse";
8
10
  export { ListAPISummary } from "./ListAPISummary";
9
11
  export { RequestDetails } from "./RequestDetails";
@@ -11,6 +13,8 @@ export { RecordTypeResponseModel } from "./RecordTypeResponseModel";
11
13
  export { DashboardTypeResponseModel } from "./DashboardTypeResponseModel";
12
14
  export { DashboardViewResponseModel, DashboardViewStepResponseModel } from "./DashboardViewResponseModel";
13
15
  export { SolrDocument } from "./SolrDocument";
16
+ export * from './BrandingTypeface';
17
+ export * from './record-contract';
14
18
  export * from './storage';
15
19
  export * from './api';
16
20
  export * from './config';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAK,mBAAmB,CAAC;AACjD,OAAO,EAAC,cAAc,EAAC,MAAK,kBAAkB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,0BAA0B,EAAE,8BAA8B,EAAC,MAAM,8BAA8B,CAAC;AACxG,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EACL,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAK,mBAAmB,CAAC;AACjD,OAAO,EAAC,cAAc,EAAC,MAAK,kBAAkB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,0BAA0B,EAAE,8BAA8B,EAAC,MAAM,8BAA8B,CAAC;AACxG,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC"}
@@ -14,11 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SolrDocument = exports.DashboardViewStepResponseModel = exports.DashboardViewResponseModel = exports.DashboardTypeResponseModel = exports.RecordTypeResponseModel = exports.RequestDetails = exports.ListAPISummary = exports.ListAPIResponse = exports.RBValidationError = exports.APIHarvestResponse = exports.APIObjectActionResponse = exports.APIErrorResponse = exports.BuildResponseFormat = exports.APIActionResponse = void 0;
17
+ exports.SolrDocument = exports.DashboardViewStepResponseModel = exports.DashboardViewResponseModel = exports.DashboardTypeResponseModel = exports.RecordTypeResponseModel = exports.RequestDetails = exports.ListAPISummary = exports.ListAPIResponse = exports.RBValidationError = exports.APIHarvestResponse = exports.APIObjectActionResponse = exports.APIErrorResponse = exports.RawJsonResponseMediaTypes = exports.BuildResponseFormat = exports.APIActionResponse = void 0;
18
18
  var APIActionResponse_1 = require("./APIActionResponse");
19
19
  Object.defineProperty(exports, "APIActionResponse", { enumerable: true, get: function () { return APIActionResponse_1.APIActionResponse; } });
20
20
  var BuildResponse_1 = require("./BuildResponse");
21
21
  Object.defineProperty(exports, "BuildResponseFormat", { enumerable: true, get: function () { return BuildResponse_1.BuildResponseFormat; } });
22
+ Object.defineProperty(exports, "RawJsonResponseMediaTypes", { enumerable: true, get: function () { return BuildResponse_1.RawJsonResponseMediaTypes; } });
22
23
  var APIErrorResponse_1 = require("./APIErrorResponse");
23
24
  Object.defineProperty(exports, "APIErrorResponse", { enumerable: true, get: function () { return APIErrorResponse_1.APIErrorResponse; } });
24
25
  var APIObjectActionResponse_1 = require("./APIObjectActionResponse");
@@ -42,7 +43,9 @@ Object.defineProperty(exports, "DashboardViewResponseModel", { enumerable: true,
42
43
  Object.defineProperty(exports, "DashboardViewStepResponseModel", { enumerable: true, get: function () { return DashboardViewResponseModel_1.DashboardViewStepResponseModel; } });
43
44
  var SolrDocument_1 = require("./SolrDocument");
44
45
  Object.defineProperty(exports, "SolrDocument", { enumerable: true, get: function () { return SolrDocument_1.SolrDocument; } });
46
+ __exportStar(require("./BrandingTypeface"), exports);
47
+ __exportStar(require("./record-contract"), exports);
45
48
  __exportStar(require("./storage"), exports);
46
49
  __exportStar(require("./api"), exports);
47
50
  __exportStar(require("./config"), exports);
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBc0Q7QUFBOUMsc0hBQUEsaUJBQWlCLE9BQUE7QUFDekIsaURBQWdHO0FBQXhGLG9IQUFBLG1CQUFtQixPQUFBO0FBQzNCLHVEQUFvRDtBQUE1QyxvSEFBQSxnQkFBZ0IsT0FBQTtBQUN4QixxRUFBa0U7QUFBMUQsa0lBQUEsdUJBQXVCLE9BQUE7QUFDL0IsMkRBQXdEO0FBQWhELHdIQUFBLGtCQUFrQixPQUFBO0FBQzFCLHlEQUFzRDtBQUE5QyxzSEFBQSxpQkFBaUIsT0FBQTtBQUN6QixxREFBaUQ7QUFBekMsa0hBQUEsZUFBZSxPQUFBO0FBQ3ZCLG1EQUErQztBQUF2QyxnSEFBQSxjQUFjLE9BQUE7QUFDdEIsbURBQWdEO0FBQXhDLGdIQUFBLGNBQWMsT0FBQTtBQUN0QixxRUFBa0U7QUFBMUQsa0lBQUEsdUJBQXVCLE9BQUE7QUFDL0IsMkVBQXdFO0FBQWhFLHdJQUFBLDBCQUEwQixPQUFBO0FBQ2xDLDJFQUF3RztBQUFoRyx3SUFBQSwwQkFBMEIsT0FBQTtBQUFFLDRJQUFBLDhCQUE4QixPQUFBO0FBQ2xFLCtDQUE0QztBQUFwQyw0R0FBQSxZQUFZLE9BQUE7QUFDcEIsNENBQTBCO0FBQzFCLHdDQUFzQjtBQUN0QiwyQ0FBeUIifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBc0Q7QUFBOUMsc0hBQUEsaUJBQWlCLE9BQUE7QUFDekIsaURBR3lCO0FBRnZCLG9IQUFBLG1CQUFtQixPQUFBO0FBQ25CLDBIQUFBLHlCQUF5QixPQUFBO0FBUzNCLHVEQUFvRDtBQUE1QyxvSEFBQSxnQkFBZ0IsT0FBQTtBQUN4QixxRUFBa0U7QUFBMUQsa0lBQUEsdUJBQXVCLE9BQUE7QUFDL0IsMkRBQXdEO0FBQWhELHdIQUFBLGtCQUFrQixPQUFBO0FBQzFCLHlEQUF3RDtBQUEvQyxzSEFBQSxpQkFBaUIsT0FBQTtBQUUxQixxREFBaUQ7QUFBekMsa0hBQUEsZUFBZSxPQUFBO0FBQ3ZCLG1EQUErQztBQUF2QyxnSEFBQSxjQUFjLE9BQUE7QUFDdEIsbURBQWdEO0FBQXhDLGdIQUFBLGNBQWMsT0FBQTtBQUN0QixxRUFBa0U7QUFBMUQsa0lBQUEsdUJBQXVCLE9BQUE7QUFDL0IsMkVBQXdFO0FBQWhFLHdJQUFBLDBCQUEwQixPQUFBO0FBQ2xDLDJFQUF3RztBQUFoRyx3SUFBQSwwQkFBMEIsT0FBQTtBQUFFLDRJQUFBLDhCQUE4QixPQUFBO0FBQ2xFLCtDQUE0QztBQUFwQyw0R0FBQSxZQUFZLE9BQUE7QUFDcEIscURBQW1DO0FBQ25DLG9EQUFrQztBQUNsQyw0Q0FBMEI7QUFDMUIsd0NBQXNCO0FBQ3RCLDJDQUF5QiJ9
@@ -0,0 +1,42 @@
1
+ import type { RecordSchemaArtifactModel } from './storage/record-schema';
2
+ import type { RecordSchemaProblemCode } from '../record-contract/codes';
3
+ import type { ContractJsonObject } from '../record-contract/types';
4
+ export type RecordSchemaProblemStatus = 400 | 401 | 403 | 404 | 409 | 412 | 413 | 422 | 503;
5
+ /** Safe resolver Problem Details. This is deliberately separate from save-validation issues. */
6
+ export interface RecordSchemaProblem extends ContractJsonObject {
7
+ readonly type: string;
8
+ readonly title: string;
9
+ readonly status: RecordSchemaProblemStatus;
10
+ readonly detail: string;
11
+ readonly instance: string;
12
+ readonly code: RecordSchemaProblemCode;
13
+ }
14
+ export type ResolveRecordSchemaResult = {
15
+ readonly kind: 'resolved';
16
+ readonly artifact: RecordSchemaArtifactModel;
17
+ } | {
18
+ readonly kind: 'not-modified';
19
+ readonly artifact: RecordSchemaArtifactModel;
20
+ } | {
21
+ readonly kind: 'invalid-request';
22
+ readonly problem: RecordSchemaProblem;
23
+ } | {
24
+ readonly kind: 'not-found';
25
+ readonly problem: RecordSchemaProblem;
26
+ } | {
27
+ readonly kind: 'forbidden';
28
+ readonly problem: RecordSchemaProblem;
29
+ } | {
30
+ readonly kind: 'not-resolvable';
31
+ readonly problem: RecordSchemaProblem;
32
+ } | {
33
+ readonly kind: 'limit-exceeded';
34
+ readonly problem: RecordSchemaProblem;
35
+ } | {
36
+ readonly kind: 'invalid-contract';
37
+ readonly problem: RecordSchemaProblem;
38
+ } | {
39
+ readonly kind: 'unavailable';
40
+ readonly problem: RecordSchemaProblem;
41
+ };
42
+ //# sourceMappingURL=record-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-contract.d.ts","sourceRoot":"","sources":["../../src/model/record-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,yBAAyB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAE5F,gGAAgG;AAChG,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;CACxC;AAED,MAAM,MAAM,yBAAyB,GACjC;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;CAC9C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GAC3E;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GAC1E;IAAE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GAC5E;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLWNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL3JlY29yZC1jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -1,4 +1,5 @@
1
1
  import { RoleModel } from "./RoleModel";
2
+ import type { BrandingTypefaceState } from "../BrandingTypeface";
2
3
  export declare class BrandingModel {
3
4
  id: string;
4
5
  name: string;
@@ -6,5 +7,11 @@ export declare class BrandingModel {
6
7
  logo?: Record<string, unknown>;
7
8
  favicon?: Record<string, unknown>;
8
9
  roles: RoleModel[];
10
+ variables?: Record<string, string>;
11
+ version?: number;
12
+ hash?: string;
13
+ typeface?: BrandingTypefaceState | null;
14
+ draftTypeface?: BrandingTypefaceState | null;
15
+ draftRevision?: number;
9
16
  }
10
17
  //# sourceMappingURL=BrandingModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrandingModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/BrandingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,qBAAa,aAAa;IACtB,EAAE,EAAE,MAAM,CAAM;IAChB,IAAI,EAAE,MAAM,CAAM;IAClB,GAAG,EAAE,MAAM,CAAM;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,SAAS,EAAE,CAAM;CAC3B"}
1
+ {"version":3,"file":"BrandingModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/BrandingModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAE/D,qBAAa,aAAa;IACtB,EAAE,EAAE,MAAM,CAAM;IAChB,IAAI,EAAE,MAAM,CAAM;IAClB,GAAG,EAAE,MAAM,CAAM;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,SAAS,EAAE,CAAM;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -8,6 +8,12 @@ class BrandingModel {
8
8
  logo;
9
9
  favicon;
10
10
  roles = [];
11
+ variables;
12
+ version;
13
+ hash;
14
+ typeface;
15
+ draftTypeface;
16
+ draftRevision;
11
17
  }
12
18
  exports.BrandingModel = BrandingModel;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhbmRpbmdNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9zdG9yYWdlL0JyYW5kaW5nTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBYSxhQUFhO0lBQ3RCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixHQUFHLEdBQVcsRUFBRSxDQUFDO0lBQ2pCLElBQUksQ0FBMkI7SUFDL0IsT0FBTyxDQUEyQjtJQUNsQyxLQUFLLEdBQWdCLEVBQUUsQ0FBQztDQUMzQjtBQVBELHNDQU9DIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJhbmRpbmdNb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RlbC9zdG9yYWdlL0JyYW5kaW5nTW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsTUFBYSxhQUFhO0lBQ3RCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsSUFBSSxHQUFXLEVBQUUsQ0FBQztJQUNsQixHQUFHLEdBQVcsRUFBRSxDQUFDO0lBQ2pCLElBQUksQ0FBMkI7SUFDL0IsT0FBTyxDQUEyQjtJQUNsQyxLQUFLLEdBQWdCLEVBQUUsQ0FBQztJQUN4QixTQUFTLENBQTBCO0lBQ25DLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQVU7SUFDZCxRQUFRLENBQWdDO0lBQ3hDLGFBQWEsQ0FBZ0M7SUFDN0MsYUFBYSxDQUFVO0NBQzFCO0FBYkQsc0NBYUMifQ==
@@ -1,6 +1,41 @@
1
1
  import { RecordModel } from './RecordModel';
2
+ import { type RecordConcurrencyResolution } from '@researchdatabox/sails-ng-common';
3
+ export declare const DELETED_RECORD_LIFECYCLE_STATES: readonly ["delete-pending", "deleted", "restore-pending", "purge-pending", "recovery-required"];
4
+ export type DeletedRecordLifecycleState = (typeof DELETED_RECORD_LIFECYCLE_STATES)[number];
5
+ export declare const DELETED_RECORD_LIFECYCLE_OPERATION_KINDS: readonly ["delete", "restore", "purge"];
6
+ export type DeletedRecordLifecycleOperationKind = (typeof DELETED_RECORD_LIFECYCLE_OPERATION_KINDS)[number];
7
+ export interface DeletedRecordLifecycleOperation {
8
+ /** Server-generated durable ownership identity. It is not a public request idempotency key. */
9
+ operationId: string;
10
+ kind: DeletedRecordLifecycleOperationKind;
11
+ /** Correlation identity of the public/internal request that began the operation. */
12
+ requestId: string;
13
+ sourceRevision: number;
14
+ targetRevision: number;
15
+ startedAt: string;
16
+ updatedAt: string;
17
+ attempts: number;
18
+ errorCode?: string;
19
+ resolution?: RecordConcurrencyResolution;
20
+ resolutionOfRequestId?: string;
21
+ }
22
+ export declare function isDeletedRecordLifecycleState(value: unknown): value is DeletedRecordLifecycleState;
23
+ export declare function isDeletedRecordLifecycleOperationKind(value: unknown): value is DeletedRecordLifecycleOperationKind;
24
+ /**
25
+ * Pending/final lifecycle states are owned by one compatible operation kind.
26
+ * `recovery-required` deliberately retains whichever operation was interrupted.
27
+ */
28
+ export declare function isDeletedRecordLifecycleOperationForState(state: DeletedRecordLifecycleState, kind: DeletedRecordLifecycleOperationKind): boolean;
29
+ export declare function isDeletedRecordLifecycleOperation(value: unknown): value is DeletedRecordLifecycleOperation;
2
30
  export interface DeletedRecordModel {
3
31
  redboxOid: string;
32
+ /** Sole authority for the current tombstone lifecycle revision. */
33
+ revision: number;
34
+ /** Durable server-owned identity shared with the active lifecycle lineage. */
35
+ incarnationId?: string;
36
+ brandId?: string;
37
+ lifecycleState: DeletedRecordLifecycleState;
38
+ lifecycleOperation?: DeletedRecordLifecycleOperation;
4
39
  deletedRecordMetadata: RecordModel;
5
40
  dateDeleted: string;
6
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeletedRecordModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/DeletedRecordModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,WAAW,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"DeletedRecordModel.d.ts","sourceRoot":"","sources":["../../../src/model/storage/DeletedRecordModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAIL,KAAK,2BAA2B,EACjC,MAAM,kCAAkC,CAAC;AAC1C,eAAO,MAAM,+BAA+B,iGAMlC,CAAC;AAEX,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3F,eAAO,MAAM,wCAAwC,yCAA0C,CAAC;AAEhG,MAAM,MAAM,mCAAmC,GAAG,CAAC,OAAO,wCAAwC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5G,MAAM,WAAW,+BAA+B;IAC9C,+FAA+F;IAC/F,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,mCAAmC,CAAC;IAC1C,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAID,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,2BAA2B,CAElG;AAED,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mCAAmC,CAElH;AAED;;;GAGG;AACH,wBAAgB,yCAAyC,CACvD,KAAK,EAAE,2BAA2B,EAClC,IAAI,EAAE,mCAAmC,GACxC,OAAO,CAYT;AAED,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,+BAA+B,CAuB1G;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,2BAA2B,CAAC;IAC5C,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IACrD,qBAAqB,EAAE,WAAW,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -1,3 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVsZXRlZFJlY29yZE1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3N0b3JhZ2UvRGVsZXRlZFJlY29yZE1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
3
+ exports.DELETED_RECORD_LIFECYCLE_OPERATION_KINDS = exports.DELETED_RECORD_LIFECYCLE_STATES = void 0;
4
+ exports.isDeletedRecordLifecycleState = isDeletedRecordLifecycleState;
5
+ exports.isDeletedRecordLifecycleOperationKind = isDeletedRecordLifecycleOperationKind;
6
+ exports.isDeletedRecordLifecycleOperationForState = isDeletedRecordLifecycleOperationForState;
7
+ exports.isDeletedRecordLifecycleOperation = isDeletedRecordLifecycleOperation;
8
+ const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
9
+ exports.DELETED_RECORD_LIFECYCLE_STATES = [
10
+ 'delete-pending',
11
+ 'deleted',
12
+ 'restore-pending',
13
+ 'purge-pending',
14
+ 'recovery-required',
15
+ ];
16
+ exports.DELETED_RECORD_LIFECYCLE_OPERATION_KINDS = ['delete', 'restore', 'purge'];
17
+ const SAFE_LIFECYCLE_ERROR_CODE = /^[a-z0-9][a-z0-9-]{0,63}$/;
18
+ function isDeletedRecordLifecycleState(value) {
19
+ return typeof value === 'string' && exports.DELETED_RECORD_LIFECYCLE_STATES.includes(value);
20
+ }
21
+ function isDeletedRecordLifecycleOperationKind(value) {
22
+ return typeof value === 'string' && exports.DELETED_RECORD_LIFECYCLE_OPERATION_KINDS.includes(value);
23
+ }
24
+ /**
25
+ * Pending/final lifecycle states are owned by one compatible operation kind.
26
+ * `recovery-required` deliberately retains whichever operation was interrupted.
27
+ */
28
+ function isDeletedRecordLifecycleOperationForState(state, kind) {
29
+ switch (state) {
30
+ case 'delete-pending':
31
+ case 'deleted':
32
+ return kind === 'delete';
33
+ case 'restore-pending':
34
+ return kind === 'restore';
35
+ case 'purge-pending':
36
+ return kind === 'purge';
37
+ case 'recovery-required':
38
+ return true;
39
+ }
40
+ }
41
+ function isDeletedRecordLifecycleOperation(value) {
42
+ if (value == null || typeof value !== 'object' || Array.isArray(value))
43
+ return false;
44
+ const operation = value;
45
+ return ((0, sails_ng_common_1.isRecordSaveRequestId)(operation.operationId) &&
46
+ isDeletedRecordLifecycleOperationKind(operation.kind) &&
47
+ (0, sails_ng_common_1.isRecordSaveRequestId)(operation.requestId) &&
48
+ (0, sails_ng_common_1.isRecordRevision)(operation.sourceRevision) &&
49
+ (0, sails_ng_common_1.isRecordRevision)(operation.targetRevision) &&
50
+ operation.targetRevision > operation.sourceRevision &&
51
+ typeof operation.startedAt === 'string' &&
52
+ operation.startedAt.length <= 64 &&
53
+ Number.isFinite(Date.parse(operation.startedAt)) &&
54
+ typeof operation.updatedAt === 'string' &&
55
+ operation.updatedAt.length <= 64 &&
56
+ Number.isFinite(Date.parse(operation.updatedAt)) &&
57
+ Number.isSafeInteger(operation.attempts) &&
58
+ operation.attempts >= 0 &&
59
+ (operation.errorCode === undefined ||
60
+ (typeof operation.errorCode === 'string' && SAFE_LIFECYCLE_ERROR_CODE.test(operation.errorCode))) &&
61
+ (operation.resolution === undefined || (0, sails_ng_common_1.isRecordConcurrencyResolution)(operation.resolution)) &&
62
+ (operation.resolutionOfRequestId === undefined || (0, sails_ng_common_1.isRecordSaveRequestId)(operation.resolutionOfRequestId)));
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVsZXRlZFJlY29yZE1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3N0b3JhZ2UvRGVsZXRlZFJlY29yZE1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVDQSxzRUFFQztBQUVELHNGQUVDO0FBTUQsOEZBZUM7QUFFRCw4RUF1QkM7QUExRkQsc0VBSzBDO0FBQzdCLFFBQUEsK0JBQStCLEdBQUc7SUFDN0MsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxpQkFBaUI7SUFDakIsZUFBZTtJQUNmLG1CQUFtQjtDQUNYLENBQUM7QUFJRSxRQUFBLHdDQUF3QyxHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQVUsQ0FBQztBQW9CaEcsTUFBTSx5QkFBeUIsR0FBRywyQkFBMkIsQ0FBQztBQUU5RCxTQUFnQiw2QkFBNkIsQ0FBQyxLQUFjO0lBQzFELE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFLLHVDQUFxRCxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM3RyxDQUFDO0FBRUQsU0FBZ0IscUNBQXFDLENBQUMsS0FBYztJQUNsRSxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSyxnREFBOEQsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdEgsQ0FBQztBQUVEOzs7R0FHRztBQUNILFNBQWdCLHlDQUF5QyxDQUN2RCxLQUFrQyxFQUNsQyxJQUF5QztJQUV6QyxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxnQkFBZ0IsQ0FBQztRQUN0QixLQUFLLFNBQVM7WUFDWixPQUFPLElBQUksS0FBSyxRQUFRLENBQUM7UUFDM0IsS0FBSyxpQkFBaUI7WUFDcEIsT0FBTyxJQUFJLEtBQUssU0FBUyxDQUFDO1FBQzVCLEtBQUssZUFBZTtZQUNsQixPQUFPLElBQUksS0FBSyxPQUFPLENBQUM7UUFDMUIsS0FBSyxtQkFBbUI7WUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFnQixpQ0FBaUMsQ0FBQyxLQUFjO0lBQzlELElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNyRixNQUFNLFNBQVMsR0FBRyxLQUFnQyxDQUFDO0lBQ25ELE9BQU8sQ0FDTCxJQUFBLHVDQUFxQixFQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7UUFDNUMscUNBQXFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztRQUNyRCxJQUFBLHVDQUFxQixFQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7UUFDMUMsSUFBQSxrQ0FBZ0IsRUFBQyxTQUFTLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUEsa0NBQWdCLEVBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQztRQUMxQyxTQUFTLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxjQUFjO1FBQ25ELE9BQU8sU0FBUyxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ3ZDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEVBQUU7UUFDaEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxPQUFPLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUTtRQUN2QyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxFQUFFO1FBQ2hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLFNBQVMsQ0FBQyxRQUFtQixJQUFJLENBQUM7UUFDbkMsQ0FBQyxTQUFTLENBQUMsU0FBUyxLQUFLLFNBQVM7WUFDaEMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxTQUFTLEtBQUssUUFBUSxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNuRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEtBQUssU0FBUyxJQUFJLElBQUEsK0NBQTZCLEVBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzNGLENBQUMsU0FBUyxDQUFDLHFCQUFxQixLQUFLLFNBQVMsSUFBSSxJQUFBLHVDQUFxQixFQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQzFHLENBQUM7QUFDSixDQUFDIn0=