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

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 (616) hide show
  1. package/dist/CoreController.d.ts +3 -7
  2. package/dist/CoreController.d.ts.map +1 -1
  3. package/dist/CoreController.js +3 -85
  4. package/dist/DatastreamService.d.ts +2 -4
  5. package/dist/DatastreamService.d.ts.map +1 -1
  6. package/dist/HarvestRunService.d.ts +3 -4
  7. package/dist/HarvestRunService.d.ts.map +1 -1
  8. package/dist/HarvestRunService.js +1 -1
  9. package/dist/QueueService.d.ts +1 -1
  10. package/dist/QueueService.d.ts.map +1 -1
  11. package/dist/RecordWriteOptions.d.ts +21 -0
  12. package/dist/RecordWriteOptions.d.ts.map +1 -0
  13. package/dist/RecordWriteOptions.js +17 -0
  14. package/dist/RecordsService.d.ts +14 -105
  15. package/dist/RecordsService.d.ts.map +1 -1
  16. package/dist/RecordsService.js +1 -44
  17. package/dist/SearchService.d.ts +1 -2
  18. package/dist/SearchService.d.ts.map +1 -1
  19. package/dist/StorageService.d.ts +20 -48
  20. package/dist/StorageService.d.ts.map +1 -1
  21. package/dist/StorageService.js +1 -19
  22. package/dist/StorageServiceResponse.d.ts +1 -22
  23. package/dist/StorageServiceResponse.d.ts.map +1 -1
  24. package/dist/StorageServiceResponse.js +4 -22
  25. package/dist/api-routes/groups/branding.d.ts +0 -8
  26. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  27. package/dist/api-routes/groups/branding.js +11 -86
  28. package/dist/api-routes/groups/dashboard-config.d.ts +9 -12
  29. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
  30. package/dist/api-routes/groups/dashboard-config.js +73 -136
  31. package/dist/api-routes/groups/forms.d.ts.map +1 -1
  32. package/dist/api-routes/groups/forms.js +2 -10
  33. package/dist/api-routes/groups/records.d.ts +0 -1
  34. package/dist/api-routes/groups/records.d.ts.map +1 -1
  35. package/dist/api-routes/groups/records.js +26 -141
  36. package/dist/api-routes/index.d.ts +0 -3
  37. package/dist/api-routes/index.d.ts.map +1 -1
  38. package/dist/api-routes/index.js +1 -4
  39. package/dist/api-routes/openapi.d.ts.map +1 -1
  40. package/dist/api-routes/openapi.js +5 -7
  41. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  42. package/dist/api-routes/request-extraction.js +8 -10
  43. package/dist/api-routes/route-factory.d.ts.map +1 -1
  44. package/dist/api-routes/route-factory.js +1 -2
  45. package/dist/api-routes/route-registry.d.ts.map +1 -1
  46. package/dist/api-routes/route-registry.js +1 -3
  47. package/dist/api-routes/schemas/common.d.ts +0 -36
  48. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  49. package/dist/api-routes/schemas/common.js +5 -95
  50. package/dist/api-routes/schemas/responses.d.ts +1 -1424
  51. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  52. package/dist/api-routes/schemas/responses.js +60 -382
  53. package/dist/api-routes/types.d.ts +0 -1
  54. package/dist/api-routes/types.d.ts.map +1 -1
  55. package/dist/api-routes/validation.d.ts +1 -5
  56. package/dist/api-routes/validation.d.ts.map +1 -1
  57. package/dist/api-routes/validation.js +15 -14
  58. package/dist/bootstrap.d.ts +1 -3
  59. package/dist/bootstrap.d.ts.map +1 -1
  60. package/dist/bootstrap.js +41 -58
  61. package/dist/config/agendaQueue.config.d.ts +0 -3
  62. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  63. package/dist/config/agendaQueue.config.js +11 -29
  64. package/dist/config/branding.config.d.ts +0 -13
  65. package/dist/config/branding.config.d.ts.map +1 -1
  66. package/dist/config/branding.config.js +2 -34
  67. package/dist/config/brandingConfigurationDefaults.config.d.ts +0 -4
  68. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  69. package/dist/config/brandingConfigurationDefaults.config.js +3 -42
  70. package/dist/config/datapubs.config.d.ts +72 -0
  71. package/dist/config/datapubs.config.d.ts.map +1 -0
  72. package/dist/config/datapubs.config.js +74 -0
  73. package/dist/config/i18n.config.d.ts +4 -0
  74. package/dist/config/i18n.config.d.ts.map +1 -1
  75. package/dist/config/i18n.config.js +1 -1
  76. package/dist/config/index.d.ts +4 -12
  77. package/dist/config/index.d.ts.map +1 -1
  78. package/dist/config/index.js +4 -7
  79. package/dist/config/policies.config.d.ts.map +1 -1
  80. package/dist/config/policies.config.js +23 -37
  81. package/dist/config/raid.config.d.ts +4 -7
  82. package/dist/config/raid.config.d.ts.map +1 -1
  83. package/dist/config/raid.config.js +35 -21
  84. package/dist/config/record.config.d.ts +0 -3
  85. package/dist/config/record.config.d.ts.map +1 -1
  86. package/dist/config/record.config.js +35 -37
  87. package/dist/config/recordtype.config.d.ts +9 -32
  88. package/dist/config/recordtype.config.d.ts.map +1 -1
  89. package/dist/config/recordtype.config.js +7 -4
  90. package/dist/config/routes.config.d.ts.map +1 -1
  91. package/dist/config/routes.config.js +53 -135
  92. package/dist/config/session.config.d.ts +2 -2
  93. package/dist/config/session.config.d.ts.map +1 -1
  94. package/dist/config/workflow.config.d.ts +0 -6
  95. package/dist/config/workflow.config.d.ts.map +1 -1
  96. package/dist/config/workflow.config.js +1 -1
  97. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  98. package/dist/configmodels/AdminSidebarConfig.js +2 -4
  99. package/dist/configmodels/ConfigModels.d.ts +1 -1
  100. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  101. package/dist/configmodels/ConfigModels.js +9 -26
  102. package/dist/configmodels/FigsharePublishing.d.ts +103 -0
  103. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  104. package/dist/configmodels/FigsharePublishing.js +36 -2
  105. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  106. package/dist/controllers/AppConfigController.js +1 -4
  107. package/dist/controllers/BrandingAppController.d.ts +7 -29
  108. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  109. package/dist/controllers/BrandingAppController.js +69 -265
  110. package/dist/controllers/BrandingController.d.ts +1 -24
  111. package/dist/controllers/BrandingController.d.ts.map +1 -1
  112. package/dist/controllers/BrandingController.js +43 -173
  113. package/dist/controllers/DashboardConfigController.d.ts +2 -6
  114. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  115. package/dist/controllers/DashboardConfigController.js +4 -18
  116. package/dist/controllers/DynamicAssetController.d.ts +5 -7
  117. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  118. package/dist/controllers/DynamicAssetController.js +12 -21
  119. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  120. package/dist/controllers/RecordAuditController.js +24 -6
  121. package/dist/controllers/RecordController.d.ts +4 -45
  122. package/dist/controllers/RecordController.d.ts.map +1 -1
  123. package/dist/controllers/RecordController.js +345 -778
  124. package/dist/controllers/index.d.ts.map +1 -1
  125. package/dist/controllers/index.js +1 -4
  126. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  127. package/dist/controllers/webservice/AdminController.js +3 -4
  128. package/dist/controllers/webservice/BrandingController.d.ts +1 -26
  129. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  130. package/dist/controllers/webservice/BrandingController.js +116 -292
  131. package/dist/controllers/webservice/DashboardConfigController.d.ts +17 -25
  132. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  133. package/dist/controllers/webservice/DashboardConfigController.js +205 -90
  134. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  135. package/dist/controllers/webservice/FormManagementController.js +3 -37
  136. package/dist/controllers/webservice/RecordController.d.ts +1 -15
  137. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  138. package/dist/controllers/webservice/RecordController.js +267 -647
  139. package/dist/controllers/webservice/RecordTypeController.d.ts +1 -6
  140. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  141. package/dist/controllers/webservice/RecordTypeController.js +3 -21
  142. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  143. package/dist/controllers/webservice/SearchController.js +3 -7
  144. package/dist/hooks/defineRedboxHook.d.ts +0 -3
  145. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  146. package/dist/hooks/defineRedboxHook.js +1 -4
  147. package/dist/index.d.ts +25 -50
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +4 -90
  150. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  151. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  152. package/dist/loader/bootstrapShimRuntime.js +12 -20
  153. package/dist/loader/index.d.ts +0 -9
  154. package/dist/loader/index.d.ts.map +1 -1
  155. package/dist/loader/index.js +4 -93
  156. package/dist/middleware/redboxSession.d.ts.map +1 -1
  157. package/dist/middleware/redboxSession.js +15 -3
  158. package/dist/model/BuildResponse.d.ts +11 -25
  159. package/dist/model/BuildResponse.d.ts.map +1 -1
  160. package/dist/model/BuildResponse.js +3 -4
  161. package/dist/model/DashboardTypeResponseModel.d.ts +0 -6
  162. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  163. package/dist/model/DashboardTypeResponseModel.js +1 -7
  164. package/dist/model/DashboardViewResponseModel.d.ts +1 -5
  165. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  166. package/dist/model/DashboardViewResponseModel.js +3 -6
  167. package/dist/model/RBValidationError.d.ts +0 -17
  168. package/dist/model/RBValidationError.d.ts.map +1 -1
  169. package/dist/model/RBValidationError.js +1 -37
  170. package/dist/model/RecordTypeResponseModel.d.ts +4 -12
  171. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  172. package/dist/model/RecordTypeResponseModel.js +2 -11
  173. package/dist/model/index.d.ts +1 -5
  174. package/dist/model/index.d.ts.map +1 -1
  175. package/dist/model/index.js +2 -5
  176. package/dist/model/storage/BrandingModel.d.ts +0 -7
  177. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  178. package/dist/model/storage/BrandingModel.js +1 -7
  179. package/dist/model/storage/DeletedRecordModel.d.ts +0 -35
  180. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  181. package/dist/model/storage/DeletedRecordModel.js +1 -62
  182. package/dist/model/storage/FigshareSyncModel.d.ts +126 -0
  183. package/dist/model/storage/FigshareSyncModel.d.ts.map +1 -0
  184. package/dist/model/storage/FigshareSyncModel.js +3 -0
  185. package/dist/model/storage/IntegrationAuditModel.d.ts +2 -16
  186. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  187. package/dist/model/storage/IntegrationAuditModel.js +1 -15
  188. package/dist/model/storage/RecordAuditModel.d.ts +4 -11
  189. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  190. package/dist/model/storage/RecordAuditModel.js +30 -8
  191. package/dist/model/storage/RecordModel.d.ts +3 -6
  192. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  193. package/dist/model/storage/RecordTypeModel.d.ts +0 -6
  194. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  195. package/dist/model/storage/RecordTypeModel.js +1 -4
  196. package/dist/model/storage/index.d.ts +10 -12
  197. package/dist/model/storage/index.d.ts.map +1 -1
  198. package/dist/model/storage/index.js +2 -24
  199. package/dist/policies/checkAuth.d.ts +6 -2
  200. package/dist/policies/checkAuth.d.ts.map +1 -1
  201. package/dist/policies/checkAuth.js +9 -32
  202. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  203. package/dist/policies/contentSecurityPolicy.js +2 -85
  204. package/dist/policies/index.d.ts +2 -3
  205. package/dist/policies/index.d.ts.map +1 -1
  206. package/dist/policies/index.js +2 -4
  207. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  208. package/dist/policies/validateApiContractRequest.js +11 -49
  209. package/dist/services/AgendaQueueService.d.ts +1 -1
  210. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  211. package/dist/services/AgendaQueueService.js +7 -4
  212. package/dist/services/AppConfigService.d.ts +0 -6
  213. package/dist/services/AppConfigService.d.ts.map +1 -1
  214. package/dist/services/AppConfigService.js +1 -23
  215. package/dist/services/AttachmentMetadataService.d.ts +0 -58
  216. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  217. package/dist/services/AttachmentMetadataService.js +8 -643
  218. package/dist/services/BrandingLogoService.d.ts +1 -6
  219. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  220. package/dist/services/BrandingLogoService.js +9 -77
  221. package/dist/services/BrandingService.d.ts +9 -171
  222. package/dist/services/BrandingService.d.ts.map +1 -1
  223. package/dist/services/BrandingService.js +68 -572
  224. package/dist/services/BrandingThemeCssService.d.ts +1 -17
  225. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  226. package/dist/services/BrandingThemeCssService.js +12 -71
  227. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  228. package/dist/services/BrandingThemeTokens.js +2 -1
  229. package/dist/services/DashboardConfigService.d.ts +54 -214
  230. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  231. package/dist/services/DashboardConfigService.js +261 -829
  232. package/dist/services/DashboardTypesService.d.ts +4 -15
  233. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  234. package/dist/services/DashboardTypesService.js +139 -72
  235. package/dist/services/DoiService.d.ts +1 -1
  236. package/dist/services/DoiService.d.ts.map +1 -1
  237. package/dist/services/DoiService.js +45 -71
  238. package/dist/services/FigshareService.d.ts +15 -10
  239. package/dist/services/FigshareService.d.ts.map +1 -1
  240. package/dist/services/FigshareService.js +82 -583
  241. package/dist/services/FormRecordConsistencyService.d.ts +23 -8
  242. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  243. package/dist/services/FormRecordConsistencyService.js +70 -54
  244. package/dist/services/FormsService.d.ts +2 -91
  245. package/dist/services/FormsService.d.ts.map +1 -1
  246. package/dist/services/FormsService.js +64 -324
  247. package/dist/services/HarvestRunService.d.ts +3 -6
  248. package/dist/services/HarvestRunService.d.ts.map +1 -1
  249. package/dist/services/HarvestRunService.js +97 -161
  250. package/dist/services/I18nEntriesService.d.ts +2 -1
  251. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  252. package/dist/services/I18nEntriesService.js +45 -30
  253. package/dist/services/OniService.d.ts +62 -19
  254. package/dist/services/OniService.d.ts.map +1 -1
  255. package/dist/services/OniService.js +691 -223
  256. package/dist/services/RDMPService.d.ts +1 -1
  257. package/dist/services/RDMPService.d.ts.map +1 -1
  258. package/dist/services/RDMPService.js +5 -5
  259. package/dist/services/RaidService.d.ts +61 -19
  260. package/dist/services/RaidService.d.ts.map +1 -1
  261. package/dist/services/RaidService.js +530 -191
  262. package/dist/services/RecordTypesService.d.ts +0 -29
  263. package/dist/services/RecordTypesService.d.ts.map +1 -1
  264. package/dist/services/RecordTypesService.js +11 -106
  265. package/dist/services/RecordsService.d.ts +26 -313
  266. package/dist/services/RecordsService.d.ts.map +1 -1
  267. package/dist/services/RecordsService.js +763 -5089
  268. package/dist/services/SolrSearchService.d.ts +1 -1
  269. package/dist/services/SolrSearchService.d.ts.map +1 -1
  270. package/dist/services/SolrSearchService.js +12 -42
  271. package/dist/services/StandardDatastreamService.d.ts +5 -4
  272. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  273. package/dist/services/StandardDatastreamService.js +61 -106
  274. package/dist/services/TriggerService.d.ts.map +1 -1
  275. package/dist/services/TriggerService.js +30 -54
  276. package/dist/services/UsersService.d.ts +1 -2
  277. package/dist/services/UsersService.d.ts.map +1 -1
  278. package/dist/services/UsersService.js +283 -364
  279. package/dist/services/VocabularyService.d.ts +0 -2
  280. package/dist/services/VocabularyService.d.ts.map +1 -1
  281. package/dist/services/VocabularyService.js +2 -61
  282. package/dist/services/WorkflowStepsService.d.ts +0 -11
  283. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  284. package/dist/services/WorkflowStepsService.js +3 -32
  285. package/dist/services/WorkspaceService.d.ts +2 -2
  286. package/dist/services/WorkspaceService.d.ts.map +1 -1
  287. package/dist/services/WorkspaceService.js +5 -5
  288. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  289. package/dist/services/doi-v2/bindings.js +20 -3
  290. package/dist/services/doi-v2/config.d.ts +0 -1
  291. package/dist/services/doi-v2/config.d.ts.map +1 -1
  292. package/dist/services/doi-v2/config.js +5 -13
  293. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  294. package/dist/services/doi-v2/runtime.js +54 -14
  295. package/dist/services/figshare-v2/admin.d.ts +16 -0
  296. package/dist/services/figshare-v2/admin.d.ts.map +1 -0
  297. package/dist/services/figshare-v2/admin.js +283 -0
  298. package/dist/services/figshare-v2/assets.d.ts +20 -1
  299. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  300. package/dist/services/figshare-v2/assets.js +16 -1
  301. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  302. package/dist/services/figshare-v2/bindings.js +20 -3
  303. package/dist/services/figshare-v2/config.d.ts +8 -2
  304. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  305. package/dist/services/figshare-v2/config.js +31 -3
  306. package/dist/services/figshare-v2/execution.d.ts +25 -0
  307. package/dist/services/figshare-v2/execution.d.ts.map +1 -0
  308. package/dist/services/figshare-v2/execution.js +49 -0
  309. package/dist/services/figshare-v2/http.d.ts +6 -1
  310. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  311. package/dist/services/figshare-v2/http.js +69 -12
  312. package/dist/services/figshare-v2/identity.d.ts +12 -0
  313. package/dist/services/figshare-v2/identity.d.ts.map +1 -0
  314. package/dist/services/figshare-v2/identity.js +78 -0
  315. package/dist/services/figshare-v2/managed-assets.d.ts +9 -0
  316. package/dist/services/figshare-v2/managed-assets.d.ts.map +1 -0
  317. package/dist/services/figshare-v2/managed-assets.js +229 -0
  318. package/dist/services/figshare-v2/plan.d.ts.map +1 -1
  319. package/dist/services/figshare-v2/plan.js +2 -9
  320. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  321. package/dist/services/figshare-v2/runtime.js +58 -11
  322. package/dist/services/figshare-v2/source-intent.d.ts +9 -0
  323. package/dist/services/figshare-v2/source-intent.d.ts.map +1 -0
  324. package/dist/services/figshare-v2/source-intent.js +93 -0
  325. package/dist/services/figshare-v2/status.d.ts +4 -0
  326. package/dist/services/figshare-v2/status.d.ts.map +1 -0
  327. package/dist/services/figshare-v2/status.js +29 -0
  328. package/dist/services/figshare-v2/sync-store.d.ts +27 -0
  329. package/dist/services/figshare-v2/sync-store.d.ts.map +1 -0
  330. package/dist/services/figshare-v2/sync-store.js +139 -0
  331. package/dist/services/figshare-v2/types.d.ts +3 -0
  332. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  333. package/dist/services/figshare-v2/types.js +1 -1
  334. package/dist/services/figshare-v2/worker.d.ts +16 -0
  335. package/dist/services/figshare-v2/worker.d.ts.map +1 -0
  336. package/dist/services/figshare-v2/worker.js +572 -0
  337. package/dist/services/index.d.ts +0 -9
  338. package/dist/services/index.d.ts.map +1 -1
  339. package/dist/services/index.js +3 -45
  340. package/dist/utilities/TranslationHtml.d.ts +3 -0
  341. package/dist/utilities/TranslationHtml.d.ts.map +1 -0
  342. package/dist/utilities/TranslationHtml.js +46 -0
  343. package/dist/visitor/client.visitor.d.ts +0 -6
  344. package/dist/visitor/client.visitor.d.ts.map +1 -1
  345. package/dist/visitor/client.visitor.js +14 -59
  346. package/dist/visitor/construct.visitor.d.ts +1 -27
  347. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  348. package/dist/visitor/construct.visitor.js +177 -265
  349. package/dist/visitor/context-variables.visitor.d.ts +1 -3
  350. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  351. package/dist/visitor/context-variables.visitor.js +1 -15
  352. package/dist/visitor/data-value.visitor.d.ts +0 -6
  353. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  354. package/dist/visitor/data-value.visitor.js +1 -10
  355. package/dist/visitor/json-type-def.visitor.d.ts +0 -6
  356. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  357. package/dist/visitor/json-type-def.visitor.js +1 -10
  358. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +0 -11
  359. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  360. package/dist/visitor/migrate-config-v4-v5.visitor.js +133 -228
  361. package/dist/visitor/template.visitor.d.ts +2 -17
  362. package/dist/visitor/template.visitor.d.ts.map +1 -1
  363. package/dist/visitor/template.visitor.js +22 -60
  364. package/dist/visitor/validator.visitor.d.ts +7 -49
  365. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  366. package/dist/visitor/validator.visitor.js +178 -275
  367. package/dist/waterline-models/AttachmentMetadata.d.ts +0 -22
  368. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  369. package/dist/waterline-models/AttachmentMetadata.js +3 -147
  370. package/dist/waterline-models/BrandingConfig.d.ts +0 -7
  371. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  372. package/dist/waterline-models/BrandingConfig.js +1 -16
  373. package/dist/waterline-models/BrandingConfigHistory.d.ts +2 -11
  374. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  375. package/dist/waterline-models/BrandingConfigHistory.js +1 -21
  376. package/dist/waterline-models/FigshareSync.d.ts +41 -0
  377. package/dist/waterline-models/FigshareSync.d.ts.map +1 -0
  378. package/dist/waterline-models/FigshareSync.js +168 -0
  379. package/dist/waterline-models/RecordType.d.ts +0 -9
  380. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  381. package/dist/waterline-models/RecordType.js +1 -16
  382. package/dist/waterline-models/User.d.ts +2 -2
  383. package/dist/waterline-models/User.d.ts.map +1 -1
  384. package/dist/waterline-models/User.js +17 -12
  385. package/dist/waterline-models/index.d.ts +2 -2
  386. package/dist/waterline-models/index.d.ts.map +1 -1
  387. package/dist/waterline-models/index.js +4 -4
  388. package/package.json +46 -59
  389. package/dist/AttachmentStagingIdentity.d.ts +0 -3
  390. package/dist/AttachmentStagingIdentity.d.ts.map +0 -1
  391. package/dist/AttachmentStagingIdentity.js +0 -10
  392. package/dist/RecordConcurrencyObservability.d.ts +0 -51
  393. package/dist/RecordConcurrencyObservability.d.ts.map +0 -1
  394. package/dist/RecordConcurrencyObservability.js +0 -136
  395. package/dist/RecordEntityTag.d.ts +0 -31
  396. package/dist/RecordEntityTag.d.ts.map +0 -1
  397. package/dist/RecordEntityTag.js +0 -101
  398. package/dist/RecordFormFingerprint.d.ts +0 -7
  399. package/dist/RecordFormFingerprint.d.ts.map +0 -1
  400. package/dist/RecordFormFingerprint.js +0 -106
  401. package/dist/RecordHttpConcurrency.d.ts +0 -60
  402. package/dist/RecordHttpConcurrency.d.ts.map +0 -1
  403. package/dist/RecordHttpConcurrency.js +0 -181
  404. package/dist/RecordSaveResponse.d.ts +0 -219
  405. package/dist/RecordSaveResponse.d.ts.map +0 -1
  406. package/dist/RecordSaveResponse.js +0 -639
  407. package/dist/RecordStorageConcurrency.d.ts +0 -48
  408. package/dist/RecordStorageConcurrency.d.ts.map +0 -1
  409. package/dist/RecordStorageConcurrency.js +0 -103
  410. package/dist/RecordWriteClassification.d.ts +0 -12
  411. package/dist/RecordWriteClassification.d.ts.map +0 -1
  412. package/dist/RecordWriteClassification.js +0 -70
  413. package/dist/action-execution/audit.d.ts +0 -41
  414. package/dist/action-execution/audit.d.ts.map +0 -1
  415. package/dist/action-execution/audit.js +0 -122
  416. package/dist/action-execution/executor.d.ts +0 -24
  417. package/dist/action-execution/executor.d.ts.map +0 -1
  418. package/dist/action-execution/executor.js +0 -435
  419. package/dist/action-execution/failure.d.ts +0 -49
  420. package/dist/action-execution/failure.d.ts.map +0 -1
  421. package/dist/action-execution/failure.js +0 -129
  422. package/dist/action-execution/index.d.ts +0 -7
  423. package/dist/action-execution/index.d.ts.map +0 -1
  424. package/dist/action-execution/index.js +0 -23
  425. package/dist/action-execution/legacy-result.d.ts +0 -21
  426. package/dist/action-execution/legacy-result.d.ts.map +0 -1
  427. package/dist/action-execution/legacy-result.js +0 -70
  428. package/dist/action-execution/policy.d.ts +0 -12
  429. package/dist/action-execution/policy.d.ts.map +0 -1
  430. package/dist/action-execution/policy.js +0 -138
  431. package/dist/action-execution/types.d.ts +0 -121
  432. package/dist/action-execution/types.d.ts.map +0 -1
  433. package/dist/action-execution/types.js +0 -22
  434. package/dist/api-routes/groups/record-schemas.d.ts +0 -5
  435. package/dist/api-routes/groups/record-schemas.d.ts.map +0 -1
  436. package/dist/api-routes/groups/record-schemas.js +0 -181
  437. package/dist/api-routes/record-schema-openapi.d.ts +0 -26
  438. package/dist/api-routes/record-schema-openapi.d.ts.map +0 -1
  439. package/dist/api-routes/record-schema-openapi.js +0 -38
  440. package/dist/api-routes/record-schema-response.d.ts +0 -40
  441. package/dist/api-routes/record-schema-response.d.ts.map +0 -1
  442. package/dist/api-routes/record-schema-response.js +0 -89
  443. package/dist/config/recordSchema.config.d.ts +0 -68
  444. package/dist/config/recordSchema.config.d.ts.map +0 -1
  445. package/dist/config/recordSchema.config.js +0 -173
  446. package/dist/config/recordValidation.config.d.ts +0 -19
  447. package/dist/config/recordValidation.config.d.ts.map +0 -1
  448. package/dist/config/recordValidation.config.js +0 -10
  449. package/dist/configmodels/DashboardFieldCatalogue.d.ts +0 -67
  450. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +0 -1
  451. package/dist/configmodels/DashboardFieldCatalogue.js +0 -174
  452. package/dist/configmodels/DashboardSettings.d.ts +0 -191
  453. package/dist/configmodels/DashboardSettings.d.ts.map +0 -1
  454. package/dist/configmodels/DashboardSettings.js +0 -705
  455. package/dist/configmodels/OniPublishing.d.ts +0 -205
  456. package/dist/configmodels/OniPublishing.d.ts.map +0 -1
  457. package/dist/configmodels/OniPublishing.js +0 -335
  458. package/dist/configmodels/RaidPublishing.d.ts +0 -97
  459. package/dist/configmodels/RaidPublishing.d.ts.map +0 -1
  460. package/dist/configmodels/RaidPublishing.js +0 -35
  461. package/dist/configmodels/WebAnalytics.d.ts +0 -55
  462. package/dist/configmodels/WebAnalytics.d.ts.map +0 -1
  463. package/dist/configmodels/WebAnalytics.js +0 -61
  464. package/dist/controllers/BrandingControllerSupport.d.ts +0 -20
  465. package/dist/controllers/BrandingControllerSupport.d.ts.map +0 -1
  466. package/dist/controllers/BrandingControllerSupport.js +0 -80
  467. package/dist/controllers/webservice/RecordSchemaController.d.ts +0 -32
  468. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +0 -1
  469. package/dist/controllers/webservice/RecordSchemaController.js +0 -356
  470. package/dist/model/BrandingTypeface.d.ts +0 -70
  471. package/dist/model/BrandingTypeface.d.ts.map +0 -1
  472. package/dist/model/BrandingTypeface.js +0 -116
  473. package/dist/model/record-contract.d.ts +0 -42
  474. package/dist/model/record-contract.d.ts.map +0 -1
  475. package/dist/model/record-contract.js +0 -3
  476. package/dist/model/storage/record-schema.d.ts +0 -115
  477. package/dist/model/storage/record-schema.d.ts.map +0 -1
  478. package/dist/model/storage/record-schema.js +0 -3
  479. package/dist/record-contract/ajv-error-mapper.d.ts +0 -34
  480. package/dist/record-contract/ajv-error-mapper.d.ts.map +0 -1
  481. package/dist/record-contract/ajv-error-mapper.js +0 -153
  482. package/dist/record-contract/canonical-json.d.ts +0 -20
  483. package/dist/record-contract/canonical-json.d.ts.map +0 -1
  484. package/dist/record-contract/canonical-json.js +0 -126
  485. package/dist/record-contract/codes.d.ts +0 -36
  486. package/dist/record-contract/codes.d.ts.map +0 -1
  487. package/dist/record-contract/codes.js +0 -38
  488. package/dist/record-contract/contributor-registry.d.ts +0 -76
  489. package/dist/record-contract/contributor-registry.d.ts.map +0 -1
  490. package/dist/record-contract/contributor-registry.js +0 -126
  491. package/dist/record-contract/core-contributors.d.ts +0 -44
  492. package/dist/record-contract/core-contributors.d.ts.map +0 -1
  493. package/dist/record-contract/core-contributors.js +0 -395
  494. package/dist/record-contract/deep-freeze.d.ts +0 -3
  495. package/dist/record-contract/deep-freeze.d.ts.map +0 -1
  496. package/dist/record-contract/deep-freeze.js +0 -23
  497. package/dist/record-contract/index.d.ts +0 -13
  498. package/dist/record-contract/index.d.ts.map +0 -1
  499. package/dist/record-contract/index.js +0 -29
  500. package/dist/record-contract/json-pointer.d.ts +0 -20
  501. package/dist/record-contract/json-pointer.d.ts.map +0 -1
  502. package/dist/record-contract/json-pointer.js +0 -70
  503. package/dist/record-contract/json-schema-renderer.d.ts +0 -51
  504. package/dist/record-contract/json-schema-renderer.d.ts.map +0 -1
  505. package/dist/record-contract/json-schema-renderer.js +0 -450
  506. package/dist/record-contract/record-contract-compiler.d.ts +0 -42
  507. package/dist/record-contract/record-contract-compiler.d.ts.map +0 -1
  508. package/dist/record-contract/record-contract-compiler.js +0 -775
  509. package/dist/record-contract/record-contract-context.d.ts +0 -91
  510. package/dist/record-contract/record-contract-context.d.ts.map +0 -1
  511. package/dist/record-contract/record-contract-context.js +0 -39
  512. package/dist/record-contract/record-json-schema-artifact.d.ts +0 -74
  513. package/dist/record-contract/record-json-schema-artifact.d.ts.map +0 -1
  514. package/dist/record-contract/record-json-schema-artifact.js +0 -309
  515. package/dist/record-contract/record-json-schema-etag.d.ts +0 -15
  516. package/dist/record-contract/record-json-schema-etag.d.ts.map +0 -1
  517. package/dist/record-contract/record-json-schema-etag.js +0 -41
  518. package/dist/record-contract/types.d.ts +0 -151
  519. package/dist/record-contract/types.d.ts.map +0 -1
  520. package/dist/record-contract/types.js +0 -6
  521. package/dist/services/BrandingTypefaceService.d.ts +0 -74
  522. package/dist/services/BrandingTypefaceService.d.ts.map +0 -1
  523. package/dist/services/BrandingTypefaceService.js +0 -359
  524. package/dist/services/BrandingWoff2Inspector.d.ts +0 -17
  525. package/dist/services/BrandingWoff2Inspector.d.ts.map +0 -1
  526. package/dist/services/BrandingWoff2Inspector.js +0 -402
  527. package/dist/services/DashboardLegacyConversion.d.ts +0 -82
  528. package/dist/services/DashboardLegacyConversion.d.ts.map +0 -1
  529. package/dist/services/DashboardLegacyConversion.js +0 -427
  530. package/dist/services/RecordSchemaService.d.ts +0 -440
  531. package/dist/services/RecordSchemaService.d.ts.map +0 -1
  532. package/dist/services/RecordSchemaService.js +0 -3061
  533. package/dist/services/RecordValidationService.d.ts +0 -340
  534. package/dist/services/RecordValidationService.d.ts.map +0 -1
  535. package/dist/services/RecordValidationService.js +0 -1898
  536. package/dist/services/form-record-access-user.d.ts +0 -3
  537. package/dist/services/form-record-access-user.d.ts.map +0 -1
  538. package/dist/services/form-record-access-user.js +0 -23
  539. package/dist/services/integration-v2/bindings.d.ts +0 -3
  540. package/dist/services/integration-v2/bindings.d.ts.map +0 -1
  541. package/dist/services/integration-v2/bindings.js +0 -91
  542. package/dist/services/integration-v2/runtime.d.ts +0 -3
  543. package/dist/services/integration-v2/runtime.d.ts.map +0 -1
  544. package/dist/services/integration-v2/runtime.js +0 -50
  545. package/dist/services/internal-record-schema-authorization.d.ts +0 -8
  546. package/dist/services/internal-record-schema-authorization.d.ts.map +0 -1
  547. package/dist/services/internal-record-schema-authorization.js +0 -16
  548. package/dist/services/oni-v2/audit.d.ts +0 -19
  549. package/dist/services/oni-v2/audit.d.ts.map +0 -1
  550. package/dist/services/oni-v2/audit.js +0 -50
  551. package/dist/services/oni-v2/bindings.d.ts +0 -7
  552. package/dist/services/oni-v2/bindings.d.ts.map +0 -1
  553. package/dist/services/oni-v2/bindings.js +0 -31
  554. package/dist/services/oni-v2/config.d.ts +0 -12
  555. package/dist/services/oni-v2/config.d.ts.map +0 -1
  556. package/dist/services/oni-v2/config.js +0 -134
  557. package/dist/services/oni-v2/context.d.ts +0 -3
  558. package/dist/services/oni-v2/context.d.ts.map +0 -1
  559. package/dist/services/oni-v2/context.js +0 -17
  560. package/dist/services/oni-v2/crate.d.ts +0 -17
  561. package/dist/services/oni-v2/crate.d.ts.map +0 -1
  562. package/dist/services/oni-v2/crate.js +0 -504
  563. package/dist/services/oni-v2/flydriveOcflStore.d.ts +0 -69
  564. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +0 -1
  565. package/dist/services/oni-v2/flydriveOcflStore.js +0 -325
  566. package/dist/services/oni-v2/ingestion.d.ts +0 -37
  567. package/dist/services/oni-v2/ingestion.d.ts.map +0 -1
  568. package/dist/services/oni-v2/ingestion.js +0 -91
  569. package/dist/services/oni-v2/mapping.d.ts +0 -17
  570. package/dist/services/oni-v2/mapping.d.ts.map +0 -1
  571. package/dist/services/oni-v2/mapping.js +0 -137
  572. package/dist/services/oni-v2/repository.d.ts +0 -9
  573. package/dist/services/oni-v2/repository.d.ts.map +0 -1
  574. package/dist/services/oni-v2/repository.js +0 -180
  575. package/dist/services/oni-v2/runtime.d.ts +0 -23
  576. package/dist/services/oni-v2/runtime.d.ts.map +0 -1
  577. package/dist/services/oni-v2/runtime.js +0 -121
  578. package/dist/services/oni-v2/templating.d.ts +0 -11
  579. package/dist/services/oni-v2/templating.d.ts.map +0 -1
  580. package/dist/services/oni-v2/templating.js +0 -27
  581. package/dist/services/oni-v2/types.d.ts +0 -100
  582. package/dist/services/oni-v2/types.d.ts.map +0 -1
  583. package/dist/services/oni-v2/types.js +0 -3
  584. package/dist/services/raid-v2/audit.d.ts +0 -10
  585. package/dist/services/raid-v2/audit.d.ts.map +0 -1
  586. package/dist/services/raid-v2/audit.js +0 -29
  587. package/dist/services/raid-v2/errors.d.ts +0 -85
  588. package/dist/services/raid-v2/errors.d.ts.map +0 -1
  589. package/dist/services/raid-v2/errors.js +0 -36
  590. package/dist/services/raid-v2/http.d.ts +0 -4
  591. package/dist/services/raid-v2/http.d.ts.map +0 -1
  592. package/dist/services/raid-v2/http.js +0 -84
  593. package/dist/services/raid-v2/logger.d.ts +0 -8
  594. package/dist/services/raid-v2/logger.d.ts.map +0 -1
  595. package/dist/services/raid-v2/logger.js +0 -30
  596. package/dist/services/raid-v2/mapping.d.ts +0 -9
  597. package/dist/services/raid-v2/mapping.d.ts.map +0 -1
  598. package/dist/services/raid-v2/mapping.js +0 -168
  599. package/dist/services/raid-v2/runtime.d.ts +0 -5
  600. package/dist/services/raid-v2/runtime.d.ts.map +0 -1
  601. package/dist/services/raid-v2/runtime.js +0 -135
  602. package/dist/services/raid-v2/tags.d.ts +0 -11
  603. package/dist/services/raid-v2/tags.d.ts.map +0 -1
  604. package/dist/services/raid-v2/tags.js +0 -12
  605. package/dist/services/raid-v2/types.d.ts +0 -66
  606. package/dist/services/raid-v2/types.d.ts.map +0 -1
  607. package/dist/services/raid-v2/types.js +0 -3
  608. package/dist/services/record-hooks/coordinator.d.ts +0 -64
  609. package/dist/services/record-hooks/coordinator.d.ts.map +0 -1
  610. package/dist/services/record-hooks/coordinator.js +0 -276
  611. package/dist/visitor/related-object-data-inline.visitor.d.ts +0 -31
  612. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +0 -1
  613. package/dist/visitor/related-object-data-inline.visitor.js +0 -96
  614. package/dist/waterline-models/DashboardConfiguration.d.ts +0 -29
  615. package/dist/waterline-models/DashboardConfiguration.d.ts.map +0 -1
  616. package/dist/waterline-models/DashboardConfiguration.js +0 -52
@@ -1,26 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-schema-openapi.d.ts","sourceRoot":"","sources":["../../src/api-routes/record-schema-openapi.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,wCAAwC,EAAG,iCAA0C,CAAC;AAEnG,mGAAmG;AACnG,wBAAgB,oCAAoC,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;;;EA8BnF"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RECORD_SCHEMA_RESOLVER_OPENAPI_EXTENSION = void 0;
4
- exports.recordSchemaResolverOpenApiExtension = recordSchemaResolverOpenApiExtension;
5
- const record_schema_response_1 = require("./record-schema-response");
6
- const common_1 = require("./schemas/common");
7
- exports.RECORD_SCHEMA_RESOLVER_OPENAPI_EXTENSION = 'x-redbox-record-schema-resolver';
8
- /** Static resolver metadata only; caller-effective form schemas stay behind the resolver route. */
9
- function recordSchemaResolverOpenApiExtension(schemaKind) {
10
- const routeTemplate = schemaKind === 'create'
11
- ? record_schema_response_1.RECORD_SCHEMA_CREATE_RESOLVER_ROUTE_TEMPLATE
12
- : record_schema_response_1.RECORD_SCHEMA_UPDATE_RESOLVER_ROUTE_TEMPLATE;
13
- const etag = {
14
- format: '"sha256:<64-lowercase-hex>"',
15
- responseHeader: record_schema_response_1.RECORD_SCHEMA_ETAG_RESPONSE_HEADER,
16
- revalidationRequestHeader: record_schema_response_1.RECORD_SCHEMA_REVALIDATION_REQUEST_HEADER,
17
- notModifiedStatus: 304,
18
- authorizationRequiredForRevalidation: true,
19
- ...(schemaKind === 'update'
20
- ? {
21
- recordWritePreconditionRequestHeader: common_1.RECORD_SCHEMA_WRITE_PRECONDITION_HEADER,
22
- recordWritePreconditionRequired: false,
23
- preconditionFailedStatus: 412,
24
- comparison: 'current-resolved-full-document',
25
- }
26
- : {}),
27
- };
28
- return {
29
- [exports.RECORD_SCHEMA_RESOLVER_OPENAPI_EXTENSION]: {
30
- routeTemplate,
31
- schemaKind,
32
- operationParameter: { name: 'operation', in: 'query', required: false },
33
- mediaType: record_schema_response_1.RECORD_SCHEMA_RESPONSE_MEDIA_TYPE,
34
- etag,
35
- },
36
- };
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXNjaGVtYS1vcGVuYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS1yb3V0ZXMvcmVjb3JkLXNjaGVtYS1vcGVuYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVlBLG9GQThCQztBQTFDRCxxRUFNa0M7QUFDbEMsNkNBQTJFO0FBRTlELFFBQUEsd0NBQXdDLEdBQUcsaUNBQTBDLENBQUM7QUFFbkcsbUdBQW1HO0FBQ25HLFNBQWdCLG9DQUFvQyxDQUFDLFVBQStCO0lBQ2xGLE1BQU0sYUFBYSxHQUNqQixVQUFVLEtBQUssUUFBUTtRQUNyQixDQUFDLENBQUMscUVBQTRDO1FBQzlDLENBQUMsQ0FBQyxxRUFBNEMsQ0FBQztJQUNuRCxNQUFNLElBQUksR0FBRztRQUNYLE1BQU0sRUFBRSw2QkFBNkI7UUFDckMsY0FBYyxFQUFFLDJEQUFrQztRQUNsRCx5QkFBeUIsRUFBRSxrRUFBeUM7UUFDcEUsaUJBQWlCLEVBQUUsR0FBRztRQUN0QixvQ0FBb0MsRUFBRSxJQUFJO1FBQzFDLEdBQUcsQ0FBQyxVQUFVLEtBQUssUUFBUTtZQUN6QixDQUFDLENBQUM7Z0JBQ0Usb0NBQW9DLEVBQUUsZ0RBQXVDO2dCQUM3RSwrQkFBK0IsRUFBRSxLQUFLO2dCQUN0Qyx3QkFBd0IsRUFBRSxHQUFHO2dCQUM3QixVQUFVLEVBQUUsZ0NBQXlDO2FBQ3REO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNDLENBQUM7SUFFWCxPQUFPO1FBQ0wsQ0FBQyxnREFBd0MsQ0FBQyxFQUFFO1lBQzFDLGFBQWE7WUFDYixVQUFVO1lBQ1Ysa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRTtZQUN2RSxTQUFTLEVBQUUsMERBQWlDO1lBQzVDLElBQUk7U0FDTDtLQUNPLENBQUM7QUFDYixDQUFDIn0=
@@ -1,40 +0,0 @@
1
- import type { RecordSchemaProblem } from '../model/record-contract';
2
- import { type RecordSchemaProblemCode } from '../record-contract/codes';
3
- export declare const RECORD_SCHEMA_RESPONSE_MEDIA_TYPE: "application/schema+json";
4
- export declare const RECORD_SCHEMA_PROBLEM_MEDIA_TYPE: "application/problem+json";
5
- export declare const RECORD_SCHEMA_RESPONSE_CACHE_CONTROL: "private, no-cache";
6
- export declare const RECORD_SCHEMA_RESPONSE_VARY: "Authorization";
7
- export declare const RECORD_SCHEMA_ETAG_RESPONSE_HEADER: "ETag";
8
- export declare const RECORD_SCHEMA_REVALIDATION_REQUEST_HEADER: "If-None-Match";
9
- export declare const RECORD_SCHEMA_CREATE_ROUTE_PATH: "/:branding/:portal/api/records/schemas/create/:recordType";
10
- export declare const RECORD_SCHEMA_UPDATE_ROUTE_PATH: "/:branding/:portal/api/records/schemas/update/:oid";
11
- export declare const RECORD_SCHEMA_IMMUTABLE_ROUTE_PATH: "/:branding/:portal/api/records/schemas/:digest";
12
- /**
13
- * `rootContext` follows `BrandingService.getRootContext()`: it is either empty
14
- * or starts with `/`, so substituting it keeps the template origin-relative in
15
- * both root-mounted and sub-path deployments.
16
- */
17
- export declare const RECORD_SCHEMA_CREATE_RESOLVER_ROUTE_TEMPLATE: "{rootContext}/{branding}/{portal}/api/records/schemas/create/{recordType}";
18
- export declare const RECORD_SCHEMA_UPDATE_RESOLVER_ROUTE_TEMPLATE: "{rootContext}/{branding}/{portal}/api/records/schemas/update/{oid}";
19
- export declare const RECORD_SCHEMA_INVALID_REQUEST_PROBLEM_DESCRIPTOR: {
20
- readonly type: "https://redboxresearchdata.com/problems/record-schema-invalid-request";
21
- readonly title: "Record schema request is invalid";
22
- readonly status: 400;
23
- readonly detail: "The record schema request is malformed.";
24
- readonly code: "record-schema.invalid-request";
25
- };
26
- export declare const RECORD_SCHEMA_FORBIDDEN_PROBLEM_DESCRIPTOR: {
27
- readonly type: "https://redboxresearchdata.com/problems/record-schema-forbidden";
28
- readonly title: "Record schema request is not authorized";
29
- readonly status: 403;
30
- readonly detail: "The record schema request is not authorized.";
31
- readonly code: "record-schema.forbidden";
32
- };
33
- export declare function buildRecordSchemaInvalidRequestProblem(instance: string, code?: RecordSchemaProblemCode): RecordSchemaProblem;
34
- export declare function buildRecordSchemaForbiddenProblem(instance: string): RecordSchemaProblem;
35
- export declare function recordSchemaCanonicalLink(canonicalUrl: string): string;
36
- export declare function recordSchemaDescribedByLink(immutableUrl: string): string;
37
- export declare function recordSchemaImmutableUrl(branding: string, portal: string, digest: string, rootContext?: string): string;
38
- export declare function recordSchemaCreateResolverUrl(branding: string, portal: string, recordType: string, rootContext?: string): string;
39
- export declare function recordSchemaUpdateResolverUrl(branding: string, portal: string, oid: string, rootContext?: string): string;
40
- //# sourceMappingURL=record-schema-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"record-schema-response.d.ts","sourceRoot":"","sources":["../../src/api-routes/record-schema-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAA+B,KAAK,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAErG,eAAO,MAAM,iCAAiC,EAAG,yBAAkC,CAAC;AACpF,eAAO,MAAM,gCAAgC,EAAG,0BAAmC,CAAC;AACpF,eAAO,MAAM,oCAAoC,EAAG,mBAA4B,CAAC;AACjF,eAAO,MAAM,2BAA2B,EAAG,eAAwB,CAAC;AACpE,eAAO,MAAM,kCAAkC,EAAG,MAAe,CAAC;AAClE,eAAO,MAAM,yCAAyC,EAAG,eAAwB,CAAC;AAMlF,eAAO,MAAM,+BAA+B,6DAAmE,CAAC;AAChH,eAAO,MAAM,+BAA+B,sDAA4D,CAAC;AACzG,eAAO,MAAM,kCAAkC,kDAAwD,CAAC;AAExG;;;;GAIG;AACH,eAAO,MAAM,4CAA4C,6EACoB,CAAC;AAC9E,eAAO,MAAM,4CAA4C,sEACa,CAAC;AAIvE,eAAO,MAAM,gDAAgD;;;;;;CAMX,CAAC;AAEnD,eAAO,MAAM,0CAA0C;;;;;;CAML,CAAC;AAEnD,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,uBAA+E,GACpF,mBAAmB,CAMrB;AAED,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,CAKvF;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEtE;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAExE;AAsBD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,MAAM,CAEnH;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,WAAW,SAAK,GACf,MAAM,CAER;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,MAAM,CAErH"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RECORD_SCHEMA_FORBIDDEN_PROBLEM_DESCRIPTOR = exports.RECORD_SCHEMA_INVALID_REQUEST_PROBLEM_DESCRIPTOR = exports.RECORD_SCHEMA_UPDATE_RESOLVER_ROUTE_TEMPLATE = exports.RECORD_SCHEMA_CREATE_RESOLVER_ROUTE_TEMPLATE = exports.RECORD_SCHEMA_IMMUTABLE_ROUTE_PATH = exports.RECORD_SCHEMA_UPDATE_ROUTE_PATH = exports.RECORD_SCHEMA_CREATE_ROUTE_PATH = exports.RECORD_SCHEMA_REVALIDATION_REQUEST_HEADER = exports.RECORD_SCHEMA_ETAG_RESPONSE_HEADER = exports.RECORD_SCHEMA_RESPONSE_VARY = exports.RECORD_SCHEMA_RESPONSE_CACHE_CONTROL = exports.RECORD_SCHEMA_PROBLEM_MEDIA_TYPE = exports.RECORD_SCHEMA_RESPONSE_MEDIA_TYPE = void 0;
4
- exports.buildRecordSchemaInvalidRequestProblem = buildRecordSchemaInvalidRequestProblem;
5
- exports.buildRecordSchemaForbiddenProblem = buildRecordSchemaForbiddenProblem;
6
- exports.recordSchemaCanonicalLink = recordSchemaCanonicalLink;
7
- exports.recordSchemaDescribedByLink = recordSchemaDescribedByLink;
8
- exports.recordSchemaImmutableUrl = recordSchemaImmutableUrl;
9
- exports.recordSchemaCreateResolverUrl = recordSchemaCreateResolverUrl;
10
- exports.recordSchemaUpdateResolverUrl = recordSchemaUpdateResolverUrl;
11
- const codes_1 = require("../record-contract/codes");
12
- exports.RECORD_SCHEMA_RESPONSE_MEDIA_TYPE = 'application/schema+json';
13
- exports.RECORD_SCHEMA_PROBLEM_MEDIA_TYPE = 'application/problem+json';
14
- exports.RECORD_SCHEMA_RESPONSE_CACHE_CONTROL = 'private, no-cache';
15
- exports.RECORD_SCHEMA_RESPONSE_VARY = 'Authorization';
16
- exports.RECORD_SCHEMA_ETAG_RESPONSE_HEADER = 'ETag';
17
- exports.RECORD_SCHEMA_REVALIDATION_REQUEST_HEADER = 'If-None-Match';
18
- const RECORD_SCHEMA_API_PATH = '/api/records/schemas';
19
- const RECORD_SCHEMA_TYPED_ROUTE_SCOPE = `/:branding/:portal${RECORD_SCHEMA_API_PATH}`;
20
- const RECORD_SCHEMA_PUBLIC_ROUTE_TEMPLATE_SCOPE = `{rootContext}/{branding}/{portal}${RECORD_SCHEMA_API_PATH}`;
21
- exports.RECORD_SCHEMA_CREATE_ROUTE_PATH = `${RECORD_SCHEMA_TYPED_ROUTE_SCOPE}/create/:recordType`;
22
- exports.RECORD_SCHEMA_UPDATE_ROUTE_PATH = `${RECORD_SCHEMA_TYPED_ROUTE_SCOPE}/update/:oid`;
23
- exports.RECORD_SCHEMA_IMMUTABLE_ROUTE_PATH = `${RECORD_SCHEMA_TYPED_ROUTE_SCOPE}/:digest`;
24
- /**
25
- * `rootContext` follows `BrandingService.getRootContext()`: it is either empty
26
- * or starts with `/`, so substituting it keeps the template origin-relative in
27
- * both root-mounted and sub-path deployments.
28
- */
29
- exports.RECORD_SCHEMA_CREATE_RESOLVER_ROUTE_TEMPLATE = `${RECORD_SCHEMA_PUBLIC_ROUTE_TEMPLATE_SCOPE}/create/{recordType}`;
30
- exports.RECORD_SCHEMA_UPDATE_RESOLVER_ROUTE_TEMPLATE = `${RECORD_SCHEMA_PUBLIC_ROUTE_TEMPLATE_SCOPE}/update/{oid}`;
31
- exports.RECORD_SCHEMA_INVALID_REQUEST_PROBLEM_DESCRIPTOR = {
32
- type: 'https://redboxresearchdata.com/problems/record-schema-invalid-request',
33
- title: 'Record schema request is invalid',
34
- status: 400,
35
- detail: 'The record schema request is malformed.',
36
- code: codes_1.RECORD_SCHEMA_PROBLEM_CODES.INVALID_REQUEST,
37
- };
38
- exports.RECORD_SCHEMA_FORBIDDEN_PROBLEM_DESCRIPTOR = {
39
- type: 'https://redboxresearchdata.com/problems/record-schema-forbidden',
40
- title: 'Record schema request is not authorized',
41
- status: 403,
42
- detail: 'The record schema request is not authorized.',
43
- code: codes_1.RECORD_SCHEMA_PROBLEM_CODES.FORBIDDEN,
44
- };
45
- function buildRecordSchemaInvalidRequestProblem(instance, code = exports.RECORD_SCHEMA_INVALID_REQUEST_PROBLEM_DESCRIPTOR.code) {
46
- return {
47
- ...exports.RECORD_SCHEMA_INVALID_REQUEST_PROBLEM_DESCRIPTOR,
48
- instance,
49
- code,
50
- };
51
- }
52
- function buildRecordSchemaForbiddenProblem(instance) {
53
- return {
54
- ...exports.RECORD_SCHEMA_FORBIDDEN_PROBLEM_DESCRIPTOR,
55
- instance,
56
- };
57
- }
58
- function recordSchemaCanonicalLink(canonicalUrl) {
59
- return `<${canonicalUrl}>; rel="canonical"; type="${exports.RECORD_SCHEMA_RESPONSE_MEDIA_TYPE}"`;
60
- }
61
- function recordSchemaDescribedByLink(immutableUrl) {
62
- return `<${immutableUrl}>; rel="describedby"; type="${exports.RECORD_SCHEMA_RESPONSE_MEDIA_TYPE}"`;
63
- }
64
- function trimOuterSlashes(value) {
65
- let start = 0;
66
- let end = value.length;
67
- while (start < end && value[start] === '/') {
68
- start += 1;
69
- }
70
- while (end > start && value[end - 1] === '/') {
71
- end -= 1;
72
- }
73
- return value.slice(start, end);
74
- }
75
- function recordSchemaScopeUrl(branding, portal, rootContext) {
76
- const normalizedRootContext = trimOuterSlashes(rootContext.trim());
77
- const rootContextPrefix = normalizedRootContext ? `/${normalizedRootContext}` : '';
78
- return `${rootContextPrefix}/${encodeURIComponent(branding)}/${encodeURIComponent(portal)}${RECORD_SCHEMA_API_PATH}`;
79
- }
80
- function recordSchemaImmutableUrl(branding, portal, digest, rootContext = '') {
81
- return `${recordSchemaScopeUrl(branding, portal, rootContext)}/${encodeURIComponent(digest)}`;
82
- }
83
- function recordSchemaCreateResolverUrl(branding, portal, recordType, rootContext = '') {
84
- return `${recordSchemaScopeUrl(branding, portal, rootContext)}/create/${encodeURIComponent(recordType)}`;
85
- }
86
- function recordSchemaUpdateResolverUrl(branding, portal, oid, rootContext = '') {
87
- return `${recordSchemaScopeUrl(branding, portal, rootContext)}/update/${encodeURIComponent(oid)}`;
88
- }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkLXNjaGVtYS1yZXNwb25zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcGktcm91dGVzL3JlY29yZC1zY2hlbWEtcmVzcG9uc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBOENBLHdGQVNDO0FBRUQsOEVBS0M7QUFFRCw4REFFQztBQUVELGtFQUVDO0FBc0JELDREQUVDO0FBRUQsc0VBT0M7QUFFRCxzRUFFQztBQTFHRCxvREFBcUc7QUFFeEYsUUFBQSxpQ0FBaUMsR0FBRyx5QkFBa0MsQ0FBQztBQUN2RSxRQUFBLGdDQUFnQyxHQUFHLDBCQUFtQyxDQUFDO0FBQ3ZFLFFBQUEsb0NBQW9DLEdBQUcsbUJBQTRCLENBQUM7QUFDcEUsUUFBQSwyQkFBMkIsR0FBRyxlQUF3QixDQUFDO0FBQ3ZELFFBQUEsa0NBQWtDLEdBQUcsTUFBZSxDQUFDO0FBQ3JELFFBQUEseUNBQXlDLEdBQUcsZUFBd0IsQ0FBQztBQUVsRixNQUFNLHNCQUFzQixHQUFHLHNCQUErQixDQUFDO0FBQy9ELE1BQU0sK0JBQStCLEdBQUcscUJBQXFCLHNCQUFzQixFQUFXLENBQUM7QUFDL0YsTUFBTSx5Q0FBeUMsR0FBRyxvQ0FBb0Msc0JBQXNCLEVBQVcsQ0FBQztBQUUzRyxRQUFBLCtCQUErQixHQUFHLEdBQUcsK0JBQStCLHFCQUE4QixDQUFDO0FBQ25HLFFBQUEsK0JBQStCLEdBQUcsR0FBRywrQkFBK0IsY0FBdUIsQ0FBQztBQUM1RixRQUFBLGtDQUFrQyxHQUFHLEdBQUcsK0JBQStCLFVBQW1CLENBQUM7QUFFeEc7Ozs7R0FJRztBQUNVLFFBQUEsNENBQTRDLEdBQ3ZELEdBQUcseUNBQXlDLHNCQUErQixDQUFDO0FBQ2pFLFFBQUEsNENBQTRDLEdBQ3ZELEdBQUcseUNBQXlDLGVBQXdCLENBQUM7QUFJMUQsUUFBQSxnREFBZ0QsR0FBRztJQUM5RCxJQUFJLEVBQUUsdUVBQXVFO0lBQzdFLEtBQUssRUFBRSxrQ0FBa0M7SUFDekMs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
@@ -1,68 +0,0 @@
1
- import { RECORD_SCHEMA_PROBLEM_CODES } from '../record-contract/codes';
2
- import type { RecordContractSchemaKind } from '../record-contract/types';
3
- export type RecordSchemaUnknownProperties = 'allow' | 'declared';
4
- export interface RecordSchemaLimitsConfig {
5
- readonly maxDepth: number;
6
- readonly maxProperties: number;
7
- readonly maxDocumentBytes: number;
8
- readonly maxDiagnostics: number;
9
- readonly contributorTimeoutMs: number;
10
- }
11
- export interface RecordSchemaRetentionConfig {
12
- readonly minimumAgeDays: number;
13
- }
14
- export interface RecordSchemaIntegrationPinConfig {
15
- readonly digest: string;
16
- readonly brand: string;
17
- readonly portal: string;
18
- readonly schemaKind: RecordContractSchemaKind;
19
- readonly recordType: string;
20
- readonly operation: string;
21
- readonly owner: string;
22
- readonly purpose: string;
23
- readonly expiresAt?: string;
24
- }
25
- export interface RecordSchemaConfig {
26
- readonly enabled: boolean;
27
- readonly unknownProperties: RecordSchemaUnknownProperties;
28
- readonly cacheMaxEntries: number;
29
- readonly limits: RecordSchemaLimitsConfig;
30
- readonly retention: RecordSchemaRetentionConfig;
31
- readonly integrationPins?: readonly RecordSchemaIntegrationPinConfig[];
32
- }
33
- export interface RecordTypeRecordSchemaConfig {
34
- readonly unknownProperties?: RecordSchemaUnknownProperties;
35
- }
36
- export type RecordSchemaConfigurationProblemReason = 'required' | 'type' | 'positive-integer' | 'unsupported-value' | 'maximum-items';
37
- export interface RecordSchemaConfigurationProblem {
38
- readonly code: typeof RECORD_SCHEMA_PROBLEM_CODES.CONFIG_INVALID;
39
- readonly path: string;
40
- readonly reason: RecordSchemaConfigurationProblemReason;
41
- }
42
- export type RecordSchemaConfigValidationResult = {
43
- readonly valid: true;
44
- readonly config: RecordSchemaConfig;
45
- } | {
46
- readonly valid: false;
47
- readonly problems: readonly RecordSchemaConfigurationProblem[];
48
- };
49
- export declare const DEFAULT_RECORD_SCHEMA_CACHE_MAX_ENTRIES = 128;
50
- export declare const DEFAULT_RECORD_SCHEMA_MAX_DEPTH = 64;
51
- export declare const DEFAULT_RECORD_SCHEMA_MAX_PROPERTIES = 10000;
52
- export declare const DEFAULT_RECORD_SCHEMA_MAX_DOCUMENT_BYTES = 1048576;
53
- export declare const DEFAULT_RECORD_SCHEMA_MAX_DIAGNOSTICS = 1000;
54
- export declare const DEFAULT_RECORD_SCHEMA_CONTRIBUTOR_TIMEOUT_MS = 1000;
55
- export declare const DEFAULT_RECORD_SCHEMA_MINIMUM_AGE_DAYS = 365;
56
- /** Bounds deterministic startup and maintenance work before any pin is hashed or persisted. */
57
- export declare const MAX_RECORD_SCHEMA_INTEGRATION_PINS = 100;
58
- export declare const recordSchema: RecordSchemaConfig;
59
- export declare function isRecordSchemaUnknownProperties(value: unknown): value is RecordSchemaUnknownProperties;
60
- export declare function resolveRecordSchemaUnknownProperties(globalValue: RecordSchemaUnknownProperties, recordTypeOverride?: RecordTypeRecordSchemaConfig): RecordSchemaUnknownProperties;
61
- /** Normalizes boolean strings supplied by environment-backed Sails configuration. */
62
- export declare function normalizeRecordSchemaConfig(value: unknown): unknown;
63
- /** Resolve the environment-normalized feature flag at record write boundaries. */
64
- export declare function isRecordSchemaEnabled(value: unknown): boolean;
65
- export declare function validateRecordTypeRecordSchemaConfig(value: unknown, path?: string): readonly RecordSchemaConfigurationProblem[];
66
- /** Validates startup configuration after normalizing environment boolean strings. */
67
- export declare function validateRecordSchemaConfig(value: unknown): RecordSchemaConfigValidationResult;
68
- //# sourceMappingURL=recordSchema.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recordSchema.config.d.ts","sourceRoot":"","sources":["../../src/config/recordSchema.config.ts"],"names":[],"mappings":"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"}
@@ -1,173 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recordSchema = exports.MAX_RECORD_SCHEMA_INTEGRATION_PINS = exports.DEFAULT_RECORD_SCHEMA_MINIMUM_AGE_DAYS = exports.DEFAULT_RECORD_SCHEMA_CONTRIBUTOR_TIMEOUT_MS = exports.DEFAULT_RECORD_SCHEMA_MAX_DIAGNOSTICS = exports.DEFAULT_RECORD_SCHEMA_MAX_DOCUMENT_BYTES = exports.DEFAULT_RECORD_SCHEMA_MAX_PROPERTIES = exports.DEFAULT_RECORD_SCHEMA_MAX_DEPTH = exports.DEFAULT_RECORD_SCHEMA_CACHE_MAX_ENTRIES = void 0;
4
- exports.isRecordSchemaUnknownProperties = isRecordSchemaUnknownProperties;
5
- exports.resolveRecordSchemaUnknownProperties = resolveRecordSchemaUnknownProperties;
6
- exports.normalizeRecordSchemaConfig = normalizeRecordSchemaConfig;
7
- exports.isRecordSchemaEnabled = isRecordSchemaEnabled;
8
- exports.validateRecordTypeRecordSchemaConfig = validateRecordTypeRecordSchemaConfig;
9
- exports.validateRecordSchemaConfig = validateRecordSchemaConfig;
10
- const codes_1 = require("../record-contract/codes");
11
- exports.DEFAULT_RECORD_SCHEMA_CACHE_MAX_ENTRIES = 128;
12
- exports.DEFAULT_RECORD_SCHEMA_MAX_DEPTH = 64;
13
- exports.DEFAULT_RECORD_SCHEMA_MAX_PROPERTIES = 10_000;
14
- exports.DEFAULT_RECORD_SCHEMA_MAX_DOCUMENT_BYTES = 1_048_576;
15
- exports.DEFAULT_RECORD_SCHEMA_MAX_DIAGNOSTICS = 1_000;
16
- exports.DEFAULT_RECORD_SCHEMA_CONTRIBUTOR_TIMEOUT_MS = 1_000;
17
- exports.DEFAULT_RECORD_SCHEMA_MINIMUM_AGE_DAYS = 365;
18
- /** Bounds deterministic startup and maintenance work before any pin is hashed or persisted. */
19
- exports.MAX_RECORD_SCHEMA_INTEGRATION_PINS = 100;
20
- exports.recordSchema = {
21
- enabled: false,
22
- unknownProperties: 'allow',
23
- cacheMaxEntries: exports.DEFAULT_RECORD_SCHEMA_CACHE_MAX_ENTRIES,
24
- limits: {
25
- maxDepth: exports.DEFAULT_RECORD_SCHEMA_MAX_DEPTH,
26
- maxProperties: exports.DEFAULT_RECORD_SCHEMA_MAX_PROPERTIES,
27
- maxDocumentBytes: exports.DEFAULT_RECORD_SCHEMA_MAX_DOCUMENT_BYTES,
28
- maxDiagnostics: exports.DEFAULT_RECORD_SCHEMA_MAX_DIAGNOSTICS,
29
- contributorTimeoutMs: exports.DEFAULT_RECORD_SCHEMA_CONTRIBUTOR_TIMEOUT_MS,
30
- },
31
- retention: {
32
- minimumAgeDays: exports.DEFAULT_RECORD_SCHEMA_MINIMUM_AGE_DAYS,
33
- },
34
- };
35
- function isRecordSchemaUnknownProperties(value) {
36
- return value === 'allow' || value === 'declared';
37
- }
38
- function resolveRecordSchemaUnknownProperties(globalValue, recordTypeOverride) {
39
- return recordTypeOverride?.unknownProperties ?? globalValue;
40
- }
41
- function configurationProblem(path, reason) {
42
- return { code: codes_1.RECORD_SCHEMA_PROBLEM_CODES.CONFIG_INVALID, path, reason };
43
- }
44
- function isObjectRecord(value) {
45
- return value !== null && typeof value === 'object' && !Array.isArray(value);
46
- }
47
- /** Normalizes boolean strings supplied by environment-backed Sails configuration. */
48
- function normalizeRecordSchemaConfig(value) {
49
- if (!isObjectRecord(value) || typeof value.enabled !== 'string') {
50
- return value;
51
- }
52
- const enabled = value.enabled.trim().toLowerCase();
53
- if (enabled !== 'true' && enabled !== 'false') {
54
- return value;
55
- }
56
- return { ...value, enabled: enabled === 'true' };
57
- }
58
- /** Resolve the environment-normalized feature flag at record write boundaries. */
59
- function isRecordSchemaEnabled(value) {
60
- const normalized = normalizeRecordSchemaConfig(value);
61
- return isObjectRecord(normalized) && normalized.enabled === true;
62
- }
63
- function isRecordSchemaIntegrationPinConfig(value) {
64
- if (!isObjectRecord(value)) {
65
- return false;
66
- }
67
- return (typeof value.digest === 'string' &&
68
- typeof value.brand === 'string' &&
69
- typeof value.portal === 'string' &&
70
- (value.schemaKind === 'create' || value.schemaKind === 'update') &&
71
- typeof value.recordType === 'string' &&
72
- typeof value.operation === 'string' &&
73
- typeof value.owner === 'string' &&
74
- typeof value.purpose === 'string' &&
75
- (value.expiresAt === undefined || typeof value.expiresAt === 'string'));
76
- }
77
- function validatePositiveInteger(parent, property, path, problems) {
78
- if (!parent || !(property in parent)) {
79
- problems.push(configurationProblem(path, 'required'));
80
- return;
81
- }
82
- const value = parent[property];
83
- if (typeof value !== 'number') {
84
- problems.push(configurationProblem(path, 'type'));
85
- return;
86
- }
87
- if (!Number.isFinite(value) || !Number.isInteger(value) || value <= 0) {
88
- problems.push(configurationProblem(path, 'positive-integer'));
89
- }
90
- }
91
- function validateRecordTypeRecordSchemaConfig(value, path = 'recordSchema') {
92
- if (!isObjectRecord(value)) {
93
- return [configurationProblem(path, 'type')];
94
- }
95
- if (value.unknownProperties !== undefined && !isRecordSchemaUnknownProperties(value.unknownProperties)) {
96
- return [configurationProblem(`${path}.unknownProperties`, 'unsupported-value')];
97
- }
98
- return [];
99
- }
100
- /** Validates startup configuration after normalizing environment boolean strings. */
101
- function validateRecordSchemaConfig(value) {
102
- value = normalizeRecordSchemaConfig(value);
103
- const problems = [];
104
- if (!isObjectRecord(value)) {
105
- return { valid: false, problems: [configurationProblem('recordSchema', 'type')] };
106
- }
107
- if (typeof value.enabled !== 'boolean') {
108
- problems.push(configurationProblem('recordSchema.enabled', value.enabled === undefined ? 'required' : 'type'));
109
- }
110
- if (!isRecordSchemaUnknownProperties(value.unknownProperties)) {
111
- problems.push(configurationProblem('recordSchema.unknownProperties', value.unknownProperties === undefined ? 'required' : 'unsupported-value'));
112
- }
113
- validatePositiveInteger(value, 'cacheMaxEntries', 'recordSchema.cacheMaxEntries', problems);
114
- const limits = isObjectRecord(value.limits) ? value.limits : undefined;
115
- if (!limits) {
116
- problems.push(configurationProblem('recordSchema.limits', value.limits === undefined ? 'required' : 'type'));
117
- }
118
- else {
119
- validatePositiveInteger(limits, 'maxDepth', 'recordSchema.limits.maxDepth', problems);
120
- validatePositiveInteger(limits, 'maxProperties', 'recordSchema.limits.maxProperties', problems);
121
- validatePositiveInteger(limits, 'maxDocumentBytes', 'recordSchema.limits.maxDocumentBytes', problems);
122
- validatePositiveInteger(limits, 'maxDiagnostics', 'recordSchema.limits.maxDiagnostics', problems);
123
- validatePositiveInteger(limits, 'contributorTimeoutMs', 'recordSchema.limits.contributorTimeoutMs', problems);
124
- }
125
- const retention = isObjectRecord(value.retention) ? value.retention : undefined;
126
- if (!retention) {
127
- problems.push(configurationProblem('recordSchema.retention', value.retention === undefined ? 'required' : 'type'));
128
- }
129
- else {
130
- validatePositiveInteger(retention, 'minimumAgeDays', 'recordSchema.retention.minimumAgeDays', problems);
131
- }
132
- if (value.integrationPins !== undefined) {
133
- if (!Array.isArray(value.integrationPins)) {
134
- problems.push(configurationProblem('recordSchema.integrationPins', 'type'));
135
- }
136
- else if (value.integrationPins.length > exports.MAX_RECORD_SCHEMA_INTEGRATION_PINS) {
137
- problems.push(configurationProblem('recordSchema.integrationPins', 'maximum-items'));
138
- }
139
- else {
140
- value.integrationPins.forEach((pin, index) => {
141
- if (!isRecordSchemaIntegrationPinConfig(pin)) {
142
- problems.push(configurationProblem(`recordSchema.integrationPins.${index}`, 'type'));
143
- }
144
- });
145
- }
146
- }
147
- if (problems.length > 0) {
148
- return {
149
- valid: false,
150
- problems: problems.sort((left, right) => left.path.localeCompare(right.path)),
151
- };
152
- }
153
- return {
154
- valid: true,
155
- config: {
156
- enabled: value.enabled,
157
- unknownProperties: value.unknownProperties,
158
- cacheMaxEntries: value.cacheMaxEntries,
159
- limits: {
160
- maxDepth: limits?.maxDepth,
161
- maxProperties: limits?.maxProperties,
162
- maxDocumentBytes: limits?.maxDocumentBytes,
163
- maxDiagnostics: limits?.maxDiagnostics,
164
- contributorTimeoutMs: limits?.contributorTimeoutMs,
165
- },
166
- retention: { minimumAgeDays: retention?.minimumAgeDays },
167
- ...(value.integrationPins === undefined
168
- ? {}
169
- : { integrationPins: value.integrationPins }),
170
- },
171
- };
172
- }
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkU2NoZW1hLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvcmVjb3JkU2NoZW1hLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFxRkEsMEVBRUM7QUFFRCxvRkFLQztBQWNELGtFQVNDO0FBR0Qsc0RBR0M7QUF1Q0Qsb0ZBV0M7QUFHRCxnRUE0RUM7QUE1UEQsb0RBQXVFO0FBMkQxRCxRQUFBLHVDQUF1QyxHQUFHLEdBQUcsQ0FBQztBQUM5QyxRQUFBLCtCQUErQixHQUFHLEVBQUUsQ0FBQztBQUNyQyxRQUFBLG9DQUFvQyxHQUFHLE1BQU0sQ0FBQztBQUM5QyxRQUFBLHdDQUF3QyxHQUFHLFNBQVMsQ0FBQztBQUNyRCxRQUFBLHFDQUFxQyxHQUFHLEtBQUssQ0FBQztBQUM5QyxRQUFBLDRDQUE0QyxHQUFHLEtBQUssQ0FBQztBQUNyRCxRQUFBLHNDQUFzQyxHQUFHLEdBQUcsQ0FBQztBQUMxRCwrRkFBK0Y7QUFDbEYsUUFBQSxrQ0FBa0MsR0FBRyxHQUFHLENBQUM7QUFFekMsUUFBQSxZQUFZLEdBQXVCO0lBQzlDLE9BQU8sRUFBRSxLQUFLO0lBQ2QsaUJBQWlCLEVBQUUsT0FBTztJQUMxQixlQUFlLEVBQUUsK0NBQXVDO0lBQ3hELE1BQU0sRUFBRTtRQUNOLFFBQVEsRUFBRSx1Q0FBK0I7UUFDekMsYUFBYSxFQUFFLDRDQUFvQztRQUNuRCxnQkFBZ0IsRUFBRSxnREFBd0M7UUFDMUQsY0FBYyxFQUFFLDZDQUFxQztRQUNyRCxvQkFBb0IsRUFBRSxvREFBNEM7S0FDbkU7SUFDRCxTQUFTLEVBQUU7UUFDVCxjQUFjLEVBQUUsOENBQXNDO0tBQ3ZEO0NBQ0YsQ0FBQztBQUVGLFNBQWdCLCtCQUErQixDQUFDLEtBQWM7SUFDNUQsT0FBTyxLQUFLLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDbkQsQ0FBQztBQUVELFNBQWdCLG9DQUFvQyxDQUNsRCxXQUEw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
@@ -1,19 +0,0 @@
1
- import type { ValidationMode } from '@researchdatabox/sails-ng-common';
2
- /** Global authoritative record-validation rollout configuration. */
3
- export interface RecordValidationConfig {
4
- /** Global rollout default. More-specific record-type/operation modes may override it. */
5
- mode: ValidationMode;
6
- /** Whole-run timeout covering blocking expressions and validators. */
7
- timeoutMs: number;
8
- /** Optional global rollout overrides keyed by validation operation name. */
9
- operations?: Record<string, RecordValidationOperationRolloutConfig>;
10
- /** Server-owned names that expressions may read from sanitized request parameters. */
11
- allowedRequestParameters?: string[];
12
- }
13
- export interface RecordValidationOperationRolloutConfig {
14
- mode?: ValidationMode;
15
- }
16
- export declare const DEFAULT_RECORD_VALIDATION_TIMEOUT_MS = 5000;
17
- /** Enforcement is intentionally opt-in after shadow evidence has been reviewed. */
18
- export declare const recordValidation: RecordValidationConfig;
19
- //# sourceMappingURL=recordValidation.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recordValidation.config.d.ts","sourceRoot":"","sources":["../../src/config/recordValidation.config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,yFAAyF;IACzF,IAAI,EAAE,cAAc,CAAC;IACrB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;IACpE,sFAAsF;IACtF,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,sCAAsC;IACrD,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,eAAO,MAAM,oCAAoC,OAAQ,CAAC;AAE1D,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,EAAE,sBAG9B,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.recordValidation = exports.DEFAULT_RECORD_VALIDATION_TIMEOUT_MS = void 0;
4
- exports.DEFAULT_RECORD_VALIDATION_TIMEOUT_MS = 5_000;
5
- /** Enforcement is intentionally opt-in after shadow evidence has been reviewed. */
6
- exports.recordValidation = {
7
- mode: 'shadow',
8
- timeoutMs: exports.DEFAULT_RECORD_VALIDATION_TIMEOUT_MS,
9
- };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjb3JkVmFsaWRhdGlvbi5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3JlY29yZFZhbGlkYXRpb24uY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWtCYSxRQUFBLG9DQUFvQyxHQUFHLEtBQUssQ0FBQztBQUUxRCxtRkFBbUY7QUFDdEUsUUFBQSxnQkFBZ0IsR0FBMkI7SUFDdEQsSUFBSSxFQUFFLFFBQVE7SUFDZCxTQUFTLEVBQUUsNENBQW9DO0NBQ2hELENBQUMifQ==
@@ -1,67 +0,0 @@
1
- /**
2
- * Record field catalogue for dashboard authoring.
3
- *
4
- * Flattens the record JSON Schema of a workflow stage (from
5
- * RecordSchemaService) into the dotted field paths that dashboard columns,
6
- * filters, sorting and grouping use, e.g. `metadata.contributor_ci.email`.
7
- * Pure functions only.
8
- */
9
- export type DashboardFieldType = 'string' | 'number' | 'integer' | 'boolean' | 'object' | 'array' | 'any';
10
- export interface DashboardFieldInfo {
11
- /** Dotted path in the stored record, e.g. `metadata.title`. */
12
- path: string;
13
- /** Readable label derived from the path. */
14
- label: string;
15
- type: DashboardFieldType;
16
- /** True when the value sits inside a list (matches any list entry). */
17
- repeated: boolean;
18
- enum?: Array<string | number | boolean>;
19
- description?: string;
20
- source: 'schema' | 'system';
21
- }
22
- export interface DashboardFieldCatalogue {
23
- status: 'complete' | 'partial' | 'unavailable';
24
- /** Why the schema could not be described, when unavailable. */
25
- reason?: string;
26
- recordType: string;
27
- workflowStage?: string;
28
- fields: DashboardFieldInfo[];
29
- /** Path prefixes whose contents the schema does not describe (anything below is allowed). */
30
- openPrefixes: string[];
31
- }
32
- /** Record fields maintained by ReDBox rather than the form. */
33
- export declare const DASHBOARD_SYSTEM_FIELDS: DashboardFieldInfo[];
34
- export declare function labelForFieldPath(path: string): string;
35
- /**
36
- * Flatten a record JSON Schema (draft 2020-12) into leaf field paths under the
37
- * given root (`metadata` for record metadata).
38
- */
39
- export declare function flattenRecordJsonSchema(document: unknown, root?: string): {
40
- fields: DashboardFieldInfo[];
41
- openPrefixes: string[];
42
- };
43
- /** True when the catalogue knows the path, a parent of it, or cannot say. */
44
- export declare function isKnownFieldPath(catalogue: DashboardFieldCatalogue, path: string): boolean;
45
- /** Record field paths used by settings, with the settings location that uses each. */
46
- export declare function collectSettingsFieldPaths(settings: {
47
- tableConfig: {
48
- rowConfig: Array<{
49
- variable?: unknown;
50
- secondarySort?: unknown;
51
- }>;
52
- formatRules: {
53
- filterBy?: Record<string, unknown>;
54
- queryFilters?: Record<string, Array<{
55
- filterFields?: Array<{
56
- path?: unknown;
57
- }>;
58
- }>>;
59
- sortBy?: unknown;
60
- sortGroupBy?: Array<Record<string, unknown>>;
61
- };
62
- };
63
- }): Array<{
64
- settingsPath: string;
65
- fieldPath: string;
66
- }>;
67
- //# sourceMappingURL=DashboardFieldCatalogue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardFieldCatalogue.d.ts","sourceRoot":"","sources":["../../src/configmodels/DashboardFieldCatalogue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;AAE1G,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,CAAC;IACzB,uEAAuE;IACvE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,aAAa,CAAC;IAC/C,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,6FAA6F;IAC7F,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,EAQvD,CAAC;AAmBF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAUD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,SAAa,GAAG;IAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAkFtI;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAY1F;AAED,sFAAsF;AACtF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE;QACX,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QAClE,WAAW,EAAE;YACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;gBAAE,YAAY,CAAC,EAAE,KAAK,CAAC;oBAAE,IAAI,CAAC,EAAE,OAAO,CAAA;iBAAE,CAAC,CAAA;aAAE,CAAC,CAAC,CAAC;YACnF,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;SAC9C,CAAC;KACH,CAAC;CACH,GAAG,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BrD"}