@resistdesign/voltra 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (375) hide show
  1. package/README.md +327 -7
  2. package/api/DBX/DBXAsserts.d.ts +95 -0
  3. package/api/DBX/DBXRequest.d.ts +5 -0
  4. package/api/DBX/DBXRuntime.d.ts +5 -0
  5. package/api/DBX/DBXScenarioConfig.d.ts +9 -0
  6. package/api/DBX/DBXSeed.d.ts +124 -0
  7. package/api/DBX/DBXTypes.d.ts +176 -0
  8. package/api/DBX/index.d.ts +8 -0
  9. package/api/DataAccessControl.d.ts +220 -0
  10. package/api/Indexing/API.d.ts +224 -0
  11. package/api/Indexing/Cursor.d.ts +101 -0
  12. package/api/Indexing/Handler/Config.d.ts +39 -0
  13. package/api/Indexing/Handler.d.ts +166 -0
  14. package/api/Indexing/Trace.d.ts +54 -0
  15. package/api/Indexing/Types.d.ts +204 -0
  16. package/api/Indexing/ddb/AwsSdkV3Adapter.d.ts +8 -0
  17. package/api/Indexing/ddb/Types.d.ts +169 -0
  18. package/api/Indexing/docId.d.ts +27 -0
  19. package/api/Indexing/exact/ExactDdb.d.ts +58 -0
  20. package/api/Indexing/exact/ExactIndex.d.ts +90 -0
  21. package/api/Indexing/exact/ExactS3.d.ts +41 -0
  22. package/api/Indexing/fieldQualification.d.ts +12 -0
  23. package/api/Indexing/fulltext/FullTextDdbBackend.d.ts +210 -0
  24. package/api/Indexing/fulltext/FullTextMemoryBackend.d.ts +93 -0
  25. package/api/Indexing/fulltext/Schema.d.ts +164 -0
  26. package/api/Indexing/hashUniversal.d.ts +13 -0
  27. package/api/Indexing/index.d.ts +45 -0
  28. package/api/Indexing/lossy/LossyDdb.d.ts +43 -0
  29. package/api/Indexing/lossy/LossyIndex.d.ts +72 -0
  30. package/api/Indexing/lossy/LossyS3.d.ts +40 -0
  31. package/api/Indexing/rel/Cursor.d.ts +25 -0
  32. package/api/Indexing/rel/Handlers.d.ts +143 -0
  33. package/api/Indexing/rel/RelationalDdb.d.ts +169 -0
  34. package/api/Indexing/rel/RelationalInMemoryBackend.d.ts +38 -0
  35. package/api/Indexing/rel/Types.d.ts +69 -0
  36. package/api/Indexing/structured/Cursor.d.ts +26 -0
  37. package/api/Indexing/structured/Handlers.d.ts +128 -0
  38. package/api/Indexing/structured/SearchStructured.d.ts +44 -0
  39. package/api/Indexing/structured/StructuredDdb.d.ts +166 -0
  40. package/api/Indexing/structured/StructuredDdbBackend.d.ts +109 -0
  41. package/api/Indexing/structured/StructuredInMemoryBackend.d.ts +34 -0
  42. package/api/Indexing/structured/StructuredInMemoryIndex.d.ts +58 -0
  43. package/api/Indexing/structured/StructuredStringLike.d.ts +25 -0
  44. package/api/Indexing/structured/StructuredWriter.d.ts +61 -0
  45. package/api/Indexing/structured/Types.d.ts +126 -0
  46. package/api/Indexing/structured/index.d.ts +9 -0
  47. package/api/Indexing/tokenize.d.ts +31 -0
  48. package/api/ORM/DACUtils.d.ts +270 -0
  49. package/api/ORM/ListItemUtils.d.ts +40 -0
  50. package/api/ORM/ORMRouteMap.d.ts +55 -0
  51. package/api/ORM/TypeInfoORMService.d.ts +555 -0
  52. package/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +229 -0
  53. package/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +89 -0
  54. package/api/ORM/drivers/InMemoryDataItemDBDriver/ConfigTypes.d.ts +4 -0
  55. package/api/ORM/drivers/InMemoryDataItemDBDriver.d.ts +55 -0
  56. package/api/ORM/drivers/InMemoryFileItemDBDriver/ConfigTypes.d.ts +13 -0
  57. package/api/ORM/drivers/InMemoryFileItemDBDriver.d.ts +98 -0
  58. package/api/ORM/drivers/InMemoryItemRelationshipDBDriver.d.ts +16 -0
  59. package/api/ORM/drivers/IndexingRelationshipDriver.d.ts +123 -0
  60. package/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +322 -0
  61. package/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +118 -0
  62. package/{src/api → api}/ORM/drivers/S3FileItemDBDriver.d.ts +27 -0
  63. package/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +36 -0
  64. package/{src/api → api}/ORM/drivers/common/Types.d.ts +120 -0
  65. package/api/ORM/drivers/index.d.ts +7 -0
  66. package/api/ORM/index.d.ts +7 -0
  67. package/api/ORM/indexing/criteriaToStructuredWhere.d.ts +17 -0
  68. package/api/Router/AWS.d.ts +80 -0
  69. package/api/Router/Auth.d.ts +14 -0
  70. package/api/Router/CORS.d.ts +66 -0
  71. package/{src/api → api}/Router/Types.d.ts +70 -4
  72. package/api/Router/index.d.ts +89 -0
  73. package/api/index.d.ts +68 -0
  74. package/api/index.js +9204 -0
  75. package/app/forms/Engine.d.ts +20 -0
  76. package/app/forms/core/createAutoField.d.ts +35 -0
  77. package/app/forms/core/createFormRenderer.d.ts +24 -0
  78. package/app/forms/core/getFieldKind.d.ts +14 -0
  79. package/app/forms/core/index.d.ts +11 -0
  80. package/app/forms/core/mergeSuites.d.ts +22 -0
  81. package/app/forms/core/resolveSuite.d.ts +14 -0
  82. package/app/forms/core/types.d.ts +153 -0
  83. package/app/forms/index.d.ts +9 -0
  84. package/app/forms/types.d.ts +156 -0
  85. package/app/helpers/styled.d.ts +3 -0
  86. package/app/index.d.ts +98 -0
  87. package/app/index.js +1386 -0
  88. package/{src/app → app}/utils/ApplicationState.d.ts +115 -0
  89. package/{src/app → app}/utils/ApplicationStateLoader.d.ts +40 -0
  90. package/app/utils/Controller.d.ts +10 -0
  91. package/app/utils/Debug.d.ts +14 -0
  92. package/app/utils/EasyLayout.d.ts +89 -0
  93. package/app/utils/History.d.ts +148 -0
  94. package/app/utils/Route.d.ts +129 -0
  95. package/app/utils/RouteHistory.d.ts +26 -0
  96. package/app/utils/Service.d.ts +45 -0
  97. package/app/utils/TypeInfoORMAPIUtils.d.ts +94 -0
  98. package/app/utils/TypeInfoORMClient.d.ts +103 -0
  99. package/app/utils/easy-layout/computeAreaBounds.d.ts +5 -0
  100. package/app/utils/easy-layout/computeTracks.d.ts +16 -0
  101. package/app/utils/easy-layout/index.d.ts +5 -0
  102. package/app/utils/easy-layout/parseTemplate.d.ts +12 -0
  103. package/app/utils/easy-layout/types.d.ts +52 -0
  104. package/app/utils/easy-layout/validateAreas.d.ts +5 -0
  105. package/app/utils/index.d.ts +23 -0
  106. package/{src/common/TypeParsing → build}/TypeMapping.d.ts +8 -0
  107. package/build/TypeParsing.d.ts +10 -0
  108. package/build/index.d.ts +15 -0
  109. package/build/index.js +579 -0
  110. package/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +9 -0
  111. package/common/CommandLine/index.d.ts +6 -0
  112. package/common/HelperTypes.d.ts +9 -0
  113. package/common/IdGeneration/getSimpleId.d.ts +8 -0
  114. package/{src/common → common}/ItemRelationshipInfoTypes.d.ts +19 -1
  115. package/common/ItemRelationships/ItemRelationshipValidation.d.ts +21 -0
  116. package/common/Logging/Utils.d.ts +19 -0
  117. package/common/Routing.d.ts +67 -0
  118. package/common/SearchTypes.d.ts +248 -0
  119. package/common/SearchUtils.d.ts +55 -0
  120. package/{src/common → common}/SearchValidation.d.ts +10 -0
  121. package/{src/common → common}/StringTransformers.d.ts +11 -0
  122. package/common/Testing/CLI.d.ts +6 -0
  123. package/common/Testing/CLI.js +432 -0
  124. package/{src/common → common}/Testing/Types.d.ts +103 -4
  125. package/{src/common → common}/Testing/Utils.d.ts +65 -1
  126. package/common/Testing/index.d.ts +8 -0
  127. package/common/TypeInfoDataItemUtils.d.ts +39 -0
  128. package/common/TypeInfoORM/Types.d.ts +342 -0
  129. package/common/TypeParsing/Constants.d.ts +4 -0
  130. package/{src/common → common}/TypeParsing/ParsingUtils/Constants.d.ts +3 -0
  131. package/{src/common → common}/TypeParsing/ParsingUtils/checkType.d.ts +6 -0
  132. package/{src/common → common}/TypeParsing/ParsingUtils/checkUnionType.d.ts +6 -0
  133. package/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +8 -0
  134. package/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +12 -0
  135. package/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +14 -0
  136. package/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +18 -0
  137. package/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +9 -0
  138. package/{src/common → common}/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +6 -0
  139. package/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +11 -0
  140. package/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +12 -0
  141. package/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +11 -0
  142. package/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +9 -0
  143. package/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +11 -0
  144. package/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +8 -0
  145. package/{src/common → common}/TypeParsing/TypeInfo.d.ts +61 -1
  146. package/{src/common → common}/TypeParsing/Utils.d.ts +26 -0
  147. package/{src/common → common}/TypeParsing/Validation.d.ts +105 -0
  148. package/common/TypeParsing/index.d.ts +8 -0
  149. package/common/index.d.ts +50 -0
  150. package/common/index.js +413 -0
  151. package/{src/iac → iac}/SimpleCFT.d.ts +46 -2
  152. package/iac/index.d.ts +40 -0
  153. package/iac/index.js +258 -0
  154. package/iac/packs/auth/user-management.d.ts +80 -0
  155. package/iac/packs/auth.d.ts +86 -0
  156. package/iac/packs/build/utils.d.ts +289 -0
  157. package/iac/packs/build.d.ts +92 -0
  158. package/iac/packs/cdn.d.ts +33 -0
  159. package/iac/packs/cloud-function.d.ts +67 -0
  160. package/{src/iac → iac}/packs/database.d.ts +4 -1
  161. package/{src/iac → iac}/packs/dns.d.ts +22 -1
  162. package/iac/packs/file-storage.d.ts +46 -0
  163. package/iac/packs/gateway.d.ts +79 -0
  164. package/iac/packs/index.d.ts +60 -0
  165. package/iac/packs/index.js +1622 -0
  166. package/iac/packs/repo.d.ts +28 -0
  167. package/iac/packs/ssl-certificate.d.ts +28 -0
  168. package/{src/iac → iac}/types/Constants.d.ts +15 -0
  169. package/iac/types/Renderers.d.ts +96 -0
  170. package/iac/types/Types.d.ts +131 -0
  171. package/iac/types/Utils.d.ts +9 -0
  172. package/{src/iac → iac}/utils/index.d.ts +56 -5
  173. package/iac/utils/patch-utils.d.ts +66 -0
  174. package/native/forms/createNativeFormRenderer.d.ts +21 -0
  175. package/native/forms/index.d.ts +8 -0
  176. package/native/forms/primitives/index.d.ts +48 -0
  177. package/native/forms/suite.d.ts +15 -0
  178. package/native/index.d.ts +15 -0
  179. package/native/index.js +1323 -0
  180. package/native/utils/EasyLayout.d.ts +88 -0
  181. package/native/utils/History.d.ts +113 -0
  182. package/native/utils/NativeRoute.d.ts +44 -0
  183. package/native/utils/Route.d.ts +50 -0
  184. package/native/utils/index.d.ts +11 -0
  185. package/package.json +87 -42
  186. package/web/forms/UI.d.ts +67 -0
  187. package/web/forms/createWebFormRenderer.d.ts +21 -0
  188. package/web/forms/index.d.ts +9 -0
  189. package/web/forms/primitives/index.d.ts +21 -0
  190. package/web/forms/suite.d.ts +15 -0
  191. package/web/index.d.ts +15 -0
  192. package/web/index.js +1297 -0
  193. package/web/utils/EasyLayout.d.ts +47 -0
  194. package/web/utils/Route.d.ts +20 -0
  195. package/web/utils/index.d.ts +7 -0
  196. package/src/api/DataAccessControl.d.ts +0 -85
  197. package/src/api/DataAccessControl.js +0 -159
  198. package/src/api/ORM/DACUtils.d.ts +0 -60
  199. package/src/api/ORM/DACUtils.js +0 -197
  200. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  201. package/src/api/ORM/ListItemUtils.js +0 -22
  202. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  203. package/src/api/ORM/ORMRouteMap.js +0 -82
  204. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  205. package/src/api/ORM/TypeInfoORMService.js +0 -581
  206. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  207. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  208. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  209. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  210. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  211. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  212. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  213. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  214. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  215. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  216. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  217. package/src/api/ORM/drivers/common/Types.js +0 -14
  218. package/src/api/ORM/drivers/common/index.js +0 -18
  219. package/src/api/ORM/drivers/index.d.ts +0 -3
  220. package/src/api/ORM/drivers/index.js +0 -19
  221. package/src/api/ORM/index.d.ts +0 -4
  222. package/src/api/ORM/index.js +0 -43
  223. package/src/api/Router/AWS.d.ts +0 -26
  224. package/src/api/Router/AWS.js +0 -76
  225. package/src/api/Router/Auth.d.ts +0 -2
  226. package/src/api/Router/Auth.js +0 -9
  227. package/src/api/Router/CORS.d.ts +0 -6
  228. package/src/api/Router/CORS.js +0 -27
  229. package/src/api/Router/Types.js +0 -2
  230. package/src/api/Router/index.d.ts +0 -18
  231. package/src/api/Router/index.js +0 -145
  232. package/src/api/index.d.ts +0 -3
  233. package/src/api/index.js +0 -39
  234. package/src/app/index.d.ts +0 -1
  235. package/src/app/index.js +0 -37
  236. package/src/app/utils/ApplicationState.js +0 -86
  237. package/src/app/utils/ApplicationStateLoader.js +0 -57
  238. package/src/app/utils/Controller.d.ts +0 -4
  239. package/src/app/utils/Controller.js +0 -47
  240. package/src/app/utils/Debug.d.ts +0 -4
  241. package/src/app/utils/Debug.js +0 -30
  242. package/src/app/utils/EasyLayout.d.ts +0 -49
  243. package/src/app/utils/EasyLayout.js +0 -122
  244. package/src/app/utils/Route.d.ts +0 -28
  245. package/src/app/utils/Route.js +0 -102
  246. package/src/app/utils/Service.d.ts +0 -12
  247. package/src/app/utils/Service.js +0 -34
  248. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  249. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  250. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  251. package/src/app/utils/TypeInfoORMClient.js +0 -69
  252. package/src/app/utils/index.d.ts +0 -8
  253. package/src/app/utils/index.js +0 -24
  254. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  255. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  256. package/src/common/HelperTypes.d.ts +0 -3
  257. package/src/common/HelperTypes.js +0 -2
  258. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  259. package/src/common/IdGeneration/getSimpleId.js +0 -16
  260. package/src/common/IdGeneration/index.js +0 -17
  261. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  262. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  263. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  264. package/src/common/ItemRelationships/index.js +0 -17
  265. package/src/common/Logging/Utils.d.ts +0 -10
  266. package/src/common/Logging/Utils.js +0 -33
  267. package/src/common/Logging/index.js +0 -17
  268. package/src/common/Routing.d.ts +0 -25
  269. package/src/common/Routing.js +0 -102
  270. package/src/common/SearchTypes.d.ts +0 -98
  271. package/src/common/SearchTypes.js +0 -39
  272. package/src/common/SearchUtils.d.ts +0 -22
  273. package/src/common/SearchUtils.js +0 -134
  274. package/src/common/SearchValidation.js +0 -90
  275. package/src/common/Storyboarding/Types.d.ts +0 -25
  276. package/src/common/Storyboarding/Types.js +0 -2
  277. package/src/common/StringTransformers.js +0 -36
  278. package/src/common/Testing/CLI.d.ts +0 -2
  279. package/src/common/Testing/CLI.js +0 -56
  280. package/src/common/Testing/Types.js +0 -19
  281. package/src/common/Testing/Utils.js +0 -334
  282. package/src/common/Testing/index.d.ts +0 -2
  283. package/src/common/Testing/index.js +0 -18
  284. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  285. package/src/common/TypeInfoDataItemUtils.js +0 -55
  286. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  287. package/src/common/TypeInfoORM/Types.js +0 -55
  288. package/src/common/TypeInfoORM/index.js +0 -17
  289. package/src/common/TypeParsing/Constants.d.ts +0 -1
  290. package/src/common/TypeParsing/Constants.js +0 -4
  291. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  292. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  293. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  294. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  295. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  296. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  297. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  298. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  299. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  300. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  301. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  302. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  303. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  304. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  305. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  306. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  307. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  308. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  309. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  310. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  311. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  312. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  313. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  314. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  315. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  316. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  317. package/src/common/TypeParsing/TypeInfo.js +0 -13
  318. package/src/common/TypeParsing/TypeMapping.js +0 -32
  319. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  320. package/src/common/TypeParsing/TypeParsing.js +0 -39
  321. package/src/common/TypeParsing/Utils.js +0 -94
  322. package/src/common/TypeParsing/Validation.js +0 -340
  323. package/src/common/TypeParsing/index.d.ts +0 -5
  324. package/src/common/TypeParsing/index.js +0 -44
  325. package/src/common/index.d.ts +0 -11
  326. package/src/common/index.js +0 -47
  327. package/src/iac/SimpleCFT.js +0 -82
  328. package/src/iac/index.d.ts +0 -9
  329. package/src/iac/index.js +0 -48
  330. package/src/iac/packs/auth/user-management.d.ts +0 -14
  331. package/src/iac/packs/auth/user-management.js +0 -302
  332. package/src/iac/packs/auth.d.ts +0 -19
  333. package/src/iac/packs/auth.js +0 -47
  334. package/src/iac/packs/build/utils.d.ts +0 -100
  335. package/src/iac/packs/build/utils.js +0 -23
  336. package/src/iac/packs/build.d.ts +0 -29
  337. package/src/iac/packs/build.js +0 -217
  338. package/src/iac/packs/cdn.d.ts +0 -12
  339. package/src/iac/packs/cdn.js +0 -113
  340. package/src/iac/packs/cloud-function.d.ts +0 -17
  341. package/src/iac/packs/cloud-function.js +0 -69
  342. package/src/iac/packs/database.js +0 -27
  343. package/src/iac/packs/dns.js +0 -26
  344. package/src/iac/packs/file-storage.d.ts +0 -14
  345. package/src/iac/packs/file-storage.js +0 -71
  346. package/src/iac/packs/gateway.d.ts +0 -27
  347. package/src/iac/packs/gateway.js +0 -342
  348. package/src/iac/packs/index.d.ts +0 -11
  349. package/src/iac/packs/index.js +0 -27
  350. package/src/iac/packs/repo.d.ts +0 -10
  351. package/src/iac/packs/repo.js +0 -34
  352. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  353. package/src/iac/packs/ssl-certificate.js +0 -36
  354. package/src/iac/types/Constants.js +0 -20
  355. package/src/iac/types/IaCTypes.js +0 -14
  356. package/src/iac/types/Renderers.d.ts +0 -12
  357. package/src/iac/types/Renderers.js +0 -112
  358. package/src/iac/types/Types.d.ts +0 -37
  359. package/src/iac/types/Types.js +0 -2
  360. package/src/iac/types/Utils.d.ts +0 -2
  361. package/src/iac/types/Utils.js +0 -60
  362. package/src/iac/types/generate.js +0 -31
  363. package/src/iac/utils/index.js +0 -105
  364. package/src/iac/utils/patch-utils.d.ts +0 -15
  365. package/src/iac/utils/patch-utils.js +0 -62
  366. package/src/index.d.ts +0 -178
  367. package/src/index.js +0 -214
  368. /package/{src/api → api}/ORM/drivers/common/index.d.ts +0 -0
  369. /package/{src/common → common}/IdGeneration/index.d.ts +0 -0
  370. /package/{src/common → common}/ItemRelationships/index.d.ts +0 -0
  371. /package/{src/common → common}/Logging/index.d.ts +0 -0
  372. /package/{src/common → common}/TypeInfoORM/index.d.ts +0 -0
  373. /package/{src/iac → iac}/types/CloudFormationResourceSpecification.d.ts +0 -0
  374. /package/{src/iac → iac}/types/IaCTypes.d.ts +0 -0
  375. /package/{src/iac → iac}/types/generate.d.ts +0 -0
@@ -0,0 +1,47 @@
1
+ import { type EasyLayoutSpacing, type FCWithChildren, type LayoutComponents } from "../../app/utils/EasyLayout";
2
+ /**
3
+ * Quickly express advanced, extensible grid layouts with styled-components.
4
+ * Template syntax:
5
+ * - Row lines: `<area area ...>, <track>`
6
+ * - Optional column line: `\\ <track> <track> ...`
7
+ *
8
+ * Supported track units are `fr`, `px`, and `%`.
9
+ * Parsing and area-shape validation are shared from the app EasyLayout core.
10
+ * On web, final pixel distribution is resolved by the browser CSS Grid engine.
11
+ * Optional spacing (`gap`, `padding`) can be provided in `options`.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * const {
16
+ * layout: Container,
17
+ * areas: {
18
+ * Header,
19
+ * Side,
20
+ * Main,
21
+ * Footer,
22
+ * },
23
+ * } = getEasyLayout(styled.div)`
24
+ * header header header, 1fr
25
+ * side main main, 5fr
26
+ * footer footer footer, 1fr
27
+ * \\ 1fr 1fr 1fr
28
+ * `;
29
+ *
30
+ * const App = () => {
31
+ * return (
32
+ * <Container>
33
+ * <Header>Header Content</Header>
34
+ * <Side>Side Content</Side>
35
+ * <Main>Main Content</Main>
36
+ * <Footer>Footer Content</Footer>
37
+ * </Container>
38
+ * );
39
+ * };
40
+ * ```
41
+ *
42
+ * @param extendFrom - Base component to extend for the layout container.
43
+ * @param areasExtendFrom - Base component to extend for each area component.
44
+ * @param options - Optional layout spacing (`gap`, `padding`).
45
+ * @returns Tagged template function that builds layout components.
46
+ * */
47
+ export declare const getEasyLayout: (extendFrom?: FCWithChildren, areasExtendFrom?: FCWithChildren, options?: EasyLayoutSpacing) => ((layoutTemplate: TemplateStringsArray, ...expressions: any[]) => LayoutComponents);
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Web (DOM) routing helpers that wire the app-level Route to browser history.
5
+ */
6
+ import { PropsWithChildren } from "react";
7
+ import { type RouteAdapter, type RouteProps, useRouteContext } from "../../app/utils/Route";
8
+ /**
9
+ * Create a browser RouteAdapter backed by the History API.
10
+ */
11
+ export declare const createBrowserRouteAdapter: () => RouteAdapter;
12
+ /**
13
+ * Web RouteProvider using the browser adapter.
14
+ */
15
+ export declare const RouteProvider: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
16
+ /**
17
+ * Web Route component that auto-provides the browser adapter at the top level.
18
+ */
19
+ export declare const Route: <ParamsType extends Record<string, any>>(props: PropsWithChildren<RouteProps<ParamsType>>) => import("react/jsx-runtime").JSX.Element;
20
+ export { useRouteContext };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @packageDocumentation
3
+ *
4
+ * Web-only utilities.
5
+ */
6
+ export * from "./EasyLayout";
7
+ export * from "./Route";
@@ -1,85 +0,0 @@
1
- import { LiteralValue } from "../common/TypeParsing/TypeInfo";
2
- /**
3
- * The possible types of a data access control (DAC) constraint.
4
- * */
5
- export declare enum DACConstraintType {
6
- ALLOW = "ALLOW",
7
- DENY = "DENY"
8
- }
9
- /**
10
- * A data access control (DAC) constraint.
11
- * */
12
- export type DACConstraint = {
13
- type: DACConstraintType;
14
- resourcePath: LiteralValue[];
15
- pathIsPrefix?: boolean;
16
- };
17
- /**
18
- * The primary properties for a data access control (DAC) role.
19
- * */
20
- export type BaseDACRole = {
21
- childRoleIds?: string[];
22
- constraints: DACConstraint[];
23
- };
24
- /**
25
- * A data access control (DAC) role which has been stored and can be accessed by an `id`.
26
- * */
27
- export type DACRole = {
28
- id: string;
29
- } & BaseDACRole;
30
- /**
31
- * The result of a data access control (DAC) check.
32
- * */
33
- export type DACAccessResult = {
34
- allowed: boolean;
35
- denied: boolean;
36
- };
37
- /**
38
- * The result of a data access control (DAC) check for a data item.
39
- * */
40
- export type DACDataItemResourceAccessResultMap = DACAccessResult & {
41
- fieldsResources?: Record<string, DACAccessResult>;
42
- };
43
- /**
44
- * The result of matching a DAC path to a resource path.
45
- * */
46
- export type DACPathMatchResults = {
47
- prefixMatch: boolean;
48
- exactMatch: boolean;
49
- };
50
- /**
51
- * The prototype of a DAC wildcard signifier.
52
- * */
53
- export declare const WILDCARD_SIGNIFIER_PROTOTYPE: Record<string, string>;
54
- /**
55
- * Check if a given DAC path part value is a DAC wildcard signifier.
56
- * */
57
- export declare const getValueIsWildcardSignifier: (value: any) => boolean;
58
- /**
59
- * Check if a given DAC path matches a given resource path.
60
- *
61
- * Includes checking if the DAC path is a prefix of the
62
- * resource path and if the DAC path is an exact match of
63
- * the resource path.
64
- *
65
- * The DAC path can include wildcard signifier objects at
66
- * various indices in order to facilitate dynamic matches
67
- * and grouping by common resource aspects.
68
- * */
69
- export declare const getDACPathsMatch: (dacPath: LiteralValue[], resourcePath: LiteralValue[]) => DACPathMatchResults;
70
- /**
71
- * Get the flattened constraints of a DAC role.
72
- * */
73
- export declare const getFlattenedDACConstraints: (role: DACRole, getDACRoleById: (id: string) => DACRole,
74
- /**
75
- * SECURITY: Don't use this if you want realtime role resolution.
76
- * */
77
- dacRoleCache?: Record<string, DACRole>) => DACConstraint[];
78
- /**
79
- * Get the access to a given resource for a given DAC role.
80
- * */
81
- export declare const getResourceAccessByDACRole: (fullResourcePath: LiteralValue[], role: DACRole, getDACRoleById: (id: string) => DACRole, dacRoleCache?: Record<string, DACRole>) => DACAccessResult;
82
- /**
83
- * Merge multiple DAC access results.
84
- * */
85
- export declare const mergeDACAccessResults: (...results: DACAccessResult[]) => DACAccessResult;
@@ -1,159 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeDACAccessResults = exports.getResourceAccessByDACRole = exports.getFlattenedDACConstraints = exports.getDACPathsMatch = exports.getValueIsWildcardSignifier = exports.WILDCARD_SIGNIFIER_PROTOTYPE = exports.DACConstraintType = void 0;
4
- /**
5
- * The possible types of a data access control (DAC) constraint.
6
- * */
7
- var DACConstraintType;
8
- (function (DACConstraintType) {
9
- DACConstraintType["ALLOW"] = "ALLOW";
10
- DACConstraintType["DENY"] = "DENY";
11
- })(DACConstraintType || (exports.DACConstraintType = DACConstraintType = {}));
12
- /**
13
- * The prototype of a DAC wildcard signifier.
14
- * */
15
- exports.WILDCARD_SIGNIFIER_PROTOTYPE = {
16
- WILD_CARD: "*",
17
- };
18
- /**
19
- * Check if a given DAC path part value is a DAC wildcard signifier.
20
- * */
21
- const getValueIsWildcardSignifier = (value) => {
22
- if (typeof value === "object" && value !== null) {
23
- return Object.keys(exports.WILDCARD_SIGNIFIER_PROTOTYPE).every((key) => value[key] === exports.WILDCARD_SIGNIFIER_PROTOTYPE[key]);
24
- }
25
- return false;
26
- };
27
- exports.getValueIsWildcardSignifier = getValueIsWildcardSignifier;
28
- /**
29
- * Check if a given DAC path matches a given resource path.
30
- *
31
- * Includes checking if the DAC path is a prefix of the
32
- * resource path and if the DAC path is an exact match of
33
- * the resource path.
34
- *
35
- * The DAC path can include wildcard signifier objects at
36
- * various indices in order to facilitate dynamic matches
37
- * and grouping by common resource aspects.
38
- * */
39
- const getDACPathsMatch = (dacPath, resourcePath) => {
40
- const results = {
41
- prefixMatch: false,
42
- exactMatch: false,
43
- };
44
- let allDACPartsMatch = true;
45
- for (let i = 0; i < dacPath.length; i++) {
46
- const part = dacPath[i];
47
- const resourcePart = resourcePath[i];
48
- if (!(0, exports.getValueIsWildcardSignifier)(part) && part !== resourcePart) {
49
- allDACPartsMatch = false;
50
- break;
51
- }
52
- }
53
- if (allDACPartsMatch) {
54
- results.prefixMatch = true;
55
- }
56
- if (dacPath.length !== resourcePath.length) {
57
- const lastDACPart = dacPath[dacPath.length - 1];
58
- const lastDACPartIsWildcard = (0, exports.getValueIsWildcardSignifier)(lastDACPart);
59
- results.exactMatch = results.prefixMatch && lastDACPartIsWildcard;
60
- }
61
- else if (results.prefixMatch) {
62
- results.exactMatch = true;
63
- }
64
- return results;
65
- };
66
- exports.getDACPathsMatch = getDACPathsMatch;
67
- /**
68
- * Get the flattened constraints of a DAC role.
69
- * */
70
- const getFlattenedDACConstraints = (role, getDACRoleById,
71
- /**
72
- * SECURITY: Don't use this if you want realtime role resolution.
73
- * */
74
- dacRoleCache) => {
75
- const { childRoleIds = [], constraints = [] } = role;
76
- let flattenedConstraints = [...constraints];
77
- for (const cRI of childRoleIds) {
78
- let childRole;
79
- if (dacRoleCache && dacRoleCache[cRI]) {
80
- childRole = dacRoleCache[cRI];
81
- }
82
- else {
83
- childRole = getDACRoleById(cRI);
84
- if (dacRoleCache) {
85
- dacRoleCache[cRI] = childRole;
86
- }
87
- }
88
- flattenedConstraints = [
89
- ...flattenedConstraints,
90
- ...(0, exports.getFlattenedDACConstraints)(childRole, getDACRoleById, dacRoleCache),
91
- ];
92
- }
93
- return flattenedConstraints;
94
- };
95
- exports.getFlattenedDACConstraints = getFlattenedDACConstraints;
96
- /**
97
- * Get the access to a given resource for a given DAC role.
98
- * */
99
- const getResourceAccessByDACRole = (fullResourcePath, role, getDACRoleById, dacRoleCache) => {
100
- const flattenedConstraints = (0, exports.getFlattenedDACConstraints)(role, getDACRoleById, dacRoleCache);
101
- let allowed = false, denied = false, lastAllowedPath = [], lastDeniedPath = [];
102
- for (const constraint of flattenedConstraints) {
103
- const { type, resourcePath: dacPath, pathIsPrefix } = constraint;
104
- const { prefixMatch: dacPathIsPrefixOfResourcePath, exactMatch: dacPathIsExactMatch, } = (0, exports.getDACPathsMatch)(dacPath, fullResourcePath);
105
- if (pathIsPrefix) {
106
- if (dacPathIsPrefixOfResourcePath) {
107
- if (type === DACConstraintType.ALLOW) {
108
- allowed = true;
109
- lastAllowedPath = dacPath;
110
- // IMPORTANT: Calculate specificity.
111
- if (lastAllowedPath.length > lastDeniedPath.length) {
112
- denied = false;
113
- }
114
- }
115
- else {
116
- denied = true;
117
- lastDeniedPath = dacPath;
118
- // IMPORTANT: Calculate specificity.
119
- if (lastDeniedPath.length > lastAllowedPath.length) {
120
- allowed = false;
121
- }
122
- }
123
- }
124
- }
125
- else {
126
- if (dacPathIsExactMatch) {
127
- lastAllowedPath = dacPath;
128
- lastDeniedPath = dacPath;
129
- if (type === DACConstraintType.ALLOW) {
130
- allowed = true;
131
- }
132
- else {
133
- denied = true;
134
- }
135
- }
136
- }
137
- }
138
- return { allowed, denied };
139
- };
140
- exports.getResourceAccessByDACRole = getResourceAccessByDACRole;
141
- /**
142
- * Merge multiple DAC access results.
143
- * */
144
- const mergeDACAccessResults = (...results) => {
145
- let newResult = {
146
- allowed: false,
147
- denied: false,
148
- };
149
- for (const r of results) {
150
- const { allowed: rAllowed, denied: rDenied } = r;
151
- const { allowed: nAllowed, denied: nDenied } = newResult;
152
- newResult = {
153
- allowed: rAllowed || nAllowed,
154
- denied: rDenied || nDenied,
155
- };
156
- }
157
- return newResult;
158
- };
159
- exports.mergeDACAccessResults = mergeDACAccessResults;
@@ -1,60 +0,0 @@
1
- import { LiteralValue, TypeInfo, TypeInfoDataItem } from "../../common/TypeParsing/TypeInfo";
2
- import { ORMOperation } from "../../common/TypeInfoORM";
3
- import { BaseDACRole, DACConstraint, DACConstraintType, DACDataItemResourceAccessResultMap, DACRole } from "../DataAccessControl";
4
- import { BaseItemRelationshipInfo, ItemRelationshipOriginInfo } from "../../common/ItemRelationshipInfoTypes";
5
- /**
6
- * Get the DAC Resource Path for a given operation performed using an ORM with the given DAC prefix.
7
- * */
8
- export declare const getORMDACResourcePath: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation) => LiteralValue[];
9
- /**
10
- * Get the DAC Resource Path for a given item type.
11
- * */
12
- export declare const getItemTypeDACResourcePath: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, typeName: string) => LiteralValue[];
13
- /**
14
- * Get the DAC Resource Path for a given data item.
15
- * */
16
- export declare const getDataItemDACResourcePath: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, typeName: string, primaryKeyValue: LiteralValue) => LiteralValue[];
17
- /**
18
- * Get the DAC Resource Path for a given item relationship origin.
19
- * */
20
- export declare const getItemRelationshipOriginDACResourcePath: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, itemRelationshipOrigin: ItemRelationshipOriginInfo) => LiteralValue[];
21
- /**
22
- * Get the DAC Resource Path for a given item relationship.
23
- * */
24
- export declare const getItemRelationshipDACResourcePath: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, itemRelationship: BaseItemRelationshipInfo) => LiteralValue[];
25
- /**
26
- * Get the DAC Resource Path for a given data item with a specific field value.
27
- * */
28
- export declare const getDataItemFieldValueDACResourcePath: (itemPath: LiteralValue[], fieldName: string, fieldValue: LiteralValue) => LiteralValue[];
29
- /**
30
- * Get a DAC Constraint for a given item type.
31
- * */
32
- export declare const getItemTypeDACConstraint: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, typeName: string, constraintType: DACConstraintType) => DACConstraint;
33
- /**
34
- * Get a DAC Constraint for a given item relationship origin.
35
- * */
36
- export declare const getItemRelationshipOriginDACConstraint: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, itemRelationshipOrigin: ItemRelationshipOriginInfo, constraintType: DACConstraintType) => DACConstraint;
37
- /**
38
- * Get a DAC Role for a given item type.
39
- * */
40
- export declare const getItemTypeDACRole: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, typeName: string, constraintType: DACConstraintType) => BaseDACRole;
41
- /**
42
- * Get a DAC Role for a given item type.
43
- * */
44
- export declare const getItemRelationshipOriginDACRole: (prefixPath: LiteralValue[] | undefined, operation: ORMOperation, itemRelationshipOrigin: ItemRelationshipOriginInfo, constraintType: DACConstraintType) => BaseDACRole;
45
- /**
46
- * Get a DAC Role encompassing all operations for all types and relationships for an ORM with the given DAC prefix.
47
- * */
48
- export declare const getFullORMDACRole: (prefixPath: LiteralValue[] | undefined, constraintType: DACConstraintType) => BaseDACRole;
49
- /**
50
- * Get the access to a given data item resource for a given DAC role.
51
- * */
52
- export declare const getDACRoleHasAccessToDataItem: (prefixPath: LiteralValue[], operation: ORMOperation, typeName: string, dataItem: Partial<TypeInfoDataItem>, typeInfo: TypeInfo, role: DACRole, getDACRoleById: (id: string) => DACRole,
53
- /**
54
- * SECURITY: Don't use this if you want realtime role resolution.
55
- * */
56
- dacRoleCache?: Record<string, DACRole>) => DACDataItemResourceAccessResultMap;
57
- /**
58
- * Merge multiple DAC data item resource access result maps.
59
- * */
60
- export declare const mergeDACDataItemResourceAccessResultMaps: (...maps: DACDataItemResourceAccessResultMap[]) => DACDataItemResourceAccessResultMap;
@@ -1,197 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeDACDataItemResourceAccessResultMaps = exports.getDACRoleHasAccessToDataItem = exports.getFullORMDACRole = exports.getItemRelationshipOriginDACRole = exports.getItemTypeDACRole = exports.getItemRelationshipOriginDACConstraint = exports.getItemTypeDACConstraint = exports.getDataItemFieldValueDACResourcePath = exports.getItemRelationshipDACResourcePath = exports.getItemRelationshipOriginDACResourcePath = exports.getDataItemDACResourcePath = exports.getItemTypeDACResourcePath = exports.getORMDACResourcePath = void 0;
4
- const TypeInfoORM_1 = require("../../common/TypeInfoORM");
5
- const DataAccessControl_1 = require("../DataAccessControl");
6
- /**
7
- * Get the DAC Resource Path for a given operation performed using an ORM with the given DAC prefix.
8
- * */
9
- const getORMDACResourcePath = (prefixPath = [], operation) => [...prefixPath, operation];
10
- exports.getORMDACResourcePath = getORMDACResourcePath;
11
- /**
12
- * Get the DAC Resource Path for a given item type.
13
- * */
14
- const getItemTypeDACResourcePath = (prefixPath = [], operation, typeName) => [
15
- ...(0, exports.getORMDACResourcePath)(prefixPath, operation),
16
- typeName,
17
- ];
18
- exports.getItemTypeDACResourcePath = getItemTypeDACResourcePath;
19
- /**
20
- * Get the DAC Resource Path for a given data item.
21
- * */
22
- const getDataItemDACResourcePath = (prefixPath = [], operation, typeName, primaryKeyValue) => [
23
- ...(0, exports.getItemTypeDACResourcePath)(prefixPath, operation, typeName),
24
- primaryKeyValue,
25
- ];
26
- exports.getDataItemDACResourcePath = getDataItemDACResourcePath;
27
- /**
28
- * Get the DAC Resource Path for a given item relationship origin.
29
- * */
30
- const getItemRelationshipOriginDACResourcePath = (prefixPath = [], operation, itemRelationshipOrigin) => {
31
- const { fromTypeName, fromTypeFieldName } = itemRelationshipOrigin;
32
- return [
33
- ...(0, exports.getItemTypeDACResourcePath)(prefixPath, operation, TypeInfoORM_1.ITEM_RELATIONSHIP_DAC_RESOURCE_NAME),
34
- fromTypeName,
35
- fromTypeFieldName,
36
- ];
37
- };
38
- exports.getItemRelationshipOriginDACResourcePath = getItemRelationshipOriginDACResourcePath;
39
- /**
40
- * Get the DAC Resource Path for a given item relationship.
41
- * */
42
- const getItemRelationshipDACResourcePath = (prefixPath = [], operation, itemRelationship) => {
43
- const { fromTypeName, fromTypeFieldName, fromTypePrimaryFieldValue, toTypePrimaryFieldValue, } = itemRelationship;
44
- return [
45
- ...(0, exports.getItemTypeDACResourcePath)(prefixPath, operation, TypeInfoORM_1.ITEM_RELATIONSHIP_DAC_RESOURCE_NAME),
46
- fromTypeName,
47
- fromTypeFieldName,
48
- fromTypePrimaryFieldValue,
49
- toTypePrimaryFieldValue,
50
- ];
51
- };
52
- exports.getItemRelationshipDACResourcePath = getItemRelationshipDACResourcePath;
53
- /**
54
- * Get the DAC Resource Path for a given data item with a specific field value.
55
- * */
56
- const getDataItemFieldValueDACResourcePath = (itemPath, fieldName, fieldValue) => [...itemPath, fieldName, fieldValue];
57
- exports.getDataItemFieldValueDACResourcePath = getDataItemFieldValueDACResourcePath;
58
- /**
59
- * Get a DAC Constraint for a given item type.
60
- * */
61
- const getItemTypeDACConstraint = (prefixPath = [], operation, typeName, constraintType) => ({
62
- type: constraintType,
63
- pathIsPrefix: true,
64
- resourcePath: (0, exports.getItemTypeDACResourcePath)(prefixPath, operation, typeName),
65
- });
66
- exports.getItemTypeDACConstraint = getItemTypeDACConstraint;
67
- /**
68
- * Get a DAC Constraint for a given item relationship origin.
69
- * */
70
- const getItemRelationshipOriginDACConstraint = (prefixPath = [], operation, itemRelationshipOrigin, constraintType) => ({
71
- type: constraintType,
72
- pathIsPrefix: true,
73
- resourcePath: (0, exports.getItemRelationshipOriginDACResourcePath)(prefixPath, operation, itemRelationshipOrigin),
74
- });
75
- exports.getItemRelationshipOriginDACConstraint = getItemRelationshipOriginDACConstraint;
76
- /**
77
- * Get a DAC Role for a given item type.
78
- * */
79
- const getItemTypeDACRole = (prefixPath = [], operation, typeName, constraintType) => ({
80
- constraints: [
81
- (0, exports.getItemTypeDACConstraint)(prefixPath, operation, typeName, constraintType),
82
- ],
83
- });
84
- exports.getItemTypeDACRole = getItemTypeDACRole;
85
- /**
86
- * Get a DAC Role for a given item type.
87
- * */
88
- const getItemRelationshipOriginDACRole = (prefixPath = [], operation, itemRelationshipOrigin, constraintType) => ({
89
- constraints: [
90
- (0, exports.getItemRelationshipOriginDACConstraint)(prefixPath, operation, itemRelationshipOrigin, constraintType),
91
- ],
92
- });
93
- exports.getItemRelationshipOriginDACRole = getItemRelationshipOriginDACRole;
94
- /**
95
- * Get a DAC Role encompassing all operations for all types and relationships for an ORM with the given DAC prefix.
96
- * */
97
- const getFullORMDACRole = (prefixPath = [], constraintType) => ({
98
- constraints: [
99
- {
100
- type: constraintType,
101
- pathIsPrefix: true,
102
- resourcePath: (0, exports.getORMDACResourcePath)(prefixPath, TypeInfoORM_1.OperationGroup.ALL_OPERATIONS),
103
- },
104
- ],
105
- });
106
- exports.getFullORMDACRole = getFullORMDACRole;
107
- /**
108
- * Get the access to a given data item resource for a given DAC role.
109
- * */
110
- const getDACRoleHasAccessToDataItem = (prefixPath, operation, typeName, dataItem, typeInfo, role, getDACRoleById,
111
- /**
112
- * SECURITY: Don't use this if you want realtime role resolution.
113
- * */
114
- dacRoleCache) => {
115
- const cleanItemPathPrefix = prefixPath ? prefixPath : [];
116
- const resultMap = {
117
- allowed: false,
118
- denied: false,
119
- fieldsResources: {},
120
- };
121
- if (typeof dataItem === "object" &&
122
- dataItem !== null &&
123
- typeName &&
124
- typeInfo) {
125
- const { primaryField, fields = {} } = typeInfo;
126
- if (primaryField) {
127
- const cleanPrimaryField = primaryField;
128
- const primaryFieldValue = typeof dataItem[cleanPrimaryField] === "undefined"
129
- ? null
130
- : dataItem[cleanPrimaryField];
131
- if (typeof primaryFieldValue !== "undefined" &&
132
- primaryFieldValue !== null &&
133
- !Array.isArray(primaryFieldValue)) {
134
- const dataItemFields = Object.keys(dataItem);
135
- const primaryResourcePath = (0, exports.getDataItemDACResourcePath)(cleanItemPathPrefix, operation, typeName, primaryFieldValue);
136
- const { allowed: primaryResourceAllowed, denied: primaryResourceDenied, } = (0, DataAccessControl_1.getResourceAccessByDACRole)(primaryResourcePath, role, getDACRoleById, dacRoleCache);
137
- resultMap.allowed = primaryResourceAllowed;
138
- resultMap.denied = primaryResourceDenied;
139
- for (const dIF of dataItemFields) {
140
- const typeInfoField = fields[dIF];
141
- if (typeInfoField) {
142
- const { typeReference, array: fieldIsArray } = typeInfoField;
143
- if (!typeReference && !fieldIsArray) {
144
- const fieldResourcePath = (0, exports.getDataItemFieldValueDACResourcePath)(primaryResourcePath, dIF, dataItem[dIF]);
145
- const { allowed: fieldResourceAllowed, denied: fieldResourceDenied, } = (0, DataAccessControl_1.getResourceAccessByDACRole)(fieldResourcePath, role, getDACRoleById, dacRoleCache);
146
- resultMap.fieldsResources = {
147
- ...resultMap.fieldsResources,
148
- [dIF]: {
149
- allowed: fieldResourceAllowed,
150
- denied: fieldResourceDenied,
151
- },
152
- };
153
- }
154
- }
155
- }
156
- }
157
- }
158
- }
159
- return resultMap;
160
- };
161
- exports.getDACRoleHasAccessToDataItem = getDACRoleHasAccessToDataItem;
162
- /**
163
- * Merge multiple DAC data item resource access result maps.
164
- * */
165
- const mergeDACDataItemResourceAccessResultMaps = (...maps) => {
166
- let outputMap = {
167
- allowed: false,
168
- denied: false,
169
- fieldsResources: {},
170
- };
171
- for (const m of maps) {
172
- const { fieldsResources: mFR = {} } = m;
173
- const { fieldsResources: oFR = {} } = outputMap;
174
- const fRFieldNames = [...Object.keys(mFR), ...Object.keys(oFR)];
175
- let newFieldsResources = {};
176
- for (const mFRField of fRFieldNames) {
177
- const mFRFieldData = mFR[mFRField] || {
178
- allowed: false,
179
- denied: false,
180
- };
181
- const oFRFieldData = oFR[mFRField] || {
182
- allowed: false,
183
- denied: false,
184
- };
185
- newFieldsResources = {
186
- ...newFieldsResources,
187
- [mFRField]: (0, DataAccessControl_1.mergeDACAccessResults)(mFRFieldData, oFRFieldData),
188
- };
189
- }
190
- outputMap = {
191
- ...(0, DataAccessControl_1.mergeDACAccessResults)(m, outputMap),
192
- fieldsResources: newFieldsResources,
193
- };
194
- }
195
- return outputMap;
196
- };
197
- exports.mergeDACDataItemResourceAccessResultMaps = mergeDACDataItemResourceAccessResultMaps;
@@ -1,7 +0,0 @@
1
- import { DataItemDBDriver } from "./drivers";
2
- import { TypeInfoDataItem } from "../../common/TypeParsing/TypeInfo";
3
- import { ListItemsConfig, ListItemsResults } from "../../common/SearchTypes";
4
- /**
5
- * Execute a list items request against a data item driver.
6
- * */
7
- export declare const executeDriverListItems: (driver: DataItemDBDriver<any, any>, config: ListItemsConfig, filter?: (item: Partial<TypeInfoDataItem>) => boolean, transform?: (item: Partial<TypeInfoDataItem>) => Partial<TypeInfoDataItem>, selectedFields?: (keyof TypeInfoDataItem)[]) => Promise<ListItemsResults<Partial<TypeInfoDataItem>>>;
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.executeDriverListItems = void 0;
4
- /**
5
- * Execute a list items request against a data item driver.
6
- * */
7
- const executeDriverListItems = async (driver, config, filter, transform, selectedFields) => {
8
- const filteredItems = [];
9
- const { items = [], cursor: newCursor } = (await driver.listItems(config, filter ? undefined : selectedFields));
10
- for (const itm of items) {
11
- const includeItem = filter ? filter(itm) : true;
12
- if (includeItem) {
13
- const transformedItem = transform ? transform(itm) : itm;
14
- filteredItems.push(transformedItem);
15
- }
16
- }
17
- return {
18
- items: filteredItems,
19
- cursor: newCursor,
20
- };
21
- };
22
- exports.executeDriverListItems = executeDriverListItems;
@@ -1,19 +0,0 @@
1
- import { BaseTypeInfoORMServiceConfig, TypeInfoORMDACConfig } from "./TypeInfoORMService";
2
- import { AuthInfo, RouteAuthConfig, RouteMap } from "../Router/Types";
3
- import { TypeInfoORMAPI } from "../../common/TypeInfoORM";
4
- import { DACRole } from "../DataAccessControl";
5
- /**
6
- * A collection of errors that can occur when creating or using a Type Info ORM Route Map.
7
- * */
8
- export declare enum TYPE_INFO_ORM_ROUTE_MAP_ERRORS {
9
- MISSING_ACCESSING_ROLE = "MISSING_ACCESSING_ROLE",
10
- MISSING_ACCESSING_ROLE_GETTER = "MISSING_ACCESSING_ROLE_GETTER"
11
- }
12
- /**
13
- * A map of Type Info ORM API paths to method names.
14
- * */
15
- export declare const TYPE_INFO_ORM_API_PATH_METHOD_NAME_MAP: Record<string, keyof TypeInfoORMAPI>;
16
- /**
17
- * Get a route map for a Type Info ORM service.
18
- * */
19
- export declare const getTypeInfoORMRouteMap: (config: BaseTypeInfoORMServiceConfig, dacConfig?: Omit<TypeInfoORMDACConfig, "accessingRole">, getAccessingRole?: (authInfo: AuthInfo) => DACRole, authConfig?: RouteAuthConfig) => RouteMap;