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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (548) hide show
  1. package/dist/AttachmentStagingIdentity.d.ts +3 -0
  2. package/dist/AttachmentStagingIdentity.d.ts.map +1 -0
  3. package/dist/AttachmentStagingIdentity.js +10 -0
  4. package/dist/CoreController.d.ts +7 -3
  5. package/dist/CoreController.d.ts.map +1 -1
  6. package/dist/CoreController.js +85 -3
  7. package/dist/DatastreamService.d.ts +4 -0
  8. package/dist/DatastreamService.d.ts.map +1 -1
  9. package/dist/HarvestRunService.d.ts +4 -3
  10. package/dist/HarvestRunService.d.ts.map +1 -1
  11. package/dist/HarvestRunService.js +1 -1
  12. package/dist/RecordConcurrencyObservability.d.ts +51 -0
  13. package/dist/RecordConcurrencyObservability.d.ts.map +1 -0
  14. package/dist/RecordConcurrencyObservability.js +136 -0
  15. package/dist/RecordEntityTag.d.ts +31 -0
  16. package/dist/RecordEntityTag.d.ts.map +1 -0
  17. package/dist/RecordEntityTag.js +101 -0
  18. package/dist/RecordFormFingerprint.d.ts +7 -0
  19. package/dist/RecordFormFingerprint.d.ts.map +1 -0
  20. package/dist/RecordFormFingerprint.js +106 -0
  21. package/dist/RecordHttpConcurrency.d.ts +60 -0
  22. package/dist/RecordHttpConcurrency.d.ts.map +1 -0
  23. package/dist/RecordHttpConcurrency.js +181 -0
  24. package/dist/RecordSaveResponse.d.ts +219 -0
  25. package/dist/RecordSaveResponse.d.ts.map +1 -0
  26. package/dist/RecordSaveResponse.js +639 -0
  27. package/dist/RecordStorageConcurrency.d.ts +48 -0
  28. package/dist/RecordStorageConcurrency.d.ts.map +1 -0
  29. package/dist/RecordStorageConcurrency.js +103 -0
  30. package/dist/RecordWriteClassification.d.ts +12 -0
  31. package/dist/RecordWriteClassification.d.ts.map +1 -0
  32. package/dist/RecordWriteClassification.js +70 -0
  33. package/dist/RecordsService.d.ts +105 -12
  34. package/dist/RecordsService.d.ts.map +1 -1
  35. package/dist/RecordsService.js +44 -1
  36. package/dist/SearchService.d.ts +2 -1
  37. package/dist/SearchService.d.ts.map +1 -1
  38. package/dist/StorageService.d.ts +48 -8
  39. package/dist/StorageService.d.ts.map +1 -1
  40. package/dist/StorageService.js +19 -1
  41. package/dist/StorageServiceResponse.d.ts +22 -1
  42. package/dist/StorageServiceResponse.d.ts.map +1 -1
  43. package/dist/StorageServiceResponse.js +22 -4
  44. package/dist/action-execution/audit.d.ts +41 -0
  45. package/dist/action-execution/audit.d.ts.map +1 -0
  46. package/dist/action-execution/audit.js +122 -0
  47. package/dist/action-execution/executor.d.ts +24 -0
  48. package/dist/action-execution/executor.d.ts.map +1 -0
  49. package/dist/action-execution/executor.js +435 -0
  50. package/dist/action-execution/failure.d.ts +49 -0
  51. package/dist/action-execution/failure.d.ts.map +1 -0
  52. package/dist/action-execution/failure.js +129 -0
  53. package/dist/action-execution/index.d.ts +7 -0
  54. package/dist/action-execution/index.d.ts.map +1 -0
  55. package/dist/action-execution/index.js +23 -0
  56. package/dist/action-execution/legacy-result.d.ts +21 -0
  57. package/dist/action-execution/legacy-result.d.ts.map +1 -0
  58. package/dist/action-execution/legacy-result.js +70 -0
  59. package/dist/action-execution/policy.d.ts +12 -0
  60. package/dist/action-execution/policy.d.ts.map +1 -0
  61. package/dist/action-execution/policy.js +138 -0
  62. package/dist/action-execution/types.d.ts +121 -0
  63. package/dist/action-execution/types.d.ts.map +1 -0
  64. package/dist/action-execution/types.js +22 -0
  65. package/dist/api-routes/groups/branding.d.ts +8 -0
  66. package/dist/api-routes/groups/branding.d.ts.map +1 -1
  67. package/dist/api-routes/groups/branding.js +86 -11
  68. package/dist/api-routes/groups/dashboard-config.d.ts +12 -9
  69. package/dist/api-routes/groups/dashboard-config.d.ts.map +1 -1
  70. package/dist/api-routes/groups/dashboard-config.js +136 -73
  71. package/dist/api-routes/groups/forms.d.ts.map +1 -1
  72. package/dist/api-routes/groups/forms.js +10 -2
  73. package/dist/api-routes/groups/record-schemas.d.ts +5 -0
  74. package/dist/api-routes/groups/record-schemas.d.ts.map +1 -0
  75. package/dist/api-routes/groups/record-schemas.js +181 -0
  76. package/dist/api-routes/groups/records.d.ts +1 -0
  77. package/dist/api-routes/groups/records.d.ts.map +1 -1
  78. package/dist/api-routes/groups/records.js +141 -26
  79. package/dist/api-routes/index.d.ts +3 -0
  80. package/dist/api-routes/index.d.ts.map +1 -1
  81. package/dist/api-routes/index.js +4 -1
  82. package/dist/api-routes/openapi.d.ts.map +1 -1
  83. package/dist/api-routes/openapi.js +7 -5
  84. package/dist/api-routes/record-schema-openapi.d.ts +26 -0
  85. package/dist/api-routes/record-schema-openapi.d.ts.map +1 -0
  86. package/dist/api-routes/record-schema-openapi.js +38 -0
  87. package/dist/api-routes/record-schema-response.d.ts +40 -0
  88. package/dist/api-routes/record-schema-response.d.ts.map +1 -0
  89. package/dist/api-routes/record-schema-response.js +89 -0
  90. package/dist/api-routes/request-extraction.d.ts.map +1 -1
  91. package/dist/api-routes/request-extraction.js +10 -8
  92. package/dist/api-routes/route-factory.d.ts.map +1 -1
  93. package/dist/api-routes/route-factory.js +2 -1
  94. package/dist/api-routes/route-registry.d.ts.map +1 -1
  95. package/dist/api-routes/route-registry.js +3 -1
  96. package/dist/api-routes/schemas/common.d.ts +36 -0
  97. package/dist/api-routes/schemas/common.d.ts.map +1 -1
  98. package/dist/api-routes/schemas/common.js +95 -5
  99. package/dist/api-routes/schemas/responses.d.ts +1424 -1
  100. package/dist/api-routes/schemas/responses.d.ts.map +1 -1
  101. package/dist/api-routes/schemas/responses.js +382 -60
  102. package/dist/api-routes/types.d.ts +1 -0
  103. package/dist/api-routes/types.d.ts.map +1 -1
  104. package/dist/api-routes/validation.d.ts +5 -1
  105. package/dist/api-routes/validation.d.ts.map +1 -1
  106. package/dist/api-routes/validation.js +14 -15
  107. package/dist/bootstrap.d.ts +3 -1
  108. package/dist/bootstrap.d.ts.map +1 -1
  109. package/dist/bootstrap.js +58 -41
  110. package/dist/config/agendaQueue.config.d.ts +3 -0
  111. package/dist/config/agendaQueue.config.d.ts.map +1 -1
  112. package/dist/config/agendaQueue.config.js +29 -2
  113. package/dist/config/branding.config.d.ts +13 -0
  114. package/dist/config/branding.config.d.ts.map +1 -1
  115. package/dist/config/branding.config.js +34 -2
  116. package/dist/config/brandingConfigurationDefaults.config.d.ts +4 -0
  117. package/dist/config/brandingConfigurationDefaults.config.d.ts.map +1 -1
  118. package/dist/config/brandingConfigurationDefaults.config.js +42 -3
  119. package/dist/config/index.d.ts +12 -4
  120. package/dist/config/index.d.ts.map +1 -1
  121. package/dist/config/index.js +7 -4
  122. package/dist/config/policies.config.d.ts.map +1 -1
  123. package/dist/config/policies.config.js +37 -23
  124. package/dist/config/raid.config.d.ts +7 -4
  125. package/dist/config/raid.config.d.ts.map +1 -1
  126. package/dist/config/raid.config.js +21 -35
  127. package/dist/config/record.config.d.ts +3 -0
  128. package/dist/config/record.config.d.ts.map +1 -1
  129. package/dist/config/record.config.js +37 -35
  130. package/dist/config/recordSchema.config.d.ts +68 -0
  131. package/dist/config/recordSchema.config.d.ts.map +1 -0
  132. package/dist/config/recordSchema.config.js +173 -0
  133. package/dist/config/recordValidation.config.d.ts +19 -0
  134. package/dist/config/recordValidation.config.d.ts.map +1 -0
  135. package/dist/config/recordValidation.config.js +10 -0
  136. package/dist/config/recordtype.config.d.ts +32 -9
  137. package/dist/config/recordtype.config.d.ts.map +1 -1
  138. package/dist/config/recordtype.config.js +4 -7
  139. package/dist/config/routes.config.d.ts.map +1 -1
  140. package/dist/config/routes.config.js +135 -53
  141. package/dist/config/workflow.config.d.ts +6 -0
  142. package/dist/config/workflow.config.d.ts.map +1 -1
  143. package/dist/config/workflow.config.js +1 -1
  144. package/dist/configmodels/AdminSidebarConfig.d.ts.map +1 -1
  145. package/dist/configmodels/AdminSidebarConfig.js +4 -2
  146. package/dist/configmodels/ConfigModels.d.ts +1 -1
  147. package/dist/configmodels/ConfigModels.d.ts.map +1 -1
  148. package/dist/configmodels/ConfigModels.js +26 -9
  149. package/dist/configmodels/DashboardFieldCatalogue.d.ts +67 -0
  150. package/dist/configmodels/DashboardFieldCatalogue.d.ts.map +1 -0
  151. package/dist/configmodels/DashboardFieldCatalogue.js +174 -0
  152. package/dist/configmodels/DashboardSettings.d.ts +191 -0
  153. package/dist/configmodels/DashboardSettings.d.ts.map +1 -0
  154. package/dist/configmodels/DashboardSettings.js +705 -0
  155. package/dist/configmodels/OniPublishing.d.ts +205 -0
  156. package/dist/configmodels/OniPublishing.d.ts.map +1 -0
  157. package/dist/configmodels/OniPublishing.js +335 -0
  158. package/dist/configmodels/RaidPublishing.d.ts +97 -0
  159. package/dist/configmodels/RaidPublishing.d.ts.map +1 -0
  160. package/dist/configmodels/RaidPublishing.js +35 -0
  161. package/dist/configmodels/WebAnalytics.d.ts +55 -0
  162. package/dist/configmodels/WebAnalytics.d.ts.map +1 -0
  163. package/dist/configmodels/WebAnalytics.js +61 -0
  164. package/dist/controllers/AppConfigController.d.ts.map +1 -1
  165. package/dist/controllers/AppConfigController.js +4 -1
  166. package/dist/controllers/BrandingAppController.d.ts +29 -7
  167. package/dist/controllers/BrandingAppController.d.ts.map +1 -1
  168. package/dist/controllers/BrandingAppController.js +265 -69
  169. package/dist/controllers/BrandingController.d.ts +24 -1
  170. package/dist/controllers/BrandingController.d.ts.map +1 -1
  171. package/dist/controllers/BrandingController.js +173 -43
  172. package/dist/controllers/BrandingControllerSupport.d.ts +20 -0
  173. package/dist/controllers/BrandingControllerSupport.d.ts.map +1 -0
  174. package/dist/controllers/BrandingControllerSupport.js +80 -0
  175. package/dist/controllers/DashboardConfigController.d.ts +6 -2
  176. package/dist/controllers/DashboardConfigController.d.ts.map +1 -1
  177. package/dist/controllers/DashboardConfigController.js +18 -4
  178. package/dist/controllers/DynamicAssetController.d.ts +7 -5
  179. package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
  180. package/dist/controllers/DynamicAssetController.js +21 -12
  181. package/dist/controllers/RecordController.d.ts +46 -5
  182. package/dist/controllers/RecordController.d.ts.map +1 -1
  183. package/dist/controllers/RecordController.js +815 -347
  184. package/dist/controllers/index.d.ts.map +1 -1
  185. package/dist/controllers/index.js +4 -1
  186. package/dist/controllers/webservice/AdminController.d.ts.map +1 -1
  187. package/dist/controllers/webservice/AdminController.js +4 -3
  188. package/dist/controllers/webservice/BrandingController.d.ts +26 -1
  189. package/dist/controllers/webservice/BrandingController.d.ts.map +1 -1
  190. package/dist/controllers/webservice/BrandingController.js +292 -116
  191. package/dist/controllers/webservice/DashboardConfigController.d.ts +25 -17
  192. package/dist/controllers/webservice/DashboardConfigController.d.ts.map +1 -1
  193. package/dist/controllers/webservice/DashboardConfigController.js +90 -205
  194. package/dist/controllers/webservice/FormManagementController.d.ts.map +1 -1
  195. package/dist/controllers/webservice/FormManagementController.js +37 -3
  196. package/dist/controllers/webservice/RecordController.d.ts +15 -1
  197. package/dist/controllers/webservice/RecordController.d.ts.map +1 -1
  198. package/dist/controllers/webservice/RecordController.js +664 -271
  199. package/dist/controllers/webservice/RecordSchemaController.d.ts +32 -0
  200. package/dist/controllers/webservice/RecordSchemaController.d.ts.map +1 -0
  201. package/dist/controllers/webservice/RecordSchemaController.js +356 -0
  202. package/dist/controllers/webservice/RecordTypeController.d.ts +6 -1
  203. package/dist/controllers/webservice/RecordTypeController.d.ts.map +1 -1
  204. package/dist/controllers/webservice/RecordTypeController.js +21 -3
  205. package/dist/controllers/webservice/SearchController.d.ts.map +1 -1
  206. package/dist/controllers/webservice/SearchController.js +7 -3
  207. package/dist/hooks/defineRedboxHook.d.ts +3 -0
  208. package/dist/hooks/defineRedboxHook.d.ts.map +1 -1
  209. package/dist/hooks/defineRedboxHook.js +4 -1
  210. package/dist/index.d.ts +50 -23
  211. package/dist/index.d.ts.map +1 -1
  212. package/dist/index.js +90 -2
  213. package/dist/loader/bootstrapShimRuntime.d.ts +1 -1
  214. package/dist/loader/bootstrapShimRuntime.d.ts.map +1 -1
  215. package/dist/loader/bootstrapShimRuntime.js +20 -12
  216. package/dist/loader/index.d.ts +9 -0
  217. package/dist/loader/index.d.ts.map +1 -1
  218. package/dist/loader/index.js +93 -4
  219. package/dist/model/BrandingTypeface.d.ts +70 -0
  220. package/dist/model/BrandingTypeface.d.ts.map +1 -0
  221. package/dist/model/BrandingTypeface.js +116 -0
  222. package/dist/model/BuildResponse.d.ts +25 -11
  223. package/dist/model/BuildResponse.d.ts.map +1 -1
  224. package/dist/model/BuildResponse.js +4 -3
  225. package/dist/model/DashboardTypeResponseModel.d.ts +6 -0
  226. package/dist/model/DashboardTypeResponseModel.d.ts.map +1 -1
  227. package/dist/model/DashboardTypeResponseModel.js +7 -1
  228. package/dist/model/DashboardViewResponseModel.d.ts +5 -1
  229. package/dist/model/DashboardViewResponseModel.d.ts.map +1 -1
  230. package/dist/model/DashboardViewResponseModel.js +6 -3
  231. package/dist/model/RBValidationError.d.ts +17 -0
  232. package/dist/model/RBValidationError.d.ts.map +1 -1
  233. package/dist/model/RBValidationError.js +37 -1
  234. package/dist/model/RecordTypeResponseModel.d.ts +12 -4
  235. package/dist/model/RecordTypeResponseModel.d.ts.map +1 -1
  236. package/dist/model/RecordTypeResponseModel.js +11 -2
  237. package/dist/model/index.d.ts +5 -1
  238. package/dist/model/index.d.ts.map +1 -1
  239. package/dist/model/index.js +5 -2
  240. package/dist/model/record-contract.d.ts +42 -0
  241. package/dist/model/record-contract.d.ts.map +1 -0
  242. package/dist/model/record-contract.js +3 -0
  243. package/dist/model/storage/BrandingModel.d.ts +7 -0
  244. package/dist/model/storage/BrandingModel.d.ts.map +1 -1
  245. package/dist/model/storage/BrandingModel.js +7 -1
  246. package/dist/model/storage/DeletedRecordModel.d.ts +35 -0
  247. package/dist/model/storage/DeletedRecordModel.d.ts.map +1 -1
  248. package/dist/model/storage/DeletedRecordModel.js +62 -1
  249. package/dist/model/storage/IntegrationAuditModel.d.ts +16 -2
  250. package/dist/model/storage/IntegrationAuditModel.d.ts.map +1 -1
  251. package/dist/model/storage/IntegrationAuditModel.js +15 -1
  252. package/dist/model/storage/RecordAuditModel.d.ts +11 -1
  253. package/dist/model/storage/RecordAuditModel.d.ts.map +1 -1
  254. package/dist/model/storage/RecordAuditModel.js +8 -2
  255. package/dist/model/storage/RecordModel.d.ts +6 -0
  256. package/dist/model/storage/RecordModel.d.ts.map +1 -1
  257. package/dist/model/storage/RecordTypeModel.d.ts +6 -0
  258. package/dist/model/storage/RecordTypeModel.d.ts.map +1 -1
  259. package/dist/model/storage/RecordTypeModel.js +4 -1
  260. package/dist/model/storage/index.d.ts +12 -10
  261. package/dist/model/storage/index.d.ts.map +1 -1
  262. package/dist/model/storage/index.js +24 -2
  263. package/dist/model/storage/record-schema.d.ts +115 -0
  264. package/dist/model/storage/record-schema.d.ts.map +1 -0
  265. package/dist/model/storage/record-schema.js +3 -0
  266. package/dist/policies/checkAuth.d.ts +2 -6
  267. package/dist/policies/checkAuth.d.ts.map +1 -1
  268. package/dist/policies/checkAuth.js +32 -9
  269. package/dist/policies/contentSecurityPolicy.d.ts.map +1 -1
  270. package/dist/policies/contentSecurityPolicy.js +85 -2
  271. package/dist/policies/index.d.ts +3 -2
  272. package/dist/policies/index.d.ts.map +1 -1
  273. package/dist/policies/index.js +4 -2
  274. package/dist/policies/validateApiContractRequest.d.ts.map +1 -1
  275. package/dist/policies/validateApiContractRequest.js +49 -11
  276. package/dist/record-contract/ajv-error-mapper.d.ts +34 -0
  277. package/dist/record-contract/ajv-error-mapper.d.ts.map +1 -0
  278. package/dist/record-contract/ajv-error-mapper.js +153 -0
  279. package/dist/record-contract/canonical-json.d.ts +20 -0
  280. package/dist/record-contract/canonical-json.d.ts.map +1 -0
  281. package/dist/record-contract/canonical-json.js +126 -0
  282. package/dist/record-contract/codes.d.ts +36 -0
  283. package/dist/record-contract/codes.d.ts.map +1 -0
  284. package/dist/record-contract/codes.js +38 -0
  285. package/dist/record-contract/contributor-registry.d.ts +76 -0
  286. package/dist/record-contract/contributor-registry.d.ts.map +1 -0
  287. package/dist/record-contract/contributor-registry.js +126 -0
  288. package/dist/record-contract/core-contributors.d.ts +44 -0
  289. package/dist/record-contract/core-contributors.d.ts.map +1 -0
  290. package/dist/record-contract/core-contributors.js +395 -0
  291. package/dist/record-contract/deep-freeze.d.ts +3 -0
  292. package/dist/record-contract/deep-freeze.d.ts.map +1 -0
  293. package/dist/record-contract/deep-freeze.js +23 -0
  294. package/dist/record-contract/index.d.ts +13 -0
  295. package/dist/record-contract/index.d.ts.map +1 -0
  296. package/dist/record-contract/index.js +29 -0
  297. package/dist/record-contract/json-pointer.d.ts +20 -0
  298. package/dist/record-contract/json-pointer.d.ts.map +1 -0
  299. package/dist/record-contract/json-pointer.js +70 -0
  300. package/dist/record-contract/json-schema-renderer.d.ts +51 -0
  301. package/dist/record-contract/json-schema-renderer.d.ts.map +1 -0
  302. package/dist/record-contract/json-schema-renderer.js +450 -0
  303. package/dist/record-contract/record-contract-compiler.d.ts +42 -0
  304. package/dist/record-contract/record-contract-compiler.d.ts.map +1 -0
  305. package/dist/record-contract/record-contract-compiler.js +775 -0
  306. package/dist/record-contract/record-contract-context.d.ts +91 -0
  307. package/dist/record-contract/record-contract-context.d.ts.map +1 -0
  308. package/dist/record-contract/record-contract-context.js +39 -0
  309. package/dist/record-contract/record-json-schema-artifact.d.ts +74 -0
  310. package/dist/record-contract/record-json-schema-artifact.d.ts.map +1 -0
  311. package/dist/record-contract/record-json-schema-artifact.js +309 -0
  312. package/dist/record-contract/record-json-schema-etag.d.ts +15 -0
  313. package/dist/record-contract/record-json-schema-etag.d.ts.map +1 -0
  314. package/dist/record-contract/record-json-schema-etag.js +41 -0
  315. package/dist/record-contract/types.d.ts +151 -0
  316. package/dist/record-contract/types.d.ts.map +1 -0
  317. package/dist/record-contract/types.js +6 -0
  318. package/dist/services/AppConfigService.d.ts +6 -0
  319. package/dist/services/AppConfigService.d.ts.map +1 -1
  320. package/dist/services/AppConfigService.js +23 -1
  321. package/dist/services/AttachmentMetadataService.d.ts +58 -0
  322. package/dist/services/AttachmentMetadataService.d.ts.map +1 -1
  323. package/dist/services/AttachmentMetadataService.js +643 -8
  324. package/dist/services/BrandingLogoService.d.ts +6 -1
  325. package/dist/services/BrandingLogoService.d.ts.map +1 -1
  326. package/dist/services/BrandingLogoService.js +77 -9
  327. package/dist/services/BrandingService.d.ts +171 -9
  328. package/dist/services/BrandingService.d.ts.map +1 -1
  329. package/dist/services/BrandingService.js +572 -68
  330. package/dist/services/BrandingThemeCssService.d.ts +17 -1
  331. package/dist/services/BrandingThemeCssService.d.ts.map +1 -1
  332. package/dist/services/BrandingThemeCssService.js +71 -9
  333. package/dist/services/BrandingThemeTokens.d.ts.map +1 -1
  334. package/dist/services/BrandingThemeTokens.js +2 -1
  335. package/dist/services/BrandingTypefaceService.d.ts +74 -0
  336. package/dist/services/BrandingTypefaceService.d.ts.map +1 -0
  337. package/dist/services/BrandingTypefaceService.js +359 -0
  338. package/dist/services/BrandingWoff2Inspector.d.ts +17 -0
  339. package/dist/services/BrandingWoff2Inspector.d.ts.map +1 -0
  340. package/dist/services/BrandingWoff2Inspector.js +402 -0
  341. package/dist/services/DashboardConfigService.d.ts +214 -54
  342. package/dist/services/DashboardConfigService.d.ts.map +1 -1
  343. package/dist/services/DashboardConfigService.js +829 -261
  344. package/dist/services/DashboardLegacyConversion.d.ts +82 -0
  345. package/dist/services/DashboardLegacyConversion.d.ts.map +1 -0
  346. package/dist/services/DashboardLegacyConversion.js +427 -0
  347. package/dist/services/DashboardTypesService.d.ts +15 -4
  348. package/dist/services/DashboardTypesService.d.ts.map +1 -1
  349. package/dist/services/DashboardTypesService.js +72 -139
  350. package/dist/services/DoiService.d.ts +1 -1
  351. package/dist/services/DoiService.d.ts.map +1 -1
  352. package/dist/services/DoiService.js +71 -45
  353. package/dist/services/FigshareService.d.ts +1 -1
  354. package/dist/services/FigshareService.d.ts.map +1 -1
  355. package/dist/services/FigshareService.js +73 -32
  356. package/dist/services/FormRecordConsistencyService.d.ts +8 -23
  357. package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
  358. package/dist/services/FormRecordConsistencyService.js +54 -70
  359. package/dist/services/FormsService.d.ts +91 -2
  360. package/dist/services/FormsService.d.ts.map +1 -1
  361. package/dist/services/FormsService.js +324 -64
  362. package/dist/services/HarvestRunService.d.ts +6 -3
  363. package/dist/services/HarvestRunService.d.ts.map +1 -1
  364. package/dist/services/HarvestRunService.js +161 -97
  365. package/dist/services/I18nEntriesService.d.ts +1 -0
  366. package/dist/services/I18nEntriesService.d.ts.map +1 -1
  367. package/dist/services/I18nEntriesService.js +26 -6
  368. package/dist/services/OniService.d.ts +19 -62
  369. package/dist/services/OniService.d.ts.map +1 -1
  370. package/dist/services/OniService.js +223 -691
  371. package/dist/services/RDMPService.d.ts +1 -1
  372. package/dist/services/RDMPService.d.ts.map +1 -1
  373. package/dist/services/RDMPService.js +5 -5
  374. package/dist/services/RaidService.d.ts +19 -61
  375. package/dist/services/RaidService.d.ts.map +1 -1
  376. package/dist/services/RaidService.js +191 -530
  377. package/dist/services/RecordSchemaService.d.ts +440 -0
  378. package/dist/services/RecordSchemaService.d.ts.map +1 -0
  379. package/dist/services/RecordSchemaService.js +3061 -0
  380. package/dist/services/RecordTypesService.d.ts +29 -0
  381. package/dist/services/RecordTypesService.d.ts.map +1 -1
  382. package/dist/services/RecordTypesService.js +106 -11
  383. package/dist/services/RecordValidationService.d.ts +340 -0
  384. package/dist/services/RecordValidationService.d.ts.map +1 -0
  385. package/dist/services/RecordValidationService.js +1898 -0
  386. package/dist/services/RecordsService.d.ts +313 -22
  387. package/dist/services/RecordsService.d.ts.map +1 -1
  388. package/dist/services/RecordsService.js +4948 -509
  389. package/dist/services/SolrSearchService.d.ts +1 -1
  390. package/dist/services/SolrSearchService.d.ts.map +1 -1
  391. package/dist/services/SolrSearchService.js +42 -12
  392. package/dist/services/StandardDatastreamService.d.ts +4 -0
  393. package/dist/services/StandardDatastreamService.d.ts.map +1 -1
  394. package/dist/services/StandardDatastreamService.js +109 -45
  395. package/dist/services/TriggerService.d.ts.map +1 -1
  396. package/dist/services/TriggerService.js +54 -30
  397. package/dist/services/UsersService.d.ts +2 -1
  398. package/dist/services/UsersService.d.ts.map +1 -1
  399. package/dist/services/UsersService.js +364 -283
  400. package/dist/services/VocabularyService.d.ts +2 -0
  401. package/dist/services/VocabularyService.d.ts.map +1 -1
  402. package/dist/services/VocabularyService.js +61 -2
  403. package/dist/services/WorkflowStepsService.d.ts +11 -0
  404. package/dist/services/WorkflowStepsService.d.ts.map +1 -1
  405. package/dist/services/WorkflowStepsService.js +32 -3
  406. package/dist/services/WorkspaceService.d.ts +2 -2
  407. package/dist/services/WorkspaceService.d.ts.map +1 -1
  408. package/dist/services/WorkspaceService.js +5 -5
  409. package/dist/services/doi-v2/bindings.d.ts.map +1 -1
  410. package/dist/services/doi-v2/bindings.js +3 -20
  411. package/dist/services/doi-v2/config.d.ts +1 -0
  412. package/dist/services/doi-v2/config.d.ts.map +1 -1
  413. package/dist/services/doi-v2/config.js +13 -5
  414. package/dist/services/doi-v2/runtime.d.ts.map +1 -1
  415. package/dist/services/doi-v2/runtime.js +14 -54
  416. package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
  417. package/dist/services/figshare-v2/bindings.js +3 -20
  418. package/dist/services/figshare-v2/runtime.d.ts.map +1 -1
  419. package/dist/services/figshare-v2/runtime.js +11 -58
  420. package/dist/services/form-record-access-user.d.ts +3 -0
  421. package/dist/services/form-record-access-user.d.ts.map +1 -0
  422. package/dist/services/form-record-access-user.js +23 -0
  423. package/dist/services/index.d.ts +9 -0
  424. package/dist/services/index.d.ts.map +1 -1
  425. package/dist/services/index.js +45 -3
  426. package/dist/services/integration-v2/bindings.d.ts +3 -0
  427. package/dist/services/integration-v2/bindings.d.ts.map +1 -0
  428. package/dist/services/integration-v2/bindings.js +91 -0
  429. package/dist/services/integration-v2/runtime.d.ts +3 -0
  430. package/dist/services/integration-v2/runtime.d.ts.map +1 -0
  431. package/dist/services/integration-v2/runtime.js +50 -0
  432. package/dist/services/internal-record-schema-authorization.d.ts +8 -0
  433. package/dist/services/internal-record-schema-authorization.d.ts.map +1 -0
  434. package/dist/services/internal-record-schema-authorization.js +16 -0
  435. package/dist/services/oni-v2/audit.d.ts +19 -0
  436. package/dist/services/oni-v2/audit.d.ts.map +1 -0
  437. package/dist/services/oni-v2/audit.js +50 -0
  438. package/dist/services/oni-v2/bindings.d.ts +7 -0
  439. package/dist/services/oni-v2/bindings.d.ts.map +1 -0
  440. package/dist/services/oni-v2/bindings.js +31 -0
  441. package/dist/services/oni-v2/config.d.ts +12 -0
  442. package/dist/services/oni-v2/config.d.ts.map +1 -0
  443. package/dist/services/oni-v2/config.js +134 -0
  444. package/dist/services/oni-v2/context.d.ts +3 -0
  445. package/dist/services/oni-v2/context.d.ts.map +1 -0
  446. package/dist/services/oni-v2/context.js +17 -0
  447. package/dist/services/oni-v2/crate.d.ts +17 -0
  448. package/dist/services/oni-v2/crate.d.ts.map +1 -0
  449. package/dist/services/oni-v2/crate.js +504 -0
  450. package/dist/services/oni-v2/flydriveOcflStore.d.ts +69 -0
  451. package/dist/services/oni-v2/flydriveOcflStore.d.ts.map +1 -0
  452. package/dist/services/oni-v2/flydriveOcflStore.js +325 -0
  453. package/dist/services/oni-v2/ingestion.d.ts +37 -0
  454. package/dist/services/oni-v2/ingestion.d.ts.map +1 -0
  455. package/dist/services/oni-v2/ingestion.js +91 -0
  456. package/dist/services/oni-v2/mapping.d.ts +17 -0
  457. package/dist/services/oni-v2/mapping.d.ts.map +1 -0
  458. package/dist/services/oni-v2/mapping.js +137 -0
  459. package/dist/services/oni-v2/repository.d.ts +9 -0
  460. package/dist/services/oni-v2/repository.d.ts.map +1 -0
  461. package/dist/services/oni-v2/repository.js +180 -0
  462. package/dist/services/oni-v2/runtime.d.ts +23 -0
  463. package/dist/services/oni-v2/runtime.d.ts.map +1 -0
  464. package/dist/services/oni-v2/runtime.js +121 -0
  465. package/dist/services/oni-v2/templating.d.ts +11 -0
  466. package/dist/services/oni-v2/templating.d.ts.map +1 -0
  467. package/dist/services/oni-v2/templating.js +27 -0
  468. package/dist/services/oni-v2/types.d.ts +100 -0
  469. package/dist/services/oni-v2/types.d.ts.map +1 -0
  470. package/dist/services/oni-v2/types.js +3 -0
  471. package/dist/services/raid-v2/audit.d.ts +10 -0
  472. package/dist/services/raid-v2/audit.d.ts.map +1 -0
  473. package/dist/services/raid-v2/audit.js +29 -0
  474. package/dist/services/raid-v2/errors.d.ts +85 -0
  475. package/dist/services/raid-v2/errors.d.ts.map +1 -0
  476. package/dist/services/raid-v2/errors.js +36 -0
  477. package/dist/services/raid-v2/http.d.ts +4 -0
  478. package/dist/services/raid-v2/http.d.ts.map +1 -0
  479. package/dist/services/raid-v2/http.js +84 -0
  480. package/dist/services/raid-v2/logger.d.ts +8 -0
  481. package/dist/services/raid-v2/logger.d.ts.map +1 -0
  482. package/dist/services/raid-v2/logger.js +30 -0
  483. package/dist/services/raid-v2/mapping.d.ts +9 -0
  484. package/dist/services/raid-v2/mapping.d.ts.map +1 -0
  485. package/dist/services/raid-v2/mapping.js +168 -0
  486. package/dist/services/raid-v2/runtime.d.ts +5 -0
  487. package/dist/services/raid-v2/runtime.d.ts.map +1 -0
  488. package/dist/services/raid-v2/runtime.js +135 -0
  489. package/dist/services/raid-v2/tags.d.ts +11 -0
  490. package/dist/services/raid-v2/tags.d.ts.map +1 -0
  491. package/dist/services/raid-v2/tags.js +12 -0
  492. package/dist/services/raid-v2/types.d.ts +66 -0
  493. package/dist/services/raid-v2/types.d.ts.map +1 -0
  494. package/dist/services/raid-v2/types.js +3 -0
  495. package/dist/services/record-hooks/coordinator.d.ts +64 -0
  496. package/dist/services/record-hooks/coordinator.d.ts.map +1 -0
  497. package/dist/services/record-hooks/coordinator.js +276 -0
  498. package/dist/visitor/client.visitor.d.ts +6 -0
  499. package/dist/visitor/client.visitor.d.ts.map +1 -1
  500. package/dist/visitor/client.visitor.js +59 -14
  501. package/dist/visitor/construct.visitor.d.ts +27 -1
  502. package/dist/visitor/construct.visitor.d.ts.map +1 -1
  503. package/dist/visitor/construct.visitor.js +265 -177
  504. package/dist/visitor/context-variables.visitor.d.ts +3 -1
  505. package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
  506. package/dist/visitor/context-variables.visitor.js +15 -1
  507. package/dist/visitor/data-value.visitor.d.ts +6 -0
  508. package/dist/visitor/data-value.visitor.d.ts.map +1 -1
  509. package/dist/visitor/data-value.visitor.js +10 -1
  510. package/dist/visitor/json-type-def.visitor.d.ts +6 -0
  511. package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
  512. package/dist/visitor/json-type-def.visitor.js +10 -1
  513. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +11 -0
  514. package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
  515. package/dist/visitor/migrate-config-v4-v5.visitor.js +228 -133
  516. package/dist/visitor/related-object-data-inline.visitor.d.ts +31 -0
  517. package/dist/visitor/related-object-data-inline.visitor.d.ts.map +1 -0
  518. package/dist/visitor/related-object-data-inline.visitor.js +96 -0
  519. package/dist/visitor/template.visitor.d.ts +17 -2
  520. package/dist/visitor/template.visitor.d.ts.map +1 -1
  521. package/dist/visitor/template.visitor.js +60 -22
  522. package/dist/visitor/validator.visitor.d.ts +49 -7
  523. package/dist/visitor/validator.visitor.d.ts.map +1 -1
  524. package/dist/visitor/validator.visitor.js +275 -178
  525. package/dist/waterline-models/AttachmentMetadata.d.ts +22 -0
  526. package/dist/waterline-models/AttachmentMetadata.d.ts.map +1 -1
  527. package/dist/waterline-models/AttachmentMetadata.js +147 -3
  528. package/dist/waterline-models/BrandingConfig.d.ts +7 -0
  529. package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
  530. package/dist/waterline-models/BrandingConfig.js +16 -1
  531. package/dist/waterline-models/BrandingConfigHistory.d.ts +11 -2
  532. package/dist/waterline-models/BrandingConfigHistory.d.ts.map +1 -1
  533. package/dist/waterline-models/BrandingConfigHistory.js +21 -1
  534. package/dist/waterline-models/DashboardConfiguration.d.ts +29 -0
  535. package/dist/waterline-models/DashboardConfiguration.d.ts.map +1 -0
  536. package/dist/waterline-models/DashboardConfiguration.js +52 -0
  537. package/dist/waterline-models/RecordType.d.ts +9 -0
  538. package/dist/waterline-models/RecordType.d.ts.map +1 -1
  539. package/dist/waterline-models/RecordType.js +16 -1
  540. package/dist/waterline-models/User.d.ts.map +1 -1
  541. package/dist/waterline-models/User.js +10 -15
  542. package/dist/waterline-models/index.d.ts +2 -0
  543. package/dist/waterline-models/index.d.ts.map +1 -1
  544. package/dist/waterline-models/index.js +4 -1
  545. package/package.json +60 -47
  546. package/dist/config/datapubs.config.d.ts +0 -72
  547. package/dist/config/datapubs.config.d.ts.map +0 -1
  548. package/dist/config/datapubs.config.js +0 -74
@@ -0,0 +1,31 @@
1
+ import type { ILogger } from '../Logger';
2
+ import type { RecordsService } from '../RecordsService';
3
+ import type { FormRecordAccessContext } from '../services/FormsService';
4
+ import { AccordionFieldComponentDefinitionOutline, AccordionFormComponentDefinitionOutline, AccordionPanelFieldComponentDefinitionOutline, AccordionPanelFormComponentDefinitionOutline, FormConfigOutline, FormConfigVisitor, GroupFieldComponentDefinitionOutline, GroupFormComponentDefinitionOutline, RelatedObjectDataFieldComponentDefinitionOutline, RelatedObjectDataFormComponentDefinitionOutline, RepeatableFieldComponentDefinitionOutline, RepeatableFormComponentDefinitionOutline, TabContentFieldComponentDefinitionOutline, TabContentFormComponentDefinitionOutline, TabFieldComponentDefinitionOutline, TabFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
5
+ export declare class RelatedObjectDataInlineFormConfigVisitor extends FormConfigVisitor {
6
+ private readonly recordsService;
7
+ protected logName: string;
8
+ private readonly pending;
9
+ constructor(logger: ILogger, recordsService: RecordsService);
10
+ resolve(form: FormConfigOutline, metadata: Record<string, unknown>, context: FormRecordAccessContext): Promise<void>;
11
+ private metadata;
12
+ private context?;
13
+ protected notImplemented(): Promise<void>;
14
+ visitFormConfig(item: FormConfigOutline): Promise<void>;
15
+ visitRelatedObjectDataFormComponentDefinition(item: RelatedObjectDataFormComponentDefinitionOutline): Promise<void>;
16
+ visitRelatedObjectDataFieldComponentDefinition(item: RelatedObjectDataFieldComponentDefinitionOutline): Promise<void>;
17
+ visitGroupFormComponentDefinition(item: GroupFormComponentDefinitionOutline): Promise<void>;
18
+ visitGroupFieldComponentDefinition(item: GroupFieldComponentDefinitionOutline): Promise<void>;
19
+ visitTabFormComponentDefinition(item: TabFormComponentDefinitionOutline): Promise<void>;
20
+ visitTabFieldComponentDefinition(item: TabFieldComponentDefinitionOutline): Promise<void>;
21
+ visitAccordionFormComponentDefinition(item: AccordionFormComponentDefinitionOutline): Promise<void>;
22
+ visitAccordionFieldComponentDefinition(item: AccordionFieldComponentDefinitionOutline): Promise<void>;
23
+ visitAccordionPanelFormComponentDefinition(item: AccordionPanelFormComponentDefinitionOutline): Promise<void>;
24
+ visitAccordionPanelFieldComponentDefinition(item: AccordionPanelFieldComponentDefinitionOutline): Promise<void>;
25
+ visitTabContentFormComponentDefinition(item: TabContentFormComponentDefinitionOutline): Promise<void>;
26
+ visitTabContentFieldComponentDefinition(item: TabContentFieldComponentDefinitionOutline): Promise<void>;
27
+ visitRepeatableFormComponentDefinition(item: RepeatableFormComponentDefinitionOutline): Promise<void>;
28
+ visitRepeatableFieldComponentDefinition(item: RepeatableFieldComponentDefinitionOutline): Promise<void>;
29
+ private resolveComponent;
30
+ }
31
+ //# sourceMappingURL=related-object-data-inline.visitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"related-object-data-inline.visitor.d.ts","sourceRoot":"","sources":["../../src/visitor/related-object-data-inline.visitor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EACL,wCAAwC,EACxC,uCAAuC,EACvC,6CAA6C,EAC7C,4CAA4C,EAC5C,iBAAiB,EACjB,iBAAiB,EACjB,oCAAoC,EACpC,mCAAmC,EACnC,gDAAgD,EAChD,+CAA+C,EAC/C,yCAAyC,EACzC,wCAAwC,EACxC,yCAAyC,EACzC,wCAAwC,EACxC,kCAAkC,EAClC,iCAAiC,EAClC,MAAM,kCAAkC,CAAC;AAE1C,qBAAa,wCAAyC,SAAQ,iBAAiB;IAIhD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAH5D,UAAmB,OAAO,SAA8C;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAEnC,MAAM,EAAE,OAAO,EAAmB,cAAc,EAAE,cAAc;IAEtE,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO1H,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,OAAO,CAAC,CAA0B;cACjB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAClD,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IACvD,6CAA6C,CAAC,IAAI,EAAE,+CAA+C,GAAG,OAAO,CAAC,IAAI,CAAC;IACnH,8CAA8C,CAAC,IAAI,EAAE,gDAAgD,GAAG,OAAO,CAAC,IAAI,CAAC;IACrH,iCAAiC,CAAC,IAAI,EAAE,mCAAmC,GAAG,OAAO,CAAC,IAAI,CAAC;IAC3F,kCAAkC,CAAC,IAAI,EAAE,oCAAoC,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7F,+BAA+B,CAAC,IAAI,EAAE,iCAAiC,GAAG,OAAO,CAAC,IAAI,CAAC;IACvF,gCAAgC,CAAC,IAAI,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IACzF,qCAAqC,CAAC,IAAI,EAAE,uCAAuC,GAAG,OAAO,CAAC,IAAI,CAAC;IACnG,sCAAsC,CAAC,IAAI,EAAE,wCAAwC,GAAG,OAAO,CAAC,IAAI,CAAC;IACrG,0CAA0C,CAAC,IAAI,EAAE,4CAA4C,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7G,2CAA2C,CAAC,IAAI,EAAE,6CAA6C,GAAG,OAAO,CAAC,IAAI,CAAC;IAC/G,sCAAsC,CAAC,IAAI,EAAE,wCAAwC,GAAG,OAAO,CAAC,IAAI,CAAC;IACrG,uCAAuC,CAAC,IAAI,EAAE,yCAAyC,GAAG,OAAO,CAAC,IAAI,CAAC;IACvG,sCAAsC,CAAC,IAAI,EAAE,wCAAwC,GAAG,OAAO,CAAC,IAAI,CAAC;IACrG,uCAAuC,CAAC,IAAI,EAAE,yCAAyC,GAAG,OAAO,CAAC,IAAI,CAAC;YAE/F,gBAAgB;CA0C/B"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RelatedObjectDataInlineFormConfigVisitor = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const sails_ng_common_1 = require("@researchdatabox/sails-ng-common");
6
+ class RelatedObjectDataInlineFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
7
+ recordsService;
8
+ logName = 'RelatedObjectDataInlineFormConfigVisitor';
9
+ pending = [];
10
+ constructor(logger, recordsService) {
11
+ super(logger);
12
+ this.recordsService = recordsService;
13
+ }
14
+ async resolve(form, metadata, context) {
15
+ this.metadata = metadata;
16
+ this.context = context;
17
+ await form.accept(this);
18
+ await Promise.all(this.pending);
19
+ }
20
+ metadata = {};
21
+ context;
22
+ async notImplemented() { }
23
+ async visitFormConfig(item) { for (const def of item.componentDefinitions)
24
+ await def.accept(this); }
25
+ async visitRelatedObjectDataFormComponentDefinition(item) { await item.component.accept(this); }
26
+ async visitRelatedObjectDataFieldComponentDefinition(item) { this.pending.push(this.resolveComponent(item)); }
27
+ async visitGroupFormComponentDefinition(item) { await item.component.accept(this); }
28
+ async visitGroupFieldComponentDefinition(item) { for (const def of item.config?.componentDefinitions ?? [])
29
+ await def.accept(this); }
30
+ async visitTabFormComponentDefinition(item) { await item.component.accept(this); }
31
+ async visitTabFieldComponentDefinition(item) { for (const def of item.config?.tabs ?? [])
32
+ await def.accept(this); }
33
+ async visitAccordionFormComponentDefinition(item) { await item.component.accept(this); }
34
+ async visitAccordionFieldComponentDefinition(item) { for (const def of item.config?.panels ?? [])
35
+ await def.accept(this); }
36
+ async visitAccordionPanelFormComponentDefinition(item) { await item.component.accept(this); }
37
+ async visitAccordionPanelFieldComponentDefinition(item) { for (const def of item.config?.componentDefinitions ?? [])
38
+ await def.accept(this); }
39
+ async visitTabContentFormComponentDefinition(item) { await item.component.accept(this); }
40
+ async visitTabContentFieldComponentDefinition(item) { for (const def of item.config?.componentDefinitions ?? [])
41
+ await def.accept(this); }
42
+ async visitRepeatableFormComponentDefinition(item) { await item.component.accept(this); }
43
+ async visitRepeatableFieldComponentDefinition(item) { await item.config?.elementTemplate?.accept(this); }
44
+ async resolveComponent(item) {
45
+ const config = item.config;
46
+ if (!config || !this.context)
47
+ return;
48
+ const context = this.context;
49
+ config.relatedObjects = [];
50
+ config.accessDeniedOids = [];
51
+ config.failedOids = [];
52
+ const dataPath = (config.dataPath ?? '').replace(/^metadata\./, '');
53
+ if (!dataPath)
54
+ return;
55
+ const raw = (0, lodash_1.get)(this.metadata, dataPath);
56
+ const values = Array.isArray(raw) ? raw : [];
57
+ const oidProperty = config.oidProperty ?? 'id';
58
+ const oids = [...new Set(values.map(value => typeof value === 'string' ? value : (0, lodash_1.get)(value, oidProperty)).filter((oid) => typeof oid === 'string' && oid.length > 0))];
59
+ if (oids.length > 50)
60
+ this.logger.warn(`${this.logName}: limiting related object resolution from ${oids.length} to 50 records.`);
61
+ const results = await Promise.all(oids.slice(0, 50).map(async (oid) => {
62
+ try {
63
+ const record = await this.recordsService.getMeta(oid);
64
+ const userRoles = context.user.roles;
65
+ if (!this.recordsService.hasViewAccess(context.brand, context.user, userRoles, record)) {
66
+ return { status: 'denied', oid };
67
+ }
68
+ const metadata = (record.metadata ?? {});
69
+ const fields = {};
70
+ for (const field of config.relatedFields ?? []) {
71
+ const value = (0, lodash_1.get)(metadata, field);
72
+ if (value !== undefined)
73
+ (0, lodash_1.set)(fields, field, value);
74
+ }
75
+ const title = (0, lodash_1.get)(metadata, 'title');
76
+ return {
77
+ status: 'resolved',
78
+ value: { oid, ...(typeof title === 'string' ? { title } : {}), fields },
79
+ };
80
+ }
81
+ catch {
82
+ return { status: 'failed', oid };
83
+ }
84
+ }));
85
+ for (const result of results) {
86
+ if (result.status === 'resolved')
87
+ config.relatedObjects.push(result.value);
88
+ if (result.status === 'denied')
89
+ config.accessDeniedOids.push(result.oid);
90
+ if (result.status === 'failed')
91
+ config.failedOids.push(result.oid);
92
+ }
93
+ }
94
+ }
95
+ exports.RelatedObjectDataInlineFormConfigVisitor = RelatedObjectDataInlineFormConfigVisitor;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRlZC1vYmplY3QtZGF0YS1pbmxpbmUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL3JlbGF0ZWQtb2JqZWN0LWRhdGEtaW5saW5lLnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQXdEO0FBSXhELHNFQWlCMEM7QUFFMUMsTUFBYSx3Q0FBeUMsU0FBUSxtQ0FBaUI7SUFJL0I7SUFIM0IsT0FBTyxHQUFHLDBDQUEwQyxDQUFDO0lBQ3ZELE9BQU8sR0FBb0IsRUFBRSxDQUFDO0lBRS9DLFlBQVksTUFBZSxFQUFtQixjQUE4QjtRQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUFoRCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFBbUIsQ0FBQztJQUVoRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQXVCLEVBQUUsUUFBaUMsRUFBRSxPQUFnQztRQUN4RyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sUUFBUSxHQUE0QixFQUFFLENBQUM7SUFDdkMsT0FBTyxDQUEyQjtJQUN2QixLQUFLLENBQUMsY0FBYyxLQUFtQixDQUFDO0lBQzNELEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBdUIsSUFBbUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsb0JBQW9CO1FBQUUsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0SSxLQUFLLENBQUMsNkNBQTZDLENBQUMsSUFBcUQsSUFBbUIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEssS0FBSyxDQUFDLDhDQUE4QyxDQUFDLElBQXNELElBQW1CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvSyxLQUFLLENBQUMsaUNBQWlDLENBQUMsSUFBeUMsSUFBbUIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLElBQTBDLElBQW1CLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsSUFBSSxFQUFFO1FBQUUsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxTCxLQUFLLENBQUMsK0JBQStCLENBQUMsSUFBdUMsSUFBbUIsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEksS0FBSyxDQUFDLGdDQUFnQyxDQUFDLElBQXdDLElBQW1CLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLElBQUksRUFBRTtRQUFFLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEssS0FBSyxDQUFDLHFDQUFxQyxDQUFDLElBQTZDLElBQW1CLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hKLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxJQUE4QyxJQUFtQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUU7UUFBRSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BMLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxJQUFrRCxJQUFtQixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxSixLQUFLLENBQUMsMkNBQTJDLENBQUMsSUFBbUQsSUFBbUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLG9CQUFvQixJQUFJLEVBQUU7UUFBRSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVNLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxJQUE4QyxJQUFtQixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsSixLQUFLLENBQUMsdUNBQXVDLENBQUMsSUFBK0MsSUFBbUIsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLG9CQUFvQixJQUFJLEVBQUU7UUFBRSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BNLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxJQUE4QyxJQUFtQixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsSixLQUFLLENBQUMsdUNBQXVDLENBQUMsSUFBK0MsSUFBbUIsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTNKLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFzRDtRQUNuRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE9BQU87UUFDckMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM3QixNQUFNLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztRQUMzQixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUN0QixNQUFNLEdBQUcsR0FBRyxJQUFBLFlBQU8sRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxFQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBaUIsRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxTCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRTtZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sNkNBQTZDLElBQUksQ0FBQyxNQUFNLGlCQUFpQixDQUFDLENBQUM7UUFDakksTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDO2dCQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3RELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzVDLENBQUM7Z0JBQ0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBNEIsQ0FBQztnQkFDcEUsTUFBTSxNQUFNLEdBQTRCLEVBQUUsQ0FBQztnQkFDM0MsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFBLFlBQU8sRUFBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ3ZDLElBQUksS0FBSyxLQUFLLFNBQVM7d0JBQUUsSUFBQSxZQUFPLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDekQsQ0FBQztnQkFDRCxNQUFNLEtBQUssR0FBRyxJQUFBLFlBQU8sRUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQ3pDLE9BQU87b0JBQ0wsTUFBTSxFQUFFLFVBQW1CO29CQUMzQixLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFO2lCQUN4RSxDQUFDO1lBQ0osQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUM7WUFDNUMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDSixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxVQUFVO2dCQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMzRSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUTtnQkFBRSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUTtnQkFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTFFRCw0RkEwRUMifQ==
@@ -3,11 +3,13 @@ import { FormConfigOutline } from '@researchdatabox/sails-ng-common';
3
3
  import { TemplateCompileInput } from '@researchdatabox/sails-ng-common';
4
4
  import { SimpleInputFieldComponentDefinitionOutline, SimpleInputFieldModelDefinitionOutline, SimpleInputFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
5
5
  import { ContentFieldComponentDefinitionOutline, ContentFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
6
+ import { RelatedObjectDataFieldComponentDefinitionOutline, RelatedObjectDataFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
6
7
  import { RepeatableElementFieldLayoutDefinitionOutline, RepeatableFieldComponentDefinitionOutline, RepeatableFieldModelDefinitionOutline, RepeatableFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
7
8
  import { ValidationSummaryFieldComponentDefinitionOutline, ValidationSummaryFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
8
9
  import { SuggestedValidationSummaryFieldComponentDefinitionOutline, SuggestedValidationSummaryFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
9
10
  import { SaveStatusFieldComponentDefinitionOutline, SaveStatusFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
10
11
  import { IntegrationStatusFieldComponentDefinitionOutline, IntegrationStatusFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
12
+ import { WorkspaceFieldComponentDefinitionOutline, WorkspaceFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
11
13
  import { GroupFieldComponentDefinitionOutline, GroupFieldModelDefinitionOutline, GroupFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
12
14
  import { TabFieldComponentDefinitionOutline, TabFieldLayoutDefinitionOutline, TabFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
13
15
  import { AccordionFieldComponentDefinitionOutline, AccordionFieldLayoutDefinitionOutline, AccordionFormComponentDefinitionOutline, AccordionPanelFieldComponentDefinitionOutline, AccordionPanelFieldLayoutDefinitionOutline, AccordionPanelFormComponentDefinitionOutline } from '@researchdatabox/sails-ng-common';
@@ -63,6 +65,8 @@ export declare class TemplateFormConfigVisitor extends FormConfigVisitor {
63
65
  visitSimpleInputFormComponentDefinition(item: SimpleInputFormComponentDefinitionOutline): Promise<void>;
64
66
  visitContentFieldComponentDefinition(item: ContentFieldComponentDefinitionOutline): Promise<void>;
65
67
  visitContentFormComponentDefinition(item: ContentFormComponentDefinitionOutline): Promise<void>;
68
+ visitRelatedObjectDataFieldComponentDefinition(item: RelatedObjectDataFieldComponentDefinitionOutline): Promise<void>;
69
+ visitRelatedObjectDataFormComponentDefinition(item: RelatedObjectDataFormComponentDefinitionOutline): Promise<void>;
66
70
  visitRepeatableFieldComponentDefinition(item: RepeatableFieldComponentDefinitionOutline): Promise<void>;
67
71
  visitRepeatableFieldModelDefinition(item: RepeatableFieldModelDefinitionOutline): Promise<void>;
68
72
  visitRepeatableElementFieldLayoutDefinition(_item: RepeatableElementFieldLayoutDefinitionOutline): Promise<void>;
@@ -75,6 +79,8 @@ export declare class TemplateFormConfigVisitor extends FormConfigVisitor {
75
79
  visitSaveStatusFormComponentDefinition(item: SaveStatusFormComponentDefinitionOutline): Promise<void>;
76
80
  visitIntegrationStatusFieldComponentDefinition(_item: IntegrationStatusFieldComponentDefinitionOutline): Promise<void>;
77
81
  visitIntegrationStatusFormComponentDefinition(item: IntegrationStatusFormComponentDefinitionOutline): Promise<void>;
82
+ visitWorkspaceFieldComponentDefinition(_item: WorkspaceFieldComponentDefinitionOutline): Promise<void>;
83
+ visitWorkspaceFormComponentDefinition(item: WorkspaceFormComponentDefinitionOutline): Promise<void>;
78
84
  visitGroupFieldComponentDefinition(item: GroupFieldComponentDefinitionOutline): Promise<void>;
79
85
  visitGroupFieldModelDefinition(item: GroupFieldModelDefinitionOutline): Promise<void>;
80
86
  visitGroupFormComponentDefinition(item: GroupFormComponentDefinitionOutline): Promise<void>;
@@ -159,12 +165,21 @@ export declare class TemplateFormConfigVisitor extends FormConfigVisitor {
159
165
  * and action templates are compiled so the raw source can be stripped before
160
166
  * the config reaches the browser.
161
167
  *
162
- * v1 scope is intentionally narrow:
168
+ * Scope is intentionally narrow:
163
169
  * - processor templates are only read from `jsonataTransform`
164
- * - action templates cover `valueTemplate` and JSONata `fieldPath`
170
+ * - action templates cover `valueTemplate`, JSONata `fieldPath`, the
171
+ * `runTemplate` action `template`, and nested `values`/`properties` entries
165
172
  * - custom processors/actions are out of scope
166
173
  */
167
174
  protected extractBehaviours(behaviours?: FormBehaviourConfigFrame[]): Promise<void>;
175
+ /**
176
+ * Extract the `valueTemplate` / JSONata `fieldPath` templates shared by
177
+ * behaviour action configs and their nested `values`/`properties` entries.
178
+ *
179
+ * Nested entry keys omit the entry's own `config` segment, e.g.
180
+ * `['behaviours', '0', 'actions', '1', 'config', 'values', '0', 'valueTemplate']`.
181
+ */
182
+ protected extractBehaviourActionEntryTemplates(entryConfig: unknown, keyPrefix: string[]): void;
168
183
  protected extractValidators(validators?: FormValidatorConfig[]): Promise<void>;
169
184
  private normalizeValidatorTemplateParentKey;
170
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template.visitor.d.ts","sourceRoot":"","sources":["../../src/visitor/template.visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template.visitor.d.ts","sourceRoot":"","sources":["../../src/visitor/template.visitor.ts"],"names":[],"mappings":"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"}
@@ -61,6 +61,15 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
61
61
  async visitContentFormComponentDefinition(item) {
62
62
  await this.acceptFormComponentDefinition(item);
63
63
  }
64
+ async visitRelatedObjectDataFieldComponentDefinition(item) {
65
+ const template = (item.config?.template ?? '').trim();
66
+ if (template) {
67
+ this.templates?.push({ key: [...(this.formPathHelper.formPath.formConfig ?? []), 'config', 'template'], value: template, kind: 'handlebars' });
68
+ }
69
+ }
70
+ async visitRelatedObjectDataFormComponentDefinition(item) {
71
+ await this.acceptFormComponentDefinition(item);
72
+ }
64
73
  /* Repeatable */
65
74
  async visitRepeatableFieldComponentDefinition(item) {
66
75
  const componentDefinition = item.config?.elementTemplate;
@@ -93,6 +102,10 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
93
102
  async visitIntegrationStatusFormComponentDefinition(item) {
94
103
  await this.acceptFormComponentDefinition(item);
95
104
  }
105
+ async visitWorkspaceFieldComponentDefinition(_item) { }
106
+ async visitWorkspaceFormComponentDefinition(item) {
107
+ await this.acceptFormComponentDefinition(item);
108
+ }
96
109
  /* Group */
97
110
  async visitGroupFieldComponentDefinition(item) {
98
111
  for (const [index, componentDefinition] of (item.config?.componentDefinitions ?? []).entries()) {
@@ -394,9 +407,10 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
394
407
  * and action templates are compiled so the raw source can be stripped before
395
408
  * the config reaches the browser.
396
409
  *
397
- * v1 scope is intentionally narrow:
410
+ * Scope is intentionally narrow:
398
411
  * - processor templates are only read from `jsonataTransform`
399
- * - action templates cover `valueTemplate` and JSONata `fieldPath`
412
+ * - action templates cover `valueTemplate`, JSONata `fieldPath`, the
413
+ * `runTemplate` action `template`, and nested `values`/`properties` entries
400
414
  * - custom processors/actions are out of scope
401
415
  */
402
416
  async extractBehaviours(behaviours) {
@@ -431,36 +445,60 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
431
445
  ['onError', behaviour.onError],
432
446
  ].forEach(([listName, actions]) => {
433
447
  (actions ?? []).forEach((action, actionIndex) => {
448
+ const keyPrefix = ['behaviours', behaviourIndex.toString(), listName, actionIndex.toString(), 'config'];
434
449
  const config = action.config;
435
- if (typeof config.valueTemplate === 'string') {
450
+ this.extractBehaviourActionEntryTemplates(config, keyPrefix);
451
+ if (typeof config.template === 'string') {
436
452
  this.templates.push({
437
- key: [
438
- 'behaviours',
439
- behaviourIndex.toString(),
440
- listName,
441
- actionIndex.toString(),
442
- 'config',
443
- 'valueTemplate',
444
- ],
445
- value: config.valueTemplate,
446
- kind: 'jsonata',
447
- });
448
- }
449
- if (config.fieldPathKind === 'jsonata' && typeof config.fieldPath === 'string') {
450
- this.templates.push({
451
- key: ['behaviours', behaviourIndex.toString(), listName, actionIndex.toString(), 'config', 'fieldPath'],
452
- value: config.fieldPath,
453
+ key: [...keyPrefix, 'template'],
454
+ value: config.template,
453
455
  kind: 'jsonata',
454
456
  });
455
457
  }
458
+ ['values', 'properties'].forEach(entryListName => {
459
+ const entries = config[entryListName];
460
+ if (Array.isArray(entries)) {
461
+ entries.forEach((entry, entryIndex) => {
462
+ this.extractBehaviourActionEntryTemplates(entry, [
463
+ ...keyPrefix,
464
+ entryListName,
465
+ entryIndex.toString(),
466
+ ]);
467
+ });
468
+ }
469
+ });
456
470
  });
457
471
  });
458
472
  });
459
473
  }
474
+ /**
475
+ * Extract the `valueTemplate` / JSONata `fieldPath` templates shared by
476
+ * behaviour action configs and their nested `values`/`properties` entries.
477
+ *
478
+ * Nested entry keys omit the entry's own `config` segment, e.g.
479
+ * `['behaviours', '0', 'actions', '1', 'config', 'values', '0', 'valueTemplate']`.
480
+ */
481
+ extractBehaviourActionEntryTemplates(entryConfig, keyPrefix) {
482
+ const config = (entryConfig ?? {});
483
+ if (typeof config.valueTemplate === 'string') {
484
+ this.templates.push({
485
+ key: [...keyPrefix, 'valueTemplate'],
486
+ value: config.valueTemplate,
487
+ kind: 'jsonata',
488
+ });
489
+ }
490
+ if (config.fieldPathKind === 'jsonata' && typeof config.fieldPath === 'string') {
491
+ this.templates.push({
492
+ key: [...keyPrefix, 'fieldPath'],
493
+ value: config.fieldPath,
494
+ kind: 'jsonata',
495
+ });
496
+ }
497
+ }
460
498
  async extractValidators(validators) {
461
499
  (validators ?? []).forEach((validator, index) => {
462
- if (validator.class === "jsonata-expression") {
463
- const value = validator.config?.expression?.toString() ?? "";
500
+ if (validator.class === 'jsonata-expression') {
501
+ const value = validator.config?.expression?.toString() ?? '';
464
502
  if (value) {
465
503
  const parentKey = this.normalizeValidatorTemplateParentKey(this.formPathHelper.formPath.formConfig ?? []);
466
504
  const key = parentKey.length > 0
@@ -483,4 +521,4 @@ class TemplateFormConfigVisitor extends sails_ng_common_1.FormConfigVisitor {
483
521
  }
484
522
  }
485
523
  exports.TemplateFormConfigVisitor = TemplateFormConfigVisitor;
486
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL3RlbXBsYXRlLnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQTBGO0FBK0oxRixzRUFBa0U7QUFHbEU7Ozs7OztHQU1HO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQ0FBaUI7SUFDM0MsT0FBTyxHQUFHLDJCQUEyQixDQUFDO0lBRWpELGNBQWMsQ0FBaUI7SUFFL0IsU0FBUyxDQUF5QjtJQUUxQyxZQUFZLE1BQWU7UUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFvQztRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXVCO1FBQzNDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxJQUFJ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
524
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL3RlbXBsYXRlLnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsc0VBQTBGO0FBb0sxRixzRUFBa0U7QUFHbEU7Ozs7OztHQU1HO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxtQ0FBaUI7SUFDM0MsT0FBTyxHQUFHLDJCQUEyQixDQUFDO0lBRWpELGNBQWMsQ0FBaUI7SUFFL0IsU0FBUyxDQUF5QjtJQUUxQyxZQUFZLE1BQWU7UUFDekIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLGdDQUFjLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFvQztRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRXBCLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUFDLElBQXVCO1FBQzNDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDOUMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxJQUFJ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
@@ -1,4 +1,31 @@
1
- import { FormConfigVisitor, FormValidatorConfig, FormValidatorControl, FormValidatorDefinition, FormValidatorSummaryErrors, FormConfigOutline, ILogger, SimpleInputFieldComponentDefinitionOutline, SimpleInputFieldModelDefinitionOutline, SimpleInputFormComponentDefinitionOutline, FormComponentDefinitionOutline, ContentFieldComponentDefinitionOutline, ContentFormComponentDefinitionOutline, RepeatableFieldComponentDefinitionOutline, RepeatableFieldModelDefinitionOutline, RepeatableElementFieldLayoutDefinitionOutline, RepeatableFormComponentDefinitionOutline, ValidationSummaryFieldComponentDefinitionOutline, ValidationSummaryFormComponentDefinitionOutline, SuggestedValidationSummaryFieldComponentDefinitionOutline, SuggestedValidationSummaryFormComponentDefinitionOutline, SaveStatusFieldComponentDefinitionOutline, SaveStatusFormComponentDefinitionOutline, IntegrationStatusFieldComponentDefinitionOutline, IntegrationStatusFormComponentDefinitionOutline, GroupFieldComponentDefinitionOutline, GroupFieldModelDefinitionOutline, GroupFormComponentDefinitionOutline, TabFieldComponentDefinitionOutline, TabFieldLayoutDefinitionOutline, TabFormComponentDefinitionOutline, TabContentFieldComponentDefinitionOutline, TabContentFieldLayoutDefinitionOutline, TabContentFormComponentDefinitionOutline, AccordionFieldComponentDefinitionOutline, AccordionFieldLayoutDefinitionOutline, AccordionFormComponentDefinitionOutline, AccordionPanelFieldComponentDefinitionOutline, AccordionPanelFieldLayoutDefinitionOutline, AccordionPanelFormComponentDefinitionOutline, SaveButtonFieldComponentDefinitionOutline, SaveButtonFormComponentDefinitionOutline, CancelButtonFieldComponentDefinitionOutline, CancelButtonFormComponentDefinitionOutline, DeleteButtonFieldComponentDefinitionOutline, DeleteButtonFormComponentDefinitionOutline, TabNavButtonFieldComponentDefinitionOutline, TabNavButtonFormComponentDefinitionOutline, TextAreaFieldComponentDefinitionOutline, TextAreaFieldModelDefinitionOutline, TextAreaFormComponentDefinitionOutline, DefaultFieldLayoutDefinitionOutline, CheckboxInputFieldComponentDefinitionOutline, CheckboxInputFieldModelDefinitionOutline, CheckboxInputFormComponentDefinitionOutline, CheckboxTreeFieldComponentDefinitionOutline, CheckboxTreeFieldModelDefinitionOutline, CheckboxTreeFormComponentDefinitionOutline, RecordSelectorFieldComponentDefinitionOutline, RecordSelectorFieldModelDefinitionOutline, RecordSelectorFormComponentDefinitionOutline, DropdownInputFieldComponentDefinitionOutline, DropdownInputFieldModelDefinitionOutline, DropdownInputFormComponentDefinitionOutline, TypeaheadInputFieldComponentDefinitionOutline, TypeaheadInputFieldModelDefinitionOutline, TypeaheadInputFormComponentDefinitionOutline, RichTextEditorFieldComponentDefinitionOutline, RichTextEditorFieldModelDefinitionOutline, RichTextEditorFormComponentDefinitionOutline, MapFieldComponentDefinitionOutline, MapFieldModelDefinitionOutline, MapFormComponentDefinitionOutline, FileUploadFieldComponentDefinitionOutline, FileUploadFieldModelDefinitionOutline, FileUploadFormComponentDefinitionOutline, PDFListFieldComponentDefinitionOutline, PDFListFieldModelDefinitionOutline, PDFListFormComponentDefinitionOutline, RecordMetadataRetrieverFieldComponentDefinitionOutline, RecordMetadataRetrieverFormComponentDefinitionOutline, DataLocationFieldComponentDefinitionOutline, DataLocationFieldModelDefinitionOutline, DataLocationFormComponentDefinitionOutline, PublishDataLocationRefreshFieldComponentDefinitionOutline, PublishDataLocationRefreshFormComponentDefinitionOutline, PublishDataLocationSelectorFieldComponentDefinitionOutline, PublishDataLocationSelectorFieldModelDefinitionOutline, PublishDataLocationSelectorFormComponentDefinitionOutline, RadioInputFieldComponentDefinitionOutline, RadioInputFieldModelDefinitionOutline, RadioInputFormComponentDefinitionOutline, DateInputFieldComponentDefinitionOutline, DateInputFieldModelDefinitionOutline, DateInputFormComponentDefinitionOutline, QuestionTreeFieldComponentDefinitionOutline, QuestionTreeFieldModelDefinitionOutline, QuestionTreeFormComponentDefinitionOutline } from "@researchdatabox/sails-ng-common";
1
+ import { FormConfigVisitor, FormValidatorConfig, FormValidatorControl, FormValidatorDefinition, FormValidatorSummaryErrors, FormConfigOutline, ILogger, SimpleInputFieldComponentDefinitionOutline, SimpleInputFieldModelDefinitionOutline, SimpleInputFormComponentDefinitionOutline, FormComponentDefinitionOutline, ContentFieldComponentDefinitionOutline, ContentFormComponentDefinitionOutline, RelatedObjectDataFieldComponentDefinitionOutline, RelatedObjectDataFormComponentDefinitionOutline, RepeatableFieldComponentDefinitionOutline, RepeatableFieldModelDefinitionOutline, RepeatableElementFieldLayoutDefinitionOutline, RepeatableFormComponentDefinitionOutline, ValidationSummaryFieldComponentDefinitionOutline, ValidationSummaryFormComponentDefinitionOutline, SuggestedValidationSummaryFieldComponentDefinitionOutline, SuggestedValidationSummaryFormComponentDefinitionOutline, SaveStatusFieldComponentDefinitionOutline, SaveStatusFormComponentDefinitionOutline, IntegrationStatusFieldComponentDefinitionOutline, IntegrationStatusFormComponentDefinitionOutline, WorkspaceFieldComponentDefinitionOutline, WorkspaceFormComponentDefinitionOutline, GroupFieldComponentDefinitionOutline, GroupFieldModelDefinitionOutline, GroupFormComponentDefinitionOutline, TabFieldComponentDefinitionOutline, TabFieldLayoutDefinitionOutline, TabFormComponentDefinitionOutline, TabContentFieldComponentDefinitionOutline, TabContentFieldLayoutDefinitionOutline, TabContentFormComponentDefinitionOutline, AccordionFieldComponentDefinitionOutline, AccordionFieldLayoutDefinitionOutline, AccordionFormComponentDefinitionOutline, AccordionPanelFieldComponentDefinitionOutline, AccordionPanelFieldLayoutDefinitionOutline, AccordionPanelFormComponentDefinitionOutline, SaveButtonFieldComponentDefinitionOutline, SaveButtonFormComponentDefinitionOutline, CancelButtonFieldComponentDefinitionOutline, CancelButtonFormComponentDefinitionOutline, DeleteButtonFieldComponentDefinitionOutline, DeleteButtonFormComponentDefinitionOutline, TabNavButtonFieldComponentDefinitionOutline, TabNavButtonFormComponentDefinitionOutline, TextAreaFieldComponentDefinitionOutline, TextAreaFieldModelDefinitionOutline, TextAreaFormComponentDefinitionOutline, DefaultFieldLayoutDefinitionOutline, CheckboxInputFieldComponentDefinitionOutline, CheckboxInputFieldModelDefinitionOutline, CheckboxInputFormComponentDefinitionOutline, CheckboxTreeFieldComponentDefinitionOutline, CheckboxTreeFieldModelDefinitionOutline, CheckboxTreeFormComponentDefinitionOutline, RecordSelectorFieldComponentDefinitionOutline, RecordSelectorFieldModelDefinitionOutline, RecordSelectorFormComponentDefinitionOutline, DropdownInputFieldComponentDefinitionOutline, DropdownInputFieldModelDefinitionOutline, DropdownInputFormComponentDefinitionOutline, TypeaheadInputFieldComponentDefinitionOutline, TypeaheadInputFieldModelDefinitionOutline, TypeaheadInputFormComponentDefinitionOutline, RichTextEditorFieldComponentDefinitionOutline, RichTextEditorFieldModelDefinitionOutline, RichTextEditorFormComponentDefinitionOutline, MapFieldComponentDefinitionOutline, MapFieldModelDefinitionOutline, MapFormComponentDefinitionOutline, FileUploadFieldComponentDefinitionOutline, FileUploadFieldModelDefinitionOutline, FileUploadFormComponentDefinitionOutline, PDFListFieldComponentDefinitionOutline, PDFListFieldModelDefinitionOutline, PDFListFormComponentDefinitionOutline, RecordMetadataRetrieverFieldComponentDefinitionOutline, RecordMetadataRetrieverFormComponentDefinitionOutline, DataLocationFieldComponentDefinitionOutline, DataLocationFieldModelDefinitionOutline, DataLocationFormComponentDefinitionOutline, PublishDataLocationRefreshFieldComponentDefinitionOutline, PublishDataLocationRefreshFormComponentDefinitionOutline, PublishDataLocationSelectorFieldComponentDefinitionOutline, PublishDataLocationSelectorFieldModelDefinitionOutline, PublishDataLocationSelectorFormComponentDefinitionOutline, RadioInputFieldComponentDefinitionOutline, RadioInputFieldModelDefinitionOutline, RadioInputFormComponentDefinitionOutline, DateInputFieldComponentDefinitionOutline, DateInputFieldModelDefinitionOutline, DateInputFormComponentDefinitionOutline, QuestionTreeFieldComponentDefinitionOutline, QuestionTreeFieldModelDefinitionOutline, QuestionTreeFormComponentDefinitionOutline, JSONataEvaluate } from '@researchdatabox/sails-ng-common';
2
+ export interface RichHtmlSanitizedTransformation {
3
+ readonly kind: 'rich-html-sanitized';
4
+ readonly dataModelPath: readonly (string | number)[];
5
+ /** Exact string observed at the schema-owned path before sanitation. */
6
+ readonly sourceValue: string;
7
+ readonly value: string;
8
+ /** Advisory emitted only through the typed transformation channel. */
9
+ readonly advisorySummary: FormValidatorSummaryErrors;
10
+ }
11
+ export type FormValueTransformation = RichHtmlSanitizedTransformation;
12
+ export interface ValidatorFormConfigResult {
13
+ readonly summaries: readonly FormValidatorSummaryErrors[];
14
+ readonly transformations: readonly FormValueTransformation[];
15
+ }
16
+ type ValidatorFormConfigOptions = {
17
+ form: FormConfigOutline;
18
+ enabledValidationGroups?: string[];
19
+ /** Validators belonging only to these groups are omitted from this pass. */
20
+ excludedOnlyValidationGroups?: string[];
21
+ validatorDefinitions?: FormValidatorDefinition[];
22
+ validatorDefinitionsMap?: ReadonlyMap<string, FormValidatorDefinition>;
23
+ jsonataEvaluatorFactory?: (expression: string) => JSONataEvaluate;
24
+ /** Shared wall-clock deadline check supplied by the save boundary. */
25
+ checkDeadline?: () => void;
26
+ /** Traverse schema-owned values for transformations without executing validators. */
27
+ transformationOnly?: boolean;
28
+ };
2
29
  /**
3
30
  * Visit each form config component and run its validators.
4
31
  *
@@ -12,8 +39,13 @@ export declare class ValidatorFormConfigVisitor extends FormConfigVisitor {
12
39
  private validatorSupport;
13
40
  private form;
14
41
  private enabledValidationGroups;
42
+ private excludedOnlyValidationGroups;
15
43
  private validatorDefinitionsMap;
44
+ private jsonataEvaluatorFactory;
45
+ private checkDeadline;
46
+ private transformationOnly;
16
47
  private validationErrors;
48
+ private transformations;
17
49
  private formPathHelper;
18
50
  constructor(logger: ILogger);
19
51
  /**
@@ -23,21 +55,26 @@ export declare class ValidatorFormConfigVisitor extends FormConfigVisitor {
23
55
  * @param options.enabledValidationGroups The validation groups to enable.
24
56
  * @param options.validatorDefinitions The validation definitions to make available.
25
57
  */
26
- start(options: {
27
- form: FormConfigOutline;
28
- enabledValidationGroups?: string[];
29
- validatorDefinitions?: FormValidatorDefinition[];
30
- }): Promise<FormValidatorSummaryErrors[]>;
58
+ start(options: ValidatorFormConfigOptions): Promise<FormValidatorSummaryErrors[]>;
59
+ /**
60
+ * Run validation and return schema-owned value transformations separately
61
+ * from validator summaries so save boundaries can apply them immutably.
62
+ */
63
+ startWithResult(options: ValidatorFormConfigOptions): Promise<ValidatorFormConfigResult>;
31
64
  visitFormConfig(item: FormConfigOutline): Promise<void>;
32
65
  visitSimpleInputFieldComponentDefinition(_item: SimpleInputFieldComponentDefinitionOutline): Promise<void>;
33
66
  visitSimpleInputFieldModelDefinition(_item: SimpleInputFieldModelDefinitionOutline): Promise<void>;
34
67
  visitSimpleInputFormComponentDefinition(item: SimpleInputFormComponentDefinitionOutline): Promise<void>;
35
68
  visitContentFieldComponentDefinition(_item: ContentFieldComponentDefinitionOutline): Promise<void>;
36
69
  visitContentFormComponentDefinition(item: ContentFormComponentDefinitionOutline): Promise<void>;
70
+ visitRelatedObjectDataFieldComponentDefinition(_item: RelatedObjectDataFieldComponentDefinitionOutline): Promise<void>;
71
+ visitRelatedObjectDataFormComponentDefinition(item: RelatedObjectDataFormComponentDefinitionOutline): Promise<void>;
37
72
  visitRepeatableFieldComponentDefinition(_item: RepeatableFieldComponentDefinitionOutline): Promise<void>;
38
73
  visitRepeatableFieldModelDefinition(_item: RepeatableFieldModelDefinitionOutline): Promise<void>;
39
74
  visitRepeatableElementFieldLayoutDefinition(_item: RepeatableElementFieldLayoutDefinitionOutline): Promise<void>;
40
75
  visitRepeatableFormComponentDefinition(item: RepeatableFormComponentDefinitionOutline): Promise<void>;
76
+ /** Populate only schema-owned row controls; submitted objects never become form definitions. */
77
+ private hydrateRepeatableRow;
41
78
  visitValidationSummaryFieldComponentDefinition(_item: ValidationSummaryFieldComponentDefinitionOutline): Promise<void>;
42
79
  visitValidationSummaryFormComponentDefinition(item: ValidationSummaryFormComponentDefinitionOutline): Promise<void>;
43
80
  visitSuggestedValidationSummaryFieldComponentDefinition(_item: SuggestedValidationSummaryFieldComponentDefinitionOutline): Promise<void>;
@@ -46,6 +83,8 @@ export declare class ValidatorFormConfigVisitor extends FormConfigVisitor {
46
83
  visitSaveStatusFormComponentDefinition(item: SaveStatusFormComponentDefinitionOutline): Promise<void>;
47
84
  visitIntegrationStatusFieldComponentDefinition(_item: IntegrationStatusFieldComponentDefinitionOutline): Promise<void>;
48
85
  visitIntegrationStatusFormComponentDefinition(item: IntegrationStatusFormComponentDefinitionOutline): Promise<void>;
86
+ visitWorkspaceFieldComponentDefinition(_item: WorkspaceFieldComponentDefinitionOutline): Promise<void>;
87
+ visitWorkspaceFormComponentDefinition(item: WorkspaceFormComponentDefinitionOutline): Promise<void>;
49
88
  visitGroupFieldComponentDefinition(item: GroupFieldComponentDefinitionOutline): Promise<void>;
50
89
  visitGroupFieldModelDefinition(_item: GroupFieldModelDefinitionOutline): Promise<void>;
51
90
  visitGroupFormComponentDefinition(item: GroupFormComponentDefinitionOutline): Promise<void>;
@@ -92,7 +131,8 @@ export declare class ValidatorFormConfigVisitor extends FormConfigVisitor {
92
131
  visitTypeaheadInputFieldModelDefinition(_item: TypeaheadInputFieldModelDefinitionOutline): Promise<void>;
93
132
  visitTypeaheadInputFormComponentDefinition(item: TypeaheadInputFormComponentDefinitionOutline): Promise<void>;
94
133
  visitRichTextEditorFieldComponentDefinition(_item: RichTextEditorFieldComponentDefinitionOutline): Promise<void>;
95
- visitRichTextEditorFieldModelDefinition(item: RichTextEditorFieldModelDefinitionOutline): Promise<void>;
134
+ visitRichTextEditorFieldModelDefinition(_item: RichTextEditorFieldModelDefinitionOutline): Promise<void>;
135
+ private sanitizeRichTextValue;
96
136
  visitRichTextEditorFormComponentDefinition(item: RichTextEditorFormComponentDefinitionOutline): Promise<void>;
97
137
  visitMapFieldComponentDefinition(item: MapFieldComponentDefinitionOutline): Promise<void>;
98
138
  visitMapFieldModelDefinition(_item: MapFieldModelDefinitionOutline): Promise<void>;
@@ -122,6 +162,8 @@ export declare class ValidatorFormConfigVisitor extends FormConfigVisitor {
122
162
  protected createFormControlFromRecordValue(recordValue: unknown): FormValidatorControl;
123
163
  protected acceptFormComponentDefinition(item: FormComponentDefinitionOutline): Promise<void>;
124
164
  protected validateFormComponent(itemName: string, value: unknown, validators?: FormValidatorConfig[], message?: string): Promise<FormValidatorSummaryErrors[]>;
165
+ private isValidatorExclusiveToGroups;
125
166
  private normalizeHtmlForComparison;
126
167
  }
168
+ export {};
127
169
  //# sourceMappingURL=validator.visitor.d.ts.map