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

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 (609) 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/workflow.config.d.ts +0 -6
  93. package/dist/config/workflow.config.d.ts.map +1 -1
  94. package/dist/config/workflow.config.js +1 -1
  95. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  96. package/dist/configmodels/AdminSidebarConfig.js +2 -4
  97. package/dist/configmodels/ConfigModels.d.ts +1 -1
  98. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  99. package/dist/configmodels/ConfigModels.js +9 -26
  100. package/dist/configmodels/FigsharePublishing.d.ts +103 -0
  101. package/dist/configmodels/FigsharePublishing.d.ts.map +1 -1
  102. package/dist/configmodels/FigsharePublishing.js +36 -2
  103. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  104. package/dist/controllers/AppConfigController.js +1 -4
  105. package/dist/controllers/BrandingAppController.d.ts +7 -29
  106. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  107. package/dist/controllers/BrandingAppController.js +69 -265
  108. package/dist/controllers/BrandingController.d.ts +1 -24
  109. package/dist/controllers/BrandingController.d.ts.map +1 -1
  110. package/dist/controllers/BrandingController.js +43 -173
  111. package/dist/controllers/DashboardConfigController.d.ts +2 -6
  112. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  113. package/dist/controllers/DashboardConfigController.js +4 -18
  114. package/dist/controllers/DynamicAssetController.d.ts +5 -7
  115. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  116. package/dist/controllers/DynamicAssetController.js +12 -21
  117. package/dist/controllers/RecordAuditController.d.ts.map +1 -1
  118. package/dist/controllers/RecordAuditController.js +24 -6
  119. package/dist/controllers/RecordController.d.ts +4 -45
  120. package/dist/controllers/RecordController.d.ts.map +1 -1
  121. package/dist/controllers/RecordController.js +345 -778
  122. package/dist/controllers/index.d.ts.map +1 -1
  123. package/dist/controllers/index.js +1 -4
  124. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  125. package/dist/controllers/webservice/AdminController.js +3 -4
  126. package/dist/controllers/webservice/BrandingController.d.ts +1 -26
  127. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  128. package/dist/controllers/webservice/BrandingController.js +116 -292
  129. package/dist/controllers/webservice/DashboardConfigController.d.ts +17 -25
  130. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  131. package/dist/controllers/webservice/DashboardConfigController.js +205 -90
  132. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  133. package/dist/controllers/webservice/FormManagementController.js +3 -37
  134. package/dist/controllers/webservice/RecordController.d.ts +1 -15
  135. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  136. package/dist/controllers/webservice/RecordController.js +267 -647
  137. package/dist/controllers/webservice/RecordTypeController.d.ts +1 -6
  138. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  139. package/dist/controllers/webservice/RecordTypeController.js +3 -21
  140. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  141. package/dist/controllers/webservice/SearchController.js +3 -7
  142. package/dist/hooks/defineRedboxHook.d.ts +0 -3
  143. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  144. package/dist/hooks/defineRedboxHook.js +1 -4
  145. package/dist/index.d.ts +25 -50
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +4 -90
  148. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  149. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  150. package/dist/loader/bootstrapShimRuntime.js +12 -20
  151. package/dist/loader/index.d.ts +0 -9
  152. package/dist/loader/index.d.ts.map +1 -1
  153. package/dist/loader/index.js +4 -93
  154. package/dist/model/BuildResponse.d.ts +11 -25
  155. package/dist/model/BuildResponse.d.ts.map +1 -1
  156. package/dist/model/BuildResponse.js +3 -4
  157. package/dist/model/DashboardTypeResponseModel.d.ts +0 -6
  158. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  159. package/dist/model/DashboardTypeResponseModel.js +1 -7
  160. package/dist/model/DashboardViewResponseModel.d.ts +1 -5
  161. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  162. package/dist/model/DashboardViewResponseModel.js +3 -6
  163. package/dist/model/RBValidationError.d.ts +0 -17
  164. package/dist/model/RBValidationError.d.ts.map +1 -1
  165. package/dist/model/RBValidationError.js +1 -37
  166. package/dist/model/RecordTypeResponseModel.d.ts +4 -12
  167. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  168. package/dist/model/RecordTypeResponseModel.js +2 -11
  169. package/dist/model/index.d.ts +1 -5
  170. package/dist/model/index.d.ts.map +1 -1
  171. package/dist/model/index.js +2 -5
  172. package/dist/model/storage/BrandingModel.d.ts +0 -7
  173. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  174. package/dist/model/storage/BrandingModel.js +1 -7
  175. package/dist/model/storage/DeletedRecordModel.d.ts +0 -35
  176. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  177. package/dist/model/storage/DeletedRecordModel.js +1 -62
  178. package/dist/model/storage/FigshareSyncModel.d.ts +126 -0
  179. package/dist/model/storage/FigshareSyncModel.d.ts.map +1 -0
  180. package/dist/model/storage/FigshareSyncModel.js +3 -0
  181. package/dist/model/storage/IntegrationAuditModel.d.ts +2 -16
  182. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  183. package/dist/model/storage/IntegrationAuditModel.js +1 -15
  184. package/dist/model/storage/RecordAuditModel.d.ts +4 -11
  185. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  186. package/dist/model/storage/RecordAuditModel.js +30 -8
  187. package/dist/model/storage/RecordModel.d.ts +3 -6
  188. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  189. package/dist/model/storage/RecordTypeModel.d.ts +0 -6
  190. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  191. package/dist/model/storage/RecordTypeModel.js +1 -4
  192. package/dist/model/storage/index.d.ts +10 -12
  193. package/dist/model/storage/index.d.ts.map +1 -1
  194. package/dist/model/storage/index.js +2 -24
  195. package/dist/policies/checkAuth.d.ts +6 -2
  196. package/dist/policies/checkAuth.d.ts.map +1 -1
  197. package/dist/policies/checkAuth.js +9 -32
  198. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  199. package/dist/policies/contentSecurityPolicy.js +2 -85
  200. package/dist/policies/index.d.ts +2 -3
  201. package/dist/policies/index.d.ts.map +1 -1
  202. package/dist/policies/index.js +2 -4
  203. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  204. package/dist/policies/validateApiContractRequest.js +11 -49
  205. package/dist/services/AgendaQueueService.d.ts +1 -1
  206. package/dist/services/AgendaQueueService.d.ts.map +1 -1
  207. package/dist/services/AgendaQueueService.js +7 -4
  208. package/dist/services/AppConfigService.d.ts +0 -6
  209. package/dist/services/AppConfigService.d.ts.map +1 -1
  210. package/dist/services/AppConfigService.js +1 -23
  211. package/dist/services/AttachmentMetadataService.d.ts +0 -58
  212. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  213. package/dist/services/AttachmentMetadataService.js +8 -643
  214. package/dist/services/BrandingLogoService.d.ts +1 -6
  215. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  216. package/dist/services/BrandingLogoService.js +9 -77
  217. package/dist/services/BrandingService.d.ts +9 -171
  218. package/dist/services/BrandingService.d.ts.map +1 -1
  219. package/dist/services/BrandingService.js +68 -572
  220. package/dist/services/BrandingThemeCssService.d.ts +1 -17
  221. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  222. package/dist/services/BrandingThemeCssService.js +9 -71
  223. package/dist/services/DashboardConfigService.d.ts +54 -214
  224. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  225. package/dist/services/DashboardConfigService.js +261 -829
  226. package/dist/services/DashboardTypesService.d.ts +4 -15
  227. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  228. package/dist/services/DashboardTypesService.js +139 -72
  229. package/dist/services/DoiService.d.ts +1 -1
  230. package/dist/services/DoiService.d.ts.map +1 -1
  231. package/dist/services/DoiService.js +45 -71
  232. package/dist/services/FigshareService.d.ts +15 -10
  233. package/dist/services/FigshareService.d.ts.map +1 -1
  234. package/dist/services/FigshareService.js +82 -583
  235. package/dist/services/FormRecordConsistencyService.d.ts +23 -8
  236. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  237. package/dist/services/FormRecordConsistencyService.js +70 -54
  238. package/dist/services/FormsService.d.ts +2 -91
  239. package/dist/services/FormsService.d.ts.map +1 -1
  240. package/dist/services/FormsService.js +64 -324
  241. package/dist/services/HarvestRunService.d.ts +3 -6
  242. package/dist/services/HarvestRunService.d.ts.map +1 -1
  243. package/dist/services/HarvestRunService.js +97 -161
  244. package/dist/services/I18nEntriesService.d.ts +2 -1
  245. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  246. package/dist/services/I18nEntriesService.js +45 -30
  247. package/dist/services/OniService.d.ts +62 -19
  248. package/dist/services/OniService.d.ts.map +1 -1
  249. package/dist/services/OniService.js +691 -223
  250. package/dist/services/RDMPService.d.ts +1 -1
  251. package/dist/services/RDMPService.d.ts.map +1 -1
  252. package/dist/services/RDMPService.js +5 -5
  253. package/dist/services/RaidService.d.ts +61 -19
  254. package/dist/services/RaidService.d.ts.map +1 -1
  255. package/dist/services/RaidService.js +530 -191
  256. package/dist/services/RecordTypesService.d.ts +0 -29
  257. package/dist/services/RecordTypesService.d.ts.map +1 -1
  258. package/dist/services/RecordTypesService.js +11 -106
  259. package/dist/services/RecordsService.d.ts +26 -313
  260. package/dist/services/RecordsService.d.ts.map +1 -1
  261. package/dist/services/RecordsService.js +763 -5089
  262. package/dist/services/SolrSearchService.d.ts +1 -1
  263. package/dist/services/SolrSearchService.d.ts.map +1 -1
  264. package/dist/services/SolrSearchService.js +12 -42
  265. package/dist/services/StandardDatastreamService.d.ts +5 -4
  266. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  267. package/dist/services/StandardDatastreamService.js +61 -106
  268. package/dist/services/TriggerService.d.ts.map +1 -1
  269. package/dist/services/TriggerService.js +30 -54
  270. package/dist/services/UsersService.d.ts +1 -2
  271. package/dist/services/UsersService.d.ts.map +1 -1
  272. package/dist/services/UsersService.js +283 -364
  273. package/dist/services/VocabularyService.d.ts +0 -2
  274. package/dist/services/VocabularyService.d.ts.map +1 -1
  275. package/dist/services/VocabularyService.js +2 -61
  276. package/dist/services/WorkflowStepsService.d.ts +0 -11
  277. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  278. package/dist/services/WorkflowStepsService.js +3 -32
  279. package/dist/services/WorkspaceService.d.ts +2 -2
  280. package/dist/services/WorkspaceService.d.ts.map +1 -1
  281. package/dist/services/WorkspaceService.js +5 -5
  282. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  283. package/dist/services/doi-v2/bindings.js +20 -3
  284. package/dist/services/doi-v2/config.d.ts +0 -1
  285. package/dist/services/doi-v2/config.d.ts.map +1 -1
  286. package/dist/services/doi-v2/config.js +5 -13
  287. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  288. package/dist/services/doi-v2/runtime.js +54 -14
  289. package/dist/services/figshare-v2/admin.d.ts +16 -0
  290. package/dist/services/figshare-v2/admin.d.ts.map +1 -0
  291. package/dist/services/figshare-v2/admin.js +283 -0
  292. package/dist/services/figshare-v2/assets.d.ts +20 -1
  293. package/dist/services/figshare-v2/assets.d.ts.map +1 -1
  294. package/dist/services/figshare-v2/assets.js +16 -1
  295. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  296. package/dist/services/figshare-v2/bindings.js +20 -3
  297. package/dist/services/figshare-v2/config.d.ts +8 -2
  298. package/dist/services/figshare-v2/config.d.ts.map +1 -1
  299. package/dist/services/figshare-v2/config.js +31 -3
  300. package/dist/services/figshare-v2/execution.d.ts +25 -0
  301. package/dist/services/figshare-v2/execution.d.ts.map +1 -0
  302. package/dist/services/figshare-v2/execution.js +49 -0
  303. package/dist/services/figshare-v2/http.d.ts +6 -1
  304. package/dist/services/figshare-v2/http.d.ts.map +1 -1
  305. package/dist/services/figshare-v2/http.js +69 -12
  306. package/dist/services/figshare-v2/identity.d.ts +12 -0
  307. package/dist/services/figshare-v2/identity.d.ts.map +1 -0
  308. package/dist/services/figshare-v2/identity.js +78 -0
  309. package/dist/services/figshare-v2/managed-assets.d.ts +9 -0
  310. package/dist/services/figshare-v2/managed-assets.d.ts.map +1 -0
  311. package/dist/services/figshare-v2/managed-assets.js +229 -0
  312. package/dist/services/figshare-v2/plan.d.ts.map +1 -1
  313. package/dist/services/figshare-v2/plan.js +2 -9
  314. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  315. package/dist/services/figshare-v2/runtime.js +58 -11
  316. package/dist/services/figshare-v2/source-intent.d.ts +9 -0
  317. package/dist/services/figshare-v2/source-intent.d.ts.map +1 -0
  318. package/dist/services/figshare-v2/source-intent.js +93 -0
  319. package/dist/services/figshare-v2/status.d.ts +4 -0
  320. package/dist/services/figshare-v2/status.d.ts.map +1 -0
  321. package/dist/services/figshare-v2/status.js +29 -0
  322. package/dist/services/figshare-v2/sync-store.d.ts +27 -0
  323. package/dist/services/figshare-v2/sync-store.d.ts.map +1 -0
  324. package/dist/services/figshare-v2/sync-store.js +139 -0
  325. package/dist/services/figshare-v2/types.d.ts +3 -0
  326. package/dist/services/figshare-v2/types.d.ts.map +1 -1
  327. package/dist/services/figshare-v2/types.js +1 -1
  328. package/dist/services/figshare-v2/worker.d.ts +16 -0
  329. package/dist/services/figshare-v2/worker.d.ts.map +1 -0
  330. package/dist/services/figshare-v2/worker.js +572 -0
  331. package/dist/services/index.d.ts +0 -9
  332. package/dist/services/index.d.ts.map +1 -1
  333. package/dist/services/index.js +3 -45
  334. package/dist/utilities/TranslationHtml.d.ts +3 -0
  335. package/dist/utilities/TranslationHtml.d.ts.map +1 -0
  336. package/dist/utilities/TranslationHtml.js +46 -0
  337. package/dist/visitor/client.visitor.d.ts +0 -6
  338. package/dist/visitor/client.visitor.d.ts.map +1 -1
  339. package/dist/visitor/client.visitor.js +14 -59
  340. package/dist/visitor/construct.visitor.d.ts +1 -27
  341. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  342. package/dist/visitor/construct.visitor.js +177 -265
  343. package/dist/visitor/context-variables.visitor.d.ts +1 -3
  344. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  345. package/dist/visitor/context-variables.visitor.js +1 -15
  346. package/dist/visitor/data-value.visitor.d.ts +0 -6
  347. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  348. package/dist/visitor/data-value.visitor.js +1 -10
  349. package/dist/visitor/json-type-def.visitor.d.ts +0 -6
  350. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  351. package/dist/visitor/json-type-def.visitor.js +1 -10
  352. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +0 -11
  353. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  354. package/dist/visitor/migrate-config-v4-v5.visitor.js +133 -228
  355. package/dist/visitor/template.visitor.d.ts +2 -17
  356. package/dist/visitor/template.visitor.d.ts.map +1 -1
  357. package/dist/visitor/template.visitor.js +22 -60
  358. package/dist/visitor/validator.visitor.d.ts +7 -49
  359. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  360. package/dist/visitor/validator.visitor.js +178 -275
  361. package/dist/waterline-models/AttachmentMetadata.d.ts +0 -22
  362. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  363. package/dist/waterline-models/AttachmentMetadata.js +3 -147
  364. package/dist/waterline-models/BrandingConfig.d.ts +0 -7
  365. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  366. package/dist/waterline-models/BrandingConfig.js +1 -16
  367. package/dist/waterline-models/BrandingConfigHistory.d.ts +2 -11
  368. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  369. package/dist/waterline-models/BrandingConfigHistory.js +1 -21
  370. package/dist/waterline-models/FigshareSync.d.ts +41 -0
  371. package/dist/waterline-models/FigshareSync.d.ts.map +1 -0
  372. package/dist/waterline-models/FigshareSync.js +168 -0
  373. package/dist/waterline-models/RecordType.d.ts +0 -9
  374. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  375. package/dist/waterline-models/RecordType.js +1 -16
  376. package/dist/waterline-models/User.d.ts.map +1 -1
  377. package/dist/waterline-models/User.js +15 -10
  378. package/dist/waterline-models/index.d.ts +2 -2
  379. package/dist/waterline-models/index.d.ts.map +1 -1
  380. package/dist/waterline-models/index.js +4 -4
  381. package/package.json +46 -59
  382. package/dist/AttachmentStagingIdentity.d.ts +0 -3
  383. package/dist/AttachmentStagingIdentity.d.ts.map +0 -1
  384. package/dist/AttachmentStagingIdentity.js +0 -10
  385. package/dist/RecordConcurrencyObservability.d.ts +0 -51
  386. package/dist/RecordConcurrencyObservability.d.ts.map +0 -1
  387. package/dist/RecordConcurrencyObservability.js +0 -136
  388. package/dist/RecordEntityTag.d.ts +0 -31
  389. package/dist/RecordEntityTag.d.ts.map +0 -1
  390. package/dist/RecordEntityTag.js +0 -101
  391. package/dist/RecordFormFingerprint.d.ts +0 -7
  392. package/dist/RecordFormFingerprint.d.ts.map +0 -1
  393. package/dist/RecordFormFingerprint.js +0 -106
  394. package/dist/RecordHttpConcurrency.d.ts +0 -60
  395. package/dist/RecordHttpConcurrency.d.ts.map +0 -1
  396. package/dist/RecordHttpConcurrency.js +0 -181
  397. package/dist/RecordSaveResponse.d.ts +0 -219
  398. package/dist/RecordSaveResponse.d.ts.map +0 -1
  399. package/dist/RecordSaveResponse.js +0 -639
  400. package/dist/RecordStorageConcurrency.d.ts +0 -48
  401. package/dist/RecordStorageConcurrency.d.ts.map +0 -1
  402. package/dist/RecordStorageConcurrency.js +0 -103
  403. package/dist/RecordWriteClassification.d.ts +0 -12
  404. package/dist/RecordWriteClassification.d.ts.map +0 -1
  405. package/dist/RecordWriteClassification.js +0 -70
  406. package/dist/action-execution/audit.d.ts +0 -41
  407. package/dist/action-execution/audit.d.ts.map +0 -1
  408. package/dist/action-execution/audit.js +0 -122
  409. package/dist/action-execution/executor.d.ts +0 -24
  410. package/dist/action-execution/executor.d.ts.map +0 -1
  411. package/dist/action-execution/executor.js +0 -435
  412. package/dist/action-execution/failure.d.ts +0 -49
  413. package/dist/action-execution/failure.d.ts.map +0 -1
  414. package/dist/action-execution/failure.js +0 -129
  415. package/dist/action-execution/index.d.ts +0 -7
  416. package/dist/action-execution/index.d.ts.map +0 -1
  417. package/dist/action-execution/index.js +0 -23
  418. package/dist/action-execution/legacy-result.d.ts +0 -21
  419. package/dist/action-execution/legacy-result.d.ts.map +0 -1
  420. package/dist/action-execution/legacy-result.js +0 -70
  421. package/dist/action-execution/policy.d.ts +0 -12
  422. package/dist/action-execution/policy.d.ts.map +0 -1
  423. package/dist/action-execution/policy.js +0 -138
  424. package/dist/action-execution/types.d.ts +0 -121
  425. package/dist/action-execution/types.d.ts.map +0 -1
  426. package/dist/action-execution/types.js +0 -22
  427. package/dist/api-routes/groups/record-schemas.d.ts +0 -5
  428. package/dist/api-routes/groups/record-schemas.d.ts.map +0 -1
  429. package/dist/api-routes/groups/record-schemas.js +0 -181
  430. package/dist/api-routes/record-schema-openapi.d.ts +0 -26
  431. package/dist/api-routes/record-schema-openapi.d.ts.map +0 -1
  432. package/dist/api-routes/record-schema-openapi.js +0 -38
  433. package/dist/api-routes/record-schema-response.d.ts +0 -40
  434. package/dist/api-routes/record-schema-response.d.ts.map +0 -1
  435. package/dist/api-routes/record-schema-response.js +0 -89
  436. package/dist/config/recordSchema.config.d.ts +0 -68
  437. package/dist/config/recordSchema.config.d.ts.map +0 -1
  438. package/dist/config/recordSchema.config.js +0 -173
  439. package/dist/config/recordValidation.config.d.ts +0 -19
  440. package/dist/config/recordValidation.config.d.ts.map +0 -1
  441. package/dist/config/recordValidation.config.js +0 -10
  442. package/dist/configmodels/DashboardFieldCatalogue.d.ts +0 -67
  443. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +0 -1
  444. package/dist/configmodels/DashboardFieldCatalogue.js +0 -174
  445. package/dist/configmodels/DashboardSettings.d.ts +0 -191
  446. package/dist/configmodels/DashboardSettings.d.ts.map +0 -1
  447. package/dist/configmodels/DashboardSettings.js +0 -705
  448. package/dist/configmodels/OniPublishing.d.ts +0 -205
  449. package/dist/configmodels/OniPublishing.d.ts.map +0 -1
  450. package/dist/configmodels/OniPublishing.js +0 -335
  451. package/dist/configmodels/RaidPublishing.d.ts +0 -97
  452. package/dist/configmodels/RaidPublishing.d.ts.map +0 -1
  453. package/dist/configmodels/RaidPublishing.js +0 -35
  454. package/dist/configmodels/WebAnalytics.d.ts +0 -55
  455. package/dist/configmodels/WebAnalytics.d.ts.map +0 -1
  456. package/dist/configmodels/WebAnalytics.js +0 -61
  457. package/dist/controllers/BrandingControllerSupport.d.ts +0 -20
  458. package/dist/controllers/BrandingControllerSupport.d.ts.map +0 -1
  459. package/dist/controllers/BrandingControllerSupport.js +0 -80
  460. package/dist/controllers/webservice/RecordSchemaController.d.ts +0 -32
  461. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +0 -1
  462. package/dist/controllers/webservice/RecordSchemaController.js +0 -356
  463. package/dist/model/BrandingTypeface.d.ts +0 -70
  464. package/dist/model/BrandingTypeface.d.ts.map +0 -1
  465. package/dist/model/BrandingTypeface.js +0 -116
  466. package/dist/model/record-contract.d.ts +0 -42
  467. package/dist/model/record-contract.d.ts.map +0 -1
  468. package/dist/model/record-contract.js +0 -3
  469. package/dist/model/storage/record-schema.d.ts +0 -115
  470. package/dist/model/storage/record-schema.d.ts.map +0 -1
  471. package/dist/model/storage/record-schema.js +0 -3
  472. package/dist/record-contract/ajv-error-mapper.d.ts +0 -34
  473. package/dist/record-contract/ajv-error-mapper.d.ts.map +0 -1
  474. package/dist/record-contract/ajv-error-mapper.js +0 -153
  475. package/dist/record-contract/canonical-json.d.ts +0 -20
  476. package/dist/record-contract/canonical-json.d.ts.map +0 -1
  477. package/dist/record-contract/canonical-json.js +0 -126
  478. package/dist/record-contract/codes.d.ts +0 -36
  479. package/dist/record-contract/codes.d.ts.map +0 -1
  480. package/dist/record-contract/codes.js +0 -38
  481. package/dist/record-contract/contributor-registry.d.ts +0 -76
  482. package/dist/record-contract/contributor-registry.d.ts.map +0 -1
  483. package/dist/record-contract/contributor-registry.js +0 -126
  484. package/dist/record-contract/core-contributors.d.ts +0 -44
  485. package/dist/record-contract/core-contributors.d.ts.map +0 -1
  486. package/dist/record-contract/core-contributors.js +0 -395
  487. package/dist/record-contract/deep-freeze.d.ts +0 -3
  488. package/dist/record-contract/deep-freeze.d.ts.map +0 -1
  489. package/dist/record-contract/deep-freeze.js +0 -23
  490. package/dist/record-contract/index.d.ts +0 -13
  491. package/dist/record-contract/index.d.ts.map +0 -1
  492. package/dist/record-contract/index.js +0 -29
  493. package/dist/record-contract/json-pointer.d.ts +0 -20
  494. package/dist/record-contract/json-pointer.d.ts.map +0 -1
  495. package/dist/record-contract/json-pointer.js +0 -70
  496. package/dist/record-contract/json-schema-renderer.d.ts +0 -51
  497. package/dist/record-contract/json-schema-renderer.d.ts.map +0 -1
  498. package/dist/record-contract/json-schema-renderer.js +0 -450
  499. package/dist/record-contract/record-contract-compiler.d.ts +0 -42
  500. package/dist/record-contract/record-contract-compiler.d.ts.map +0 -1
  501. package/dist/record-contract/record-contract-compiler.js +0 -775
  502. package/dist/record-contract/record-contract-context.d.ts +0 -91
  503. package/dist/record-contract/record-contract-context.d.ts.map +0 -1
  504. package/dist/record-contract/record-contract-context.js +0 -39
  505. package/dist/record-contract/record-json-schema-artifact.d.ts +0 -74
  506. package/dist/record-contract/record-json-schema-artifact.d.ts.map +0 -1
  507. package/dist/record-contract/record-json-schema-artifact.js +0 -309
  508. package/dist/record-contract/record-json-schema-etag.d.ts +0 -15
  509. package/dist/record-contract/record-json-schema-etag.d.ts.map +0 -1
  510. package/dist/record-contract/record-json-schema-etag.js +0 -41
  511. package/dist/record-contract/types.d.ts +0 -151
  512. package/dist/record-contract/types.d.ts.map +0 -1
  513. package/dist/record-contract/types.js +0 -6
  514. package/dist/services/BrandingTypefaceService.d.ts +0 -74
  515. package/dist/services/BrandingTypefaceService.d.ts.map +0 -1
  516. package/dist/services/BrandingTypefaceService.js +0 -359
  517. package/dist/services/BrandingWoff2Inspector.d.ts +0 -17
  518. package/dist/services/BrandingWoff2Inspector.d.ts.map +0 -1
  519. package/dist/services/BrandingWoff2Inspector.js +0 -402
  520. package/dist/services/DashboardLegacyConversion.d.ts +0 -82
  521. package/dist/services/DashboardLegacyConversion.d.ts.map +0 -1
  522. package/dist/services/DashboardLegacyConversion.js +0 -427
  523. package/dist/services/RecordSchemaService.d.ts +0 -440
  524. package/dist/services/RecordSchemaService.d.ts.map +0 -1
  525. package/dist/services/RecordSchemaService.js +0 -3061
  526. package/dist/services/RecordValidationService.d.ts +0 -340
  527. package/dist/services/RecordValidationService.d.ts.map +0 -1
  528. package/dist/services/RecordValidationService.js +0 -1898
  529. package/dist/services/form-record-access-user.d.ts +0 -3
  530. package/dist/services/form-record-access-user.d.ts.map +0 -1
  531. package/dist/services/form-record-access-user.js +0 -23
  532. package/dist/services/integration-v2/bindings.d.ts +0 -3
  533. package/dist/services/integration-v2/bindings.d.ts.map +0 -1
  534. package/dist/services/integration-v2/bindings.js +0 -91
  535. package/dist/services/integration-v2/runtime.d.ts +0 -3
  536. package/dist/services/integration-v2/runtime.d.ts.map +0 -1
  537. package/dist/services/integration-v2/runtime.js +0 -50
  538. package/dist/services/internal-record-schema-authorization.d.ts +0 -8
  539. package/dist/services/internal-record-schema-authorization.d.ts.map +0 -1
  540. package/dist/services/internal-record-schema-authorization.js +0 -16
  541. package/dist/services/oni-v2/audit.d.ts +0 -19
  542. package/dist/services/oni-v2/audit.d.ts.map +0 -1
  543. package/dist/services/oni-v2/audit.js +0 -50
  544. package/dist/services/oni-v2/bindings.d.ts +0 -7
  545. package/dist/services/oni-v2/bindings.d.ts.map +0 -1
  546. package/dist/services/oni-v2/bindings.js +0 -31
  547. package/dist/services/oni-v2/config.d.ts +0 -12
  548. package/dist/services/oni-v2/config.d.ts.map +0 -1
  549. package/dist/services/oni-v2/config.js +0 -134
  550. package/dist/services/oni-v2/context.d.ts +0 -3
  551. package/dist/services/oni-v2/context.d.ts.map +0 -1
  552. package/dist/services/oni-v2/context.js +0 -17
  553. package/dist/services/oni-v2/crate.d.ts +0 -17
  554. package/dist/services/oni-v2/crate.d.ts.map +0 -1
  555. package/dist/services/oni-v2/crate.js +0 -504
  556. package/dist/services/oni-v2/flydriveOcflStore.d.ts +0 -69
  557. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +0 -1
  558. package/dist/services/oni-v2/flydriveOcflStore.js +0 -325
  559. package/dist/services/oni-v2/ingestion.d.ts +0 -37
  560. package/dist/services/oni-v2/ingestion.d.ts.map +0 -1
  561. package/dist/services/oni-v2/ingestion.js +0 -91
  562. package/dist/services/oni-v2/mapping.d.ts +0 -17
  563. package/dist/services/oni-v2/mapping.d.ts.map +0 -1
  564. package/dist/services/oni-v2/mapping.js +0 -137
  565. package/dist/services/oni-v2/repository.d.ts +0 -9
  566. package/dist/services/oni-v2/repository.d.ts.map +0 -1
  567. package/dist/services/oni-v2/repository.js +0 -180
  568. package/dist/services/oni-v2/runtime.d.ts +0 -23
  569. package/dist/services/oni-v2/runtime.d.ts.map +0 -1
  570. package/dist/services/oni-v2/runtime.js +0 -121
  571. package/dist/services/oni-v2/templating.d.ts +0 -11
  572. package/dist/services/oni-v2/templating.d.ts.map +0 -1
  573. package/dist/services/oni-v2/templating.js +0 -27
  574. package/dist/services/oni-v2/types.d.ts +0 -100
  575. package/dist/services/oni-v2/types.d.ts.map +0 -1
  576. package/dist/services/oni-v2/types.js +0 -3
  577. package/dist/services/raid-v2/audit.d.ts +0 -10
  578. package/dist/services/raid-v2/audit.d.ts.map +0 -1
  579. package/dist/services/raid-v2/audit.js +0 -29
  580. package/dist/services/raid-v2/errors.d.ts +0 -85
  581. package/dist/services/raid-v2/errors.d.ts.map +0 -1
  582. package/dist/services/raid-v2/errors.js +0 -36
  583. package/dist/services/raid-v2/http.d.ts +0 -4
  584. package/dist/services/raid-v2/http.d.ts.map +0 -1
  585. package/dist/services/raid-v2/http.js +0 -84
  586. package/dist/services/raid-v2/logger.d.ts +0 -8
  587. package/dist/services/raid-v2/logger.d.ts.map +0 -1
  588. package/dist/services/raid-v2/logger.js +0 -30
  589. package/dist/services/raid-v2/mapping.d.ts +0 -9
  590. package/dist/services/raid-v2/mapping.d.ts.map +0 -1
  591. package/dist/services/raid-v2/mapping.js +0 -168
  592. package/dist/services/raid-v2/runtime.d.ts +0 -5
  593. package/dist/services/raid-v2/runtime.d.ts.map +0 -1
  594. package/dist/services/raid-v2/runtime.js +0 -135
  595. package/dist/services/raid-v2/tags.d.ts +0 -11
  596. package/dist/services/raid-v2/tags.d.ts.map +0 -1
  597. package/dist/services/raid-v2/tags.js +0 -12
  598. package/dist/services/raid-v2/types.d.ts +0 -66
  599. package/dist/services/raid-v2/types.d.ts.map +0 -1
  600. package/dist/services/raid-v2/types.js +0 -3
  601. package/dist/services/record-hooks/coordinator.d.ts +0 -64
  602. package/dist/services/record-hooks/coordinator.d.ts.map +0 -1
  603. package/dist/services/record-hooks/coordinator.js +0 -276
  604. package/dist/visitor/related-object-data-inline.visitor.d.ts +0 -31
  605. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +0 -1
  606. package/dist/visitor/related-object-data-inline.visitor.js +0 -96
  607. package/dist/waterline-models/DashboardConfiguration.d.ts +0 -29
  608. package/dist/waterline-models/DashboardConfiguration.d.ts.map +0 -1
  609. package/dist/waterline-models/DashboardConfiguration.js +0 -52
@@ -1,6 +1,6 @@
1
1
  import type { Response } from 'express';
2
2
  import { ILogger } from './Logger';
3
- import { BuildResponseType, APIErrorResponse, ApiVersionStrings } from "./model";
3
+ import { BuildResponseType, APIErrorResponse } from "./model";
4
4
  export declare namespace Controllers.Core {
5
5
  /**
6
6
  * Core controller which defines common logic between controllers.
@@ -172,9 +172,9 @@ export declare namespace Controllers.Core {
172
172
  * Defaults to v1.
173
173
  * @param req The sails request.
174
174
  * @return The API version string.
175
- * @protected
175
+ * @private
176
176
  */
177
- protected getApiVersion(req: Sails.Req): ApiVersionStrings;
177
+ private getApiVersion;
178
178
  /**
179
179
  * Send a response built from the properties.
180
180
  *
@@ -206,10 +206,6 @@ export declare namespace Controllers.Core {
206
206
  private resolveResponseStatus;
207
207
  private applyResponseHeaders;
208
208
  private applyResponseStatus;
209
- private isApprovedRawJsonMediaType;
210
- private isJsonSafeValue;
211
- private isRawJsonObject;
212
- private sendRawJsonResponse;
213
209
  private shouldSendSuccessJson;
214
210
  private sendSuccessJson;
215
211
  private buildV1ErrorResponse;
@@ -1 +1 @@
1
- {"version":3,"file":"CoreController.d.ts","sourceRoot":"","sources":["../src/CoreController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreController.d.ts","sourceRoot":"","sources":["../src/CoreController.ts"],"names":[],"mappings":"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"}
@@ -504,7 +504,7 @@ var Controllers;
504
504
  * Defaults to v1.
505
505
  * @param req The sails request.
506
506
  * @return The API version string.
507
- * @protected
507
+ * @private
508
508
  */
509
509
  getApiVersion(req) {
510
510
  const defaultVersion = model_1.ApiVersion.VERSION_1_0;
@@ -560,8 +560,7 @@ var Controllers;
560
560
  sendResp(req, res, buildResponse) {
561
561
  const apiVersion = this.getApiVersion(req);
562
562
  // Destructure build response properties and set defaults.
563
- const { format = "json", data: suppliedData, headers = {}, errors = [], displayErrors = [], meta = {}, prehydrate = undefined, v1 = null, } = buildResponse ?? {};
564
- const data = suppliedData === undefined ? {} : suppliedData;
563
+ const { format = "json", data = {}, headers = {}, errors = [], displayErrors = [], meta = {}, prehydrate = undefined, v1 = null, } = buildResponse ?? {};
565
564
  // Response status defaults to 200.
566
565
  let { status = 200 } = buildResponse ?? {};
567
566
  // Collect and process the errors recursively
@@ -570,13 +569,6 @@ var Controllers;
570
569
  status = this.resolveResponseStatus(status, collectedDisplayErrors);
571
570
  this.applyResponseHeaders(res, headers);
572
571
  this.applyResponseStatus(res, status);
573
- if (status === 304) {
574
- sails.log.verbose('Send bodyless 304 response.');
575
- return res.end();
576
- }
577
- if (format === 'raw-json') {
578
- return this.sendRawJsonResponse(res, buildResponse?.mediaType, suppliedData);
579
- }
580
572
  // Delegate full version-specific responses (success + errors) to wrapper handlers.
581
573
  if (apiVersion === model_1.ApiVersion.VERSION_1_0) {
582
574
  return this.handleV1Response(res, format, status, collectedErrors, collectedDisplayErrors, v1, data, meta);
@@ -666,80 +658,6 @@ var Controllers;
666
658
  res.status(500);
667
659
  }
668
660
  }
669
- isApprovedRawJsonMediaType(value) {
670
- return model_1.RawJsonResponseMediaTypes.some(mediaType => mediaType === value);
671
- }
672
- isJsonSafeValue(value, ancestors) {
673
- if (value === null || typeof value === 'string' || typeof value === 'boolean') {
674
- return true;
675
- }
676
- if (typeof value === 'number') {
677
- return Number.isFinite(value);
678
- }
679
- if (typeof value !== 'object') {
680
- return false;
681
- }
682
- if (ancestors.has(value)) {
683
- return false;
684
- }
685
- ancestors.add(value);
686
- try {
687
- if (Array.isArray(value)) {
688
- if (Object.getOwnPropertySymbols(value).length > 0) {
689
- return false;
690
- }
691
- const descriptors = Object.getOwnPropertyDescriptors(value);
692
- if (Object.keys(descriptors).length !== value.length + 1) {
693
- return false;
694
- }
695
- for (let index = 0; index < value.length; index += 1) {
696
- const descriptor = descriptors[index];
697
- if (!descriptor ||
698
- descriptor.enumerable !== true ||
699
- !('value' in descriptor) ||
700
- !this.isJsonSafeValue(descriptor.value, ancestors)) {
701
- return false;
702
- }
703
- }
704
- return true;
705
- }
706
- const prototype = Object.getPrototypeOf(value);
707
- if (prototype !== Object.prototype && prototype !== null) {
708
- return false;
709
- }
710
- if (Object.getOwnPropertySymbols(value).length > 0) {
711
- return false;
712
- }
713
- return Object.values(Object.getOwnPropertyDescriptors(value)).every(descriptor => descriptor.enumerable === true &&
714
- 'value' in descriptor &&
715
- this.isJsonSafeValue(descriptor.value, ancestors));
716
- }
717
- finally {
718
- ancestors.delete(value);
719
- }
720
- }
721
- isRawJsonObject(value) {
722
- try {
723
- return value !== null && typeof value === 'object' && !Array.isArray(value) &&
724
- this.isJsonSafeValue(value, new Set());
725
- }
726
- catch {
727
- return false;
728
- }
729
- }
730
- sendRawJsonResponse(res, mediaType, data) {
731
- if (!this.isApprovedRawJsonMediaType(mediaType) || !this.isRawJsonObject(data)) {
732
- sails.log.error('Rejected unsupported raw JSON response in sendResp', {
733
- mediaType: typeof mediaType === 'string' ? mediaType : typeof mediaType,
734
- bodyKind: data === null ? 'null' : Array.isArray(data) ? 'array' : typeof data,
735
- });
736
- res.set('Content-Type', 'application/json');
737
- return res.status(500).json({ errors: [{ detail: "Check server logs." }], meta: {} });
738
- }
739
- res.set('Content-Type', mediaType);
740
- sails.log.verbose(`Send raw JSON response with media type ${mediaType}.`);
741
- return res.json(data);
742
- }
743
661
  shouldSendSuccessJson(format, collectedErrors, collectedDisplayErrors, status, data, v1, apiVersion) {
744
662
  if (format !== 'json') {
745
663
  return false;
@@ -887,4 +805,4 @@ var Controllers;
887
805
  Core.Controller = Controller;
888
806
  })(Core = Controllers.Core || (Controllers.Core = {}));
889
807
  })(Controllers || (exports.Controllers = Controllers = {}));
890
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29yZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQTRCO0FBQzVCLGdEQUF3QjtBQUV4QixxREFBNkU7QUFDN0UsNkVBQThFO0FBQzlFLHlEQUE0RDtBQUU1RCxtQ0FRaUI7QUFNakIsSUFBaUIsV0FBVyxDQSsrQjNCO0FBLytCRCxXQUFpQixXQUFXO0lBQUMsSUFBQSxJQUFJLENBKytCaEM7SUEvK0I0QixXQUFBLElBQUk7UUFJL0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWtCRztRQUNILE1BQWEsVUFBVTtZQUVyQjs7OztlQUlHO1lBQ08sT0FBTyxHQUE0QixFQUFFLENBQUM7WUFFaEQ7O2VBRUc7WUFDTyxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7WUFFMUM7OztlQUdHO1lBQ08sTUFBTSxHQUFXLFNBQVMsQ0FBQztZQUVyQzs7ZUFFRztZQUNPLE9BQU8sR0FBVyxTQUFTLENBQUM7WUFFdEM7O2VBRUc7WUFDTyxtQkFBbUIsR0FBVyxjQUFjLENBQUM7WUFFdkQ7OztlQUdHO1lBQ0ssdUJBQXVCLEdBQWE7Z0JBQzFDLGtDQUFrQztnQkFDbEMsU0FBUzthQUNWLENBQUM7WUFFRixvQ0FBb0M7WUFDNUIsT0FBTyxHQUFtQixJQUFJLENBQUM7WUFFL0IsaUJBQWlCO2dCQUN2QixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBZSxFQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQy9ELE1BQU0sSUFBSSxHQUFHLEdBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDbkMsT0FBTztvQkFDTCxLQUFLLEVBQUUsR0FBRztvQkFDVixPQUFPLEVBQUUsR0FBRztvQkFDWixLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFB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
808
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29yZUNvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQ29yZUNvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsMENBQTRCO0FBQzVCLGdEQUF3QjtBQUV4QixxREFBNkU7QUFDN0UsNkVBQThFO0FBQzlFLHlEQUE0RDtBQUU1RCxtQ0FPaUI7QUFNakIsSUFBaUIsV0FBVyxDQWk1QjNCO0FBajVCRCxXQUFpQixXQUFXO0lBQUMsSUFBQSxJQUFJLENBaTVCaEM7SUFqNUI0QixXQUFBLElBQUk7UUFJL0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztXQWtCRztRQUNILE1BQWEsVUFBVTtZQUVyQjs7OztlQUlHO1lBQ08sT0FBTyxHQUE0QixFQUFFLENBQUM7WUFFaEQ7O2VBRUc7WUFDTyxnQkFBZ0IsR0FBYSxFQUFFLENBQUM7WUFFMUM7OztlQUdHO1lBQ08sTUFBTSxHQUFXLFNBQVMsQ0FBQztZQUVyQzs7ZUFFRztZQUNPLE9BQU8sR0FBVyxTQUFTLENBQUM7WUFFdEM7O2VBRUc7WUFDTyxtQkFBbUIsR0FBVyxjQUFjLENBQUM7WUFFdkQ7OztlQUdHO1lBQ0ssdUJBQXVCLEdBQWE7Z0JBQzFDLGtDQUFrQztnQkFDbEMsU0FBUzthQUNWLENBQUM7WUFFRixvQ0FBb0M7WUFDNUIsT0FBTyxHQUFtQixJQUFJLENBQUM7WUFFL0IsaUJBQWlCO2dCQUN2QixNQUFNLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBZSxFQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQy9ELE1BQU0sSUFBSSxHQUFHLEdBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQztnQkFDbkMsT0FBTztvQkFDTCxLQUFLLEVBQUUsR0FBRztvQkFDVixPQUFPLEVBQUUsR0FBRztvQkFDWixLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQWUsRUFB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
@@ -13,14 +13,12 @@ export interface DatastreamService {
13
13
  addDatastreams(oid: string, datastreams: Datastream[]): Promise<DatastreamServiceResponse>;
14
14
  updateDatastream(oid: string, record: unknown, newMetadata: unknown, stagingDisk: StorageManagerServices.IDisk, fileIdsAdded: Datastream[]): Observable<Promise<unknown>[]>;
15
15
  removeDatastream(oid: string, datastream: Datastream): Promise<unknown>;
16
- /** Delete an abandoned upload from staging without touching primary data. */
17
- removeStagedDatastream?(fileId: string): Promise<void>;
18
- /** Probe all final/TUS objects for one normalized staging identity. */
19
- stagingDatastreamExists?(fileId: string): Promise<boolean>;
20
16
  addDatastream(oid: string, datastream: Datastream, stagingDisk?: StorageManagerServices.IDisk): Promise<unknown>;
21
17
  addAndRemoveDatastreams(oid: string, addDatastreams: Datastream[], removeDatastreams: Datastream[], stagingDisk?: StorageManagerServices.IDisk): Promise<unknown>;
22
18
  getDatastream(oid: string, fileId: string, requestContext?: DatastreamRequestContext): Promise<DatastreamContent>;
23
19
  listDatastreams(oid: string, fileId: string, requestContext?: DatastreamRequestContext): Promise<Record<string, unknown>[]>;
20
+ /** Identifies the stored bytes without reading them; changes whenever they are rewritten. Undefined when unknown. */
21
+ getDatastreamFingerprint?(oid: string, fileId: string): Promise<string | undefined>;
24
22
  }
25
23
  export {};
26
24
  //# sourceMappingURL=DatastreamService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatastreamService.d.ts","sourceRoot":"","sources":["../src/DatastreamService.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE3F,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3F,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,sBAAsB,CAAC,KAAK,EACzC,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,6EAA6E;IAC7E,sBAAsB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,uEAAuE;IACvE,uBAAuB,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,uBAAuB,CACrB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,UAAU,EAAE,EAC5B,iBAAiB,EAAE,UAAU,EAAE,EAC/B,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GACzC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClH,eAAe,CACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,wBAAwB,GACxC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"DatastreamService.d.ts","sourceRoot":"","sources":["../src/DatastreamService.ts"],"names":[],"mappings":"AAAA,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,KAAK,EAAE,QAAQ,IAAI,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAE3F,KAAK,iBAAiB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC3F,gBAAgB,CACd,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,OAAO,EACpB,WAAW,EAAE,sBAAsB,CAAC,KAAK,EACzC,YAAY,EAAE,UAAU,EAAE,GACzB,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACxE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjH,uBAAuB,CACrB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,UAAU,EAAE,EAC5B,iBAAiB,EAAE,UAAU,EAAE,EAC/B,WAAW,CAAC,EAAE,sBAAsB,CAAC,KAAK,GACzC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5H,qHAAqH;IACrH,wBAAwB,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACrF"}
@@ -1,6 +1,5 @@
1
1
  import { APIHarvestResponse, BrandingModel, RecordTypeModel, UserModel } from './model';
2
2
  import { HarvestRunDetailResult, HarvestRunEventsQuery, HarvestRunEventsResult, HarvestRunListQuery, HarvestRunListResult, HarvestRunChunkModel, HarvestRunModel } from './model/storage/HarvestRunModel';
3
- import type { RecordSaveContext } from './RecordSaveResponse';
4
3
  export type HarvestTrackedChunkRequest = {
5
4
  sourceRunId: string;
6
5
  sourceName: string;
@@ -39,9 +38,9 @@ export declare class HarvestRunServiceError extends Error {
39
38
  constructor(message: string, statusCode?: number);
40
39
  }
41
40
  export interface HarvestRunService {
42
- submitCompatibilityRecords(brand: BrandingModel, recordTypeModel: RecordTypeModel, body: Record<string, unknown> | undefined, updateMode: string, user: UserModel, context?: RecordSaveContext): Promise<APIHarvestResponse[]>;
43
- submitLegacyRecords(brand: BrandingModel, recordTypeModel: RecordTypeModel, body: Record<string, unknown> | undefined, merge: boolean, user: UserModel, context?: RecordSaveContext): Promise<APIHarvestResponse[]>;
44
- submitChunk(brand: BrandingModel, recordTypeModel: RecordTypeModel, request: Record<string, unknown> | undefined, user: UserModel, context?: RecordSaveContext): Promise<HarvestTrackedChunkResponse>;
41
+ submitCompatibilityRecords(brand: BrandingModel, recordTypeModel: RecordTypeModel, body: Record<string, unknown> | undefined, updateMode: string, user: UserModel): Promise<APIHarvestResponse[]>;
42
+ submitLegacyRecords(brand: BrandingModel, recordTypeModel: RecordTypeModel, body: Record<string, unknown> | undefined, merge: boolean, user: UserModel): Promise<APIHarvestResponse[]>;
43
+ submitChunk(brand: BrandingModel, recordTypeModel: RecordTypeModel, request: Record<string, unknown> | undefined, user: UserModel): Promise<HarvestTrackedChunkResponse>;
45
44
  listRuns(brand: BrandingModel, params: Partial<HarvestRunListQuery>): Promise<HarvestRunListResult>;
46
45
  getRun(brand: BrandingModel, runId: string): Promise<HarvestRunDetailResult | null>;
47
46
  runExists(brand: BrandingModel, runId: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"HarvestRunService.d.ts","sourceRoot":"","sources":["../src/HarvestRunService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HarvestRunService.d.ts","sourceRoot":"","sources":["../src/HarvestRunService.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,4 @@ class HarvestRunServiceError extends Error {
10
10
  }
11
11
  }
12
12
  exports.HarvestRunServiceError = HarvestRunServiceError;
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFydmVzdFJ1blNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvSGFydmVzdFJ1blNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBaURBLE1BQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxVQUFVLENBQVM7SUFFbkIsWUFBWSxPQUFlLEVBQUUsVUFBVSxHQUFHLEdBQUc7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFSRCx3REFRQyJ9
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGFydmVzdFJ1blNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvSGFydmVzdFJ1blNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZ0RBLE1BQWEsc0JBQXVCLFNBQVEsS0FBSztJQUMvQyxVQUFVLENBQVM7SUFFbkIsWUFBWSxPQUFlLEVBQUUsVUFBVSxHQUFHLEdBQUc7UUFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyx3QkFBd0IsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFSRCx3REFRQyJ9
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export interface QueueService {
5
5
  every(jobName: string, interval: string, data: unknown, options: unknown): void;
6
- schedule(jobName: string, schedule: string, data: unknown): void;
6
+ schedule(jobName: string, schedule: string, data: unknown): Promise<unknown>;
7
7
  now(jobName: string, data: unknown): Promise<unknown>;
8
8
  }
9
9
  //# sourceMappingURL=QueueService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"QueueService.d.ts","sourceRoot":"","sources":["../src/QueueService.ts"],"names":[],"mappings":"AAmBA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACjE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD"}
1
+ {"version":3,"file":"QueueService.d.ts","sourceRoot":"","sources":["../src/QueueService.ts"],"names":[],"mappings":"AAmBA;;GAEG;AAEH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAChF,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD"}
@@ -0,0 +1,21 @@
1
+ import type { FigshareSourceRequest } from './model/storage/FigshareSyncModel';
2
+ /** Internal options: never populated from an incoming record or HTTP options. */
3
+ export interface RecordWriteOptions {
4
+ figshareIntent?: {
5
+ intents: FigshareSourceRequest[];
6
+ requestedBy: string;
7
+ saveToken: string;
8
+ readiness: 'initialising' | 'ready';
9
+ };
10
+ expectedVersion?: number;
11
+ maintenance?: boolean;
12
+ }
13
+ export interface RecordFieldWriteResult {
14
+ updated: boolean;
15
+ recordVersion?: number;
16
+ }
17
+ export declare class RecordWriteConflict extends Error {
18
+ constructor();
19
+ }
20
+ export declare function assertRecordFieldPaths(fields: Record<string, unknown>, allowed: string[]): void;
21
+ //# sourceMappingURL=RecordWriteOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordWriteOptions.d.ts","sourceRoot":"","sources":["../src/RecordWriteOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE/E,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE;QAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAA;KAAE,CAAC;IACnI,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,MAAM,WAAW,sBAAsB;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;AACpF,qBAAa,mBAAoB,SAAQ,KAAK;;CAE7C;AACD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAO/F"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecordWriteConflict = void 0;
4
+ exports.assertRecordFieldPaths = assertRecordFieldPaths;
5
+ class RecordWriteConflict extends Error {
6
+ constructor() { super('Record changed while background work was in progress'); this.name = 'RecordWriteConflict'; }
7
+ }
8
+ exports.RecordWriteConflict = RecordWriteConflict;
9
+ function assertRecordFieldPaths(fields, allowed) {
10
+ for (const path of Object.keys(fields)) {
11
+ if (!allowed.includes(path) || !/^(metadata|metaMetadata)\.[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)*$/.test(path)
12
+ || path.split('.').some(p => ['__proto__', 'constructor', 'prototype'].includes(p))) {
13
+ throw new Error(`Unsupported record projection path: ${path}`);
14
+ }
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVjb3JkV3JpdGVPcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1JlY29yZFdyaXRlT3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFZQSx3REFPQztBQVZELE1BQWEsbUJBQW9CLFNBQVEsS0FBSztJQUM1QyxnQkFBZ0IsS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDLENBQUMsQ0FBQztDQUNwSDtBQUZELGtEQUVDO0FBQ0QsU0FBZ0Isc0JBQXNCLENBQUMsTUFBK0IsRUFBRSxPQUFpQjtJQUN2RixLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7ZUFDdEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN0RixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyJ9