@contember/schema-definition 2.1.0-alpha.36 → 2.1.0-alpha.39

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 (691) hide show
  1. package/dist/development/index.cjs +123 -0
  2. package/dist/development/index.cjs.map +1 -0
  3. package/dist/development/index.js +118 -0
  4. package/dist/development/index.js.map +1 -0
  5. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
  6. package/dist/development/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
  7. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js +120 -0
  8. package/dist/development/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
  9. package/dist/development/src/acl/builder/EntitySelector.cjs +32 -0
  10. package/dist/development/src/acl/builder/EntitySelector.cjs.map +1 -0
  11. package/dist/development/src/acl/builder/EntitySelector.js +33 -0
  12. package/dist/development/src/acl/builder/EntitySelector.js.map +1 -0
  13. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
  14. package/dist/development/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
  15. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js +60 -0
  16. package/dist/development/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
  17. package/dist/development/src/acl/builder/FieldSelector.cjs +26 -0
  18. package/dist/development/src/acl/builder/FieldSelector.cjs.map +1 -0
  19. package/dist/development/src/acl/builder/FieldSelector.js +27 -0
  20. package/dist/development/src/acl/builder/FieldSelector.js.map +1 -0
  21. package/dist/development/src/acl/builder/PermissionOverrider.cjs +37 -0
  22. package/dist/development/src/acl/builder/PermissionOverrider.cjs.map +1 -0
  23. package/dist/development/src/acl/builder/PermissionOverrider.js +38 -0
  24. package/dist/development/src/acl/builder/PermissionOverrider.js.map +1 -0
  25. package/dist/development/src/acl/builder/PermissionsBuilder.cjs +56 -0
  26. package/dist/development/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
  27. package/dist/development/src/acl/builder/PermissionsBuilder.js +56 -0
  28. package/dist/development/src/acl/builder/PermissionsBuilder.js.map +1 -0
  29. package/dist/development/src/acl/builder/PredicateReference.cjs +43 -0
  30. package/dist/development/src/acl/builder/PredicateReference.cjs.map +1 -0
  31. package/dist/development/src/acl/builder/PredicateReference.js +43 -0
  32. package/dist/development/src/acl/builder/PredicateReference.js.map +1 -0
  33. package/dist/development/src/acl/definition/aclExtensions.cjs +16 -0
  34. package/dist/development/src/acl/definition/aclExtensions.cjs.map +1 -0
  35. package/dist/development/src/acl/definition/aclExtensions.js +16 -0
  36. package/dist/development/src/acl/definition/aclExtensions.js.map +1 -0
  37. package/dist/development/src/acl/definition/customPrimary.cjs +13 -0
  38. package/dist/development/src/acl/definition/customPrimary.cjs.map +1 -0
  39. package/dist/development/src/acl/definition/customPrimary.js +13 -0
  40. package/dist/development/src/acl/definition/customPrimary.js.map +1 -0
  41. package/dist/development/src/acl/definition/index.cjs +27 -0
  42. package/dist/development/src/acl/definition/index.cjs.map +1 -0
  43. package/dist/development/src/acl/definition/index.js +27 -0
  44. package/dist/development/src/acl/definition/index.js.map +1 -0
  45. package/dist/development/src/acl/definition/internal/AclFactory.cjs +133 -0
  46. package/dist/development/src/acl/definition/internal/AclFactory.cjs.map +1 -0
  47. package/dist/development/src/acl/definition/internal/AclFactory.js +133 -0
  48. package/dist/development/src/acl/definition/internal/AclFactory.js.map +1 -0
  49. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
  50. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
  51. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
  52. package/dist/development/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
  53. package/dist/development/src/acl/definition/internal/createPredicateName.cjs +8 -0
  54. package/dist/development/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
  55. package/dist/development/src/acl/definition/internal/createPredicateName.js +8 -0
  56. package/dist/development/src/acl/definition/internal/createPredicateName.js.map +1 -0
  57. package/dist/development/src/acl/definition/internal/stores.cjs +6 -0
  58. package/dist/development/src/acl/definition/internal/stores.cjs.map +1 -0
  59. package/dist/development/src/acl/definition/internal/stores.js +6 -0
  60. package/dist/development/src/acl/definition/internal/stores.js.map +1 -0
  61. package/dist/development/src/acl/definition/permissions.cjs +15 -0
  62. package/dist/development/src/acl/definition/permissions.cjs.map +1 -0
  63. package/dist/development/src/acl/definition/permissions.js +15 -0
  64. package/dist/development/src/acl/definition/permissions.js.map +1 -0
  65. package/dist/development/src/acl/definition/references.cjs +26 -0
  66. package/dist/development/src/acl/definition/references.cjs.map +1 -0
  67. package/dist/development/src/acl/definition/references.js +26 -0
  68. package/dist/development/src/acl/definition/references.js.map +1 -0
  69. package/dist/development/src/acl/definition/roles.cjs +14 -0
  70. package/dist/development/src/acl/definition/roles.cjs.map +1 -0
  71. package/dist/development/src/acl/definition/roles.js +14 -0
  72. package/dist/development/src/acl/definition/roles.js.map +1 -0
  73. package/dist/development/src/acl/definition/variables.cjs +36 -0
  74. package/dist/development/src/acl/definition/variables.cjs.map +1 -0
  75. package/dist/development/src/acl/definition/variables.js +36 -0
  76. package/dist/development/src/acl/definition/variables.js.map +1 -0
  77. package/dist/development/src/actions/definition/index.cjs +15 -0
  78. package/dist/development/src/actions/definition/index.cjs.map +1 -0
  79. package/dist/development/src/actions/definition/index.js +15 -0
  80. package/dist/development/src/actions/definition/index.js.map +1 -0
  81. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs +180 -0
  82. package/dist/development/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
  83. package/dist/development/src/actions/definition/internal/ActionsFactory.js +180 -0
  84. package/dist/development/src/actions/definition/internal/ActionsFactory.js.map +1 -0
  85. package/dist/development/src/actions/definition/internal/store.cjs +6 -0
  86. package/dist/development/src/actions/definition/internal/store.cjs.map +1 -0
  87. package/dist/development/src/actions/definition/internal/store.js +6 -0
  88. package/dist/development/src/actions/definition/internal/store.js.map +1 -0
  89. package/dist/development/src/actions/definition/targets.cjs +15 -0
  90. package/dist/development/src/actions/definition/targets.cjs.map +1 -0
  91. package/dist/development/src/actions/definition/targets.js +15 -0
  92. package/dist/development/src/actions/definition/targets.js.map +1 -0
  93. package/dist/development/src/actions/definition/triggers.cjs +12 -0
  94. package/dist/development/src/actions/definition/triggers.cjs.map +1 -0
  95. package/dist/development/src/actions/definition/triggers.js +12 -0
  96. package/dist/development/src/actions/definition/triggers.js.map +1 -0
  97. package/dist/development/src/createSchema.cjs +29 -0
  98. package/dist/development/src/createSchema.cjs.map +1 -0
  99. package/dist/development/src/createSchema.js +29 -0
  100. package/dist/development/src/createSchema.js.map +1 -0
  101. package/dist/development/src/model/builder/ColumnBuilder.cjs +38 -0
  102. package/dist/development/src/model/builder/ColumnBuilder.cjs.map +1 -0
  103. package/dist/development/src/model/builder/ColumnBuilder.js +39 -0
  104. package/dist/development/src/model/builder/ColumnBuilder.js.map +1 -0
  105. package/dist/development/src/model/builder/EntityBuilder.cjs +69 -0
  106. package/dist/development/src/model/builder/EntityBuilder.cjs.map +1 -0
  107. package/dist/development/src/model/builder/EntityBuilder.js +70 -0
  108. package/dist/development/src/model/builder/EntityBuilder.js.map +1 -0
  109. package/dist/development/src/model/builder/FieldBuilder.cjs +14 -0
  110. package/dist/development/src/model/builder/FieldBuilder.cjs.map +1 -0
  111. package/dist/development/src/model/builder/FieldBuilder.js +15 -0
  112. package/dist/development/src/model/builder/FieldBuilder.js.map +1 -0
  113. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs +35 -0
  114. package/dist/development/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
  115. package/dist/development/src/model/builder/ManyHasManyBuilder.js +36 -0
  116. package/dist/development/src/model/builder/ManyHasManyBuilder.js.map +1 -0
  117. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs +36 -0
  118. package/dist/development/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
  119. package/dist/development/src/model/builder/ManyHasOneBuilder.js +37 -0
  120. package/dist/development/src/model/builder/ManyHasOneBuilder.js.map +1 -0
  121. package/dist/development/src/model/builder/OneHasManyBuilder.cjs +44 -0
  122. package/dist/development/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
  123. package/dist/development/src/model/builder/OneHasManyBuilder.js +45 -0
  124. package/dist/development/src/model/builder/OneHasManyBuilder.js.map +1 -0
  125. package/dist/development/src/model/builder/OneHasOneBuilder.cjs +46 -0
  126. package/dist/development/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
  127. package/dist/development/src/model/builder/OneHasOneBuilder.js +47 -0
  128. package/dist/development/src/model/builder/OneHasOneBuilder.js.map +1 -0
  129. package/dist/development/src/model/builder/SchemaBuilder.cjs +40 -0
  130. package/dist/development/src/model/builder/SchemaBuilder.cjs.map +1 -0
  131. package/dist/development/src/model/builder/SchemaBuilder.js +40 -0
  132. package/dist/development/src/model/builder/SchemaBuilder.js.map +1 -0
  133. package/dist/development/src/model/builder/SchemaBuilderError.cjs +6 -0
  134. package/dist/development/src/model/builder/SchemaBuilderError.cjs.map +1 -0
  135. package/dist/development/src/model/builder/SchemaBuilderError.js +6 -0
  136. package/dist/development/src/model/builder/SchemaBuilderError.js.map +1 -0
  137. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs +153 -0
  138. package/dist/development/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
  139. package/dist/development/src/model/builder/SchemaBuilderInternal.js +154 -0
  140. package/dist/development/src/model/builder/SchemaBuilderInternal.js.map +1 -0
  141. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs +34 -0
  142. package/dist/development/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
  143. package/dist/development/src/model/builder/internal/ColumnProcessor.js +35 -0
  144. package/dist/development/src/model/builder/internal/ColumnProcessor.js.map +1 -0
  145. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
  146. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
  147. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
  148. package/dist/development/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
  149. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
  150. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
  151. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
  152. package/dist/development/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
  153. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
  154. package/dist/development/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
  155. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js +45 -0
  156. package/dist/development/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
  157. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
  158. package/dist/development/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
  159. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js +51 -0
  160. package/dist/development/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
  161. package/dist/development/src/model/definition/EnumDefinition.cjs +13 -0
  162. package/dist/development/src/model/definition/EnumDefinition.cjs.map +1 -0
  163. package/dist/development/src/model/definition/EnumDefinition.js +13 -0
  164. package/dist/development/src/model/definition/EnumDefinition.js.map +1 -0
  165. package/dist/development/src/model/definition/EventLogDefinition.cjs +9 -0
  166. package/dist/development/src/model/definition/EventLogDefinition.cjs.map +1 -0
  167. package/dist/development/src/model/definition/EventLogDefinition.js +9 -0
  168. package/dist/development/src/model/definition/EventLogDefinition.js.map +1 -0
  169. package/dist/development/src/model/definition/IndexDefinition.cjs +17 -0
  170. package/dist/development/src/model/definition/IndexDefinition.cjs.map +1 -0
  171. package/dist/development/src/model/definition/IndexDefinition.js +17 -0
  172. package/dist/development/src/model/definition/IndexDefinition.js.map +1 -0
  173. package/dist/development/src/model/definition/OrderByDefinition.cjs +32 -0
  174. package/dist/development/src/model/definition/OrderByDefinition.cjs.map +1 -0
  175. package/dist/development/src/model/definition/OrderByDefinition.js +32 -0
  176. package/dist/development/src/model/definition/OrderByDefinition.js.map +1 -0
  177. package/dist/development/src/model/definition/UniqueDefinition.cjs +17 -0
  178. package/dist/development/src/model/definition/UniqueDefinition.cjs.map +1 -0
  179. package/dist/development/src/model/definition/UniqueDefinition.js +17 -0
  180. package/dist/development/src/model/definition/UniqueDefinition.js.map +1 -0
  181. package/dist/development/src/model/definition/ViewDefinition.cjs +27 -0
  182. package/dist/development/src/model/definition/ViewDefinition.cjs.map +1 -0
  183. package/dist/development/src/model/definition/ViewDefinition.js +27 -0
  184. package/dist/development/src/model/definition/ViewDefinition.js.map +1 -0
  185. package/dist/development/src/model/definition/extensions.cjs +16 -0
  186. package/dist/development/src/model/definition/extensions.cjs.map +1 -0
  187. package/dist/development/src/model/definition/extensions.js +16 -0
  188. package/dist/development/src/model/definition/extensions.js.map +1 -0
  189. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
  190. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
  191. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
  192. package/dist/development/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
  193. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
  194. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
  195. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
  196. package/dist/development/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
  197. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
  198. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
  199. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
  200. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
  201. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
  202. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
  203. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
  204. package/dist/development/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
  205. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
  206. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
  207. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
  208. package/dist/development/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
  209. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
  210. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
  211. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
  212. package/dist/development/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
  213. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
  214. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
  215. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
  216. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
  217. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
  218. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
  219. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
  220. package/dist/development/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
  221. package/dist/development/src/model/definition/index.cjs +80 -0
  222. package/dist/development/src/model/definition/index.cjs.map +1 -0
  223. package/dist/development/src/model/definition/index.js +81 -0
  224. package/dist/development/src/model/definition/index.js.map +1 -0
  225. package/dist/development/src/model/definition/internal/EntityRegistry.cjs +29 -0
  226. package/dist/development/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
  227. package/dist/development/src/model/definition/internal/EntityRegistry.js +29 -0
  228. package/dist/development/src/model/definition/internal/EntityRegistry.js.map +1 -0
  229. package/dist/development/src/model/definition/internal/EnumRegistry.cjs +29 -0
  230. package/dist/development/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
  231. package/dist/development/src/model/definition/internal/EnumRegistry.js +29 -0
  232. package/dist/development/src/model/definition/internal/EnumRegistry.js.map +1 -0
  233. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs +101 -0
  234. package/dist/development/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
  235. package/dist/development/src/model/definition/internal/SchemaBuilder.js +101 -0
  236. package/dist/development/src/model/definition/internal/SchemaBuilder.js.map +1 -0
  237. package/dist/development/src/presets.cjs +46 -0
  238. package/dist/development/src/presets.cjs.map +1 -0
  239. package/dist/development/src/presets.js +46 -0
  240. package/dist/development/src/presets.js.map +1 -0
  241. package/dist/development/src/strict.cjs +33 -0
  242. package/dist/development/src/strict.cjs.map +1 -0
  243. package/dist/development/src/strict.js +33 -0
  244. package/dist/development/src/strict.js.map +1 -0
  245. package/dist/development/src/utils/MetadataStore.cjs +31 -0
  246. package/dist/development/src/utils/MetadataStore.cjs.map +1 -0
  247. package/dist/development/src/utils/MetadataStore.js +31 -0
  248. package/dist/development/src/utils/MetadataStore.js.map +1 -0
  249. package/dist/development/src/utils/assertNever.cjs +7 -0
  250. package/dist/development/src/utils/assertNever.cjs.map +1 -0
  251. package/dist/development/src/utils/assertNever.js +7 -0
  252. package/dist/development/src/utils/assertNever.js.map +1 -0
  253. package/dist/development/src/utils/filterEntityDefinition.cjs +9 -0
  254. package/dist/development/src/utils/filterEntityDefinition.cjs.map +1 -0
  255. package/dist/development/src/utils/filterEntityDefinition.js +9 -0
  256. package/dist/development/src/utils/filterEntityDefinition.js.map +1 -0
  257. package/dist/development/src/utils/tuple.cjs +5 -0
  258. package/dist/development/src/utils/tuple.cjs.map +1 -0
  259. package/dist/development/src/utils/tuple.js +5 -0
  260. package/dist/development/src/utils/tuple.js.map +1 -0
  261. package/dist/development/src/validation/index.cjs +213 -0
  262. package/dist/development/src/validation/index.cjs.map +1 -0
  263. package/dist/development/src/validation/index.js +213 -0
  264. package/dist/development/src/validation/index.js.map +1 -0
  265. package/dist/production/index.cjs +123 -0
  266. package/dist/production/index.cjs.map +1 -0
  267. package/dist/production/index.js +118 -0
  268. package/dist/production/index.js.map +1 -0
  269. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs +119 -0
  270. package/dist/production/src/acl/builder/EntityPermissionsBuilder.cjs.map +1 -0
  271. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js +120 -0
  272. package/dist/production/src/acl/builder/EntityPermissionsBuilder.js.map +1 -0
  273. package/dist/production/src/acl/builder/EntitySelector.cjs +32 -0
  274. package/dist/production/src/acl/builder/EntitySelector.cjs.map +1 -0
  275. package/dist/production/src/acl/builder/EntitySelector.js +33 -0
  276. package/dist/production/src/acl/builder/EntitySelector.js.map +1 -0
  277. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs +59 -0
  278. package/dist/production/src/acl/builder/FieldPermissionsBuilder.cjs.map +1 -0
  279. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js +60 -0
  280. package/dist/production/src/acl/builder/FieldPermissionsBuilder.js.map +1 -0
  281. package/dist/production/src/acl/builder/FieldSelector.cjs +26 -0
  282. package/dist/production/src/acl/builder/FieldSelector.cjs.map +1 -0
  283. package/dist/production/src/acl/builder/FieldSelector.js +27 -0
  284. package/dist/production/src/acl/builder/FieldSelector.js.map +1 -0
  285. package/dist/production/src/acl/builder/PermissionOverrider.cjs +37 -0
  286. package/dist/production/src/acl/builder/PermissionOverrider.cjs.map +1 -0
  287. package/dist/production/src/acl/builder/PermissionOverrider.js +38 -0
  288. package/dist/production/src/acl/builder/PermissionOverrider.js.map +1 -0
  289. package/dist/production/src/acl/builder/PermissionsBuilder.cjs +56 -0
  290. package/dist/production/src/acl/builder/PermissionsBuilder.cjs.map +1 -0
  291. package/dist/production/src/acl/builder/PermissionsBuilder.js +56 -0
  292. package/dist/production/src/acl/builder/PermissionsBuilder.js.map +1 -0
  293. package/dist/production/src/acl/builder/PredicateReference.cjs +43 -0
  294. package/dist/production/src/acl/builder/PredicateReference.cjs.map +1 -0
  295. package/dist/production/src/acl/builder/PredicateReference.js +43 -0
  296. package/dist/production/src/acl/builder/PredicateReference.js.map +1 -0
  297. package/dist/production/src/acl/definition/aclExtensions.cjs +16 -0
  298. package/dist/production/src/acl/definition/aclExtensions.cjs.map +1 -0
  299. package/dist/production/src/acl/definition/aclExtensions.js +16 -0
  300. package/dist/production/src/acl/definition/aclExtensions.js.map +1 -0
  301. package/dist/production/src/acl/definition/customPrimary.cjs +13 -0
  302. package/dist/production/src/acl/definition/customPrimary.cjs.map +1 -0
  303. package/dist/production/src/acl/definition/customPrimary.js +13 -0
  304. package/dist/production/src/acl/definition/customPrimary.js.map +1 -0
  305. package/dist/production/src/acl/definition/index.cjs +27 -0
  306. package/dist/production/src/acl/definition/index.cjs.map +1 -0
  307. package/dist/production/src/acl/definition/index.js +27 -0
  308. package/dist/production/src/acl/definition/index.js.map +1 -0
  309. package/dist/production/src/acl/definition/internal/AclFactory.cjs +133 -0
  310. package/dist/production/src/acl/definition/internal/AclFactory.cjs.map +1 -0
  311. package/dist/production/src/acl/definition/internal/AclFactory.js +133 -0
  312. package/dist/production/src/acl/definition/internal/AclFactory.js.map +1 -0
  313. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs +151 -0
  314. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.cjs.map +1 -0
  315. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js +151 -0
  316. package/dist/production/src/acl/definition/internal/EntityPredicateResolver.js.map +1 -0
  317. package/dist/production/src/acl/definition/internal/createPredicateName.cjs +8 -0
  318. package/dist/production/src/acl/definition/internal/createPredicateName.cjs.map +1 -0
  319. package/dist/production/src/acl/definition/internal/createPredicateName.js +8 -0
  320. package/dist/production/src/acl/definition/internal/createPredicateName.js.map +1 -0
  321. package/dist/production/src/acl/definition/internal/stores.cjs +6 -0
  322. package/dist/production/src/acl/definition/internal/stores.cjs.map +1 -0
  323. package/dist/production/src/acl/definition/internal/stores.js +6 -0
  324. package/dist/production/src/acl/definition/internal/stores.js.map +1 -0
  325. package/dist/production/src/acl/definition/permissions.cjs +15 -0
  326. package/dist/production/src/acl/definition/permissions.cjs.map +1 -0
  327. package/dist/production/src/acl/definition/permissions.js +15 -0
  328. package/dist/production/src/acl/definition/permissions.js.map +1 -0
  329. package/dist/production/src/acl/definition/references.cjs +26 -0
  330. package/dist/production/src/acl/definition/references.cjs.map +1 -0
  331. package/dist/production/src/acl/definition/references.js +26 -0
  332. package/dist/production/src/acl/definition/references.js.map +1 -0
  333. package/dist/production/src/acl/definition/roles.cjs +14 -0
  334. package/dist/production/src/acl/definition/roles.cjs.map +1 -0
  335. package/dist/production/src/acl/definition/roles.js +14 -0
  336. package/dist/production/src/acl/definition/roles.js.map +1 -0
  337. package/dist/production/src/acl/definition/variables.cjs +36 -0
  338. package/dist/production/src/acl/definition/variables.cjs.map +1 -0
  339. package/dist/production/src/acl/definition/variables.js +36 -0
  340. package/dist/production/src/acl/definition/variables.js.map +1 -0
  341. package/dist/production/src/actions/definition/index.cjs +15 -0
  342. package/dist/production/src/actions/definition/index.cjs.map +1 -0
  343. package/dist/production/src/actions/definition/index.js +15 -0
  344. package/dist/production/src/actions/definition/index.js.map +1 -0
  345. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs +180 -0
  346. package/dist/production/src/actions/definition/internal/ActionsFactory.cjs.map +1 -0
  347. package/dist/production/src/actions/definition/internal/ActionsFactory.js +180 -0
  348. package/dist/production/src/actions/definition/internal/ActionsFactory.js.map +1 -0
  349. package/dist/production/src/actions/definition/internal/store.cjs +6 -0
  350. package/dist/production/src/actions/definition/internal/store.cjs.map +1 -0
  351. package/dist/production/src/actions/definition/internal/store.js +6 -0
  352. package/dist/production/src/actions/definition/internal/store.js.map +1 -0
  353. package/dist/production/src/actions/definition/targets.cjs +15 -0
  354. package/dist/production/src/actions/definition/targets.cjs.map +1 -0
  355. package/dist/production/src/actions/definition/targets.js +15 -0
  356. package/dist/production/src/actions/definition/targets.js.map +1 -0
  357. package/dist/production/src/actions/definition/triggers.cjs +12 -0
  358. package/dist/production/src/actions/definition/triggers.cjs.map +1 -0
  359. package/dist/production/src/actions/definition/triggers.js +12 -0
  360. package/dist/production/src/actions/definition/triggers.js.map +1 -0
  361. package/dist/production/src/createSchema.cjs +29 -0
  362. package/dist/production/src/createSchema.cjs.map +1 -0
  363. package/dist/production/src/createSchema.js +29 -0
  364. package/dist/production/src/createSchema.js.map +1 -0
  365. package/dist/production/src/model/builder/ColumnBuilder.cjs +38 -0
  366. package/dist/production/src/model/builder/ColumnBuilder.cjs.map +1 -0
  367. package/dist/production/src/model/builder/ColumnBuilder.js +39 -0
  368. package/dist/production/src/model/builder/ColumnBuilder.js.map +1 -0
  369. package/dist/production/src/model/builder/EntityBuilder.cjs +69 -0
  370. package/dist/production/src/model/builder/EntityBuilder.cjs.map +1 -0
  371. package/dist/production/src/model/builder/EntityBuilder.js +70 -0
  372. package/dist/production/src/model/builder/EntityBuilder.js.map +1 -0
  373. package/dist/production/src/model/builder/FieldBuilder.cjs +14 -0
  374. package/dist/production/src/model/builder/FieldBuilder.cjs.map +1 -0
  375. package/dist/production/src/model/builder/FieldBuilder.js +15 -0
  376. package/dist/production/src/model/builder/FieldBuilder.js.map +1 -0
  377. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs +35 -0
  378. package/dist/production/src/model/builder/ManyHasManyBuilder.cjs.map +1 -0
  379. package/dist/production/src/model/builder/ManyHasManyBuilder.js +36 -0
  380. package/dist/production/src/model/builder/ManyHasManyBuilder.js.map +1 -0
  381. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs +36 -0
  382. package/dist/production/src/model/builder/ManyHasOneBuilder.cjs.map +1 -0
  383. package/dist/production/src/model/builder/ManyHasOneBuilder.js +37 -0
  384. package/dist/production/src/model/builder/ManyHasOneBuilder.js.map +1 -0
  385. package/dist/production/src/model/builder/OneHasManyBuilder.cjs +44 -0
  386. package/dist/production/src/model/builder/OneHasManyBuilder.cjs.map +1 -0
  387. package/dist/production/src/model/builder/OneHasManyBuilder.js +45 -0
  388. package/dist/production/src/model/builder/OneHasManyBuilder.js.map +1 -0
  389. package/dist/production/src/model/builder/OneHasOneBuilder.cjs +46 -0
  390. package/dist/production/src/model/builder/OneHasOneBuilder.cjs.map +1 -0
  391. package/dist/production/src/model/builder/OneHasOneBuilder.js +47 -0
  392. package/dist/production/src/model/builder/OneHasOneBuilder.js.map +1 -0
  393. package/dist/production/src/model/builder/SchemaBuilder.cjs +40 -0
  394. package/dist/production/src/model/builder/SchemaBuilder.cjs.map +1 -0
  395. package/dist/production/src/model/builder/SchemaBuilder.js +40 -0
  396. package/dist/production/src/model/builder/SchemaBuilder.js.map +1 -0
  397. package/dist/production/src/model/builder/SchemaBuilderError.cjs +6 -0
  398. package/dist/production/src/model/builder/SchemaBuilderError.cjs.map +1 -0
  399. package/dist/production/src/model/builder/SchemaBuilderError.js +6 -0
  400. package/dist/production/src/model/builder/SchemaBuilderError.js.map +1 -0
  401. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs +153 -0
  402. package/dist/production/src/model/builder/SchemaBuilderInternal.cjs.map +1 -0
  403. package/dist/production/src/model/builder/SchemaBuilderInternal.js +154 -0
  404. package/dist/production/src/model/builder/SchemaBuilderInternal.js.map +1 -0
  405. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs +34 -0
  406. package/dist/production/src/model/builder/internal/ColumnProcessor.cjs.map +1 -0
  407. package/dist/production/src/model/builder/internal/ColumnProcessor.js +35 -0
  408. package/dist/production/src/model/builder/internal/ColumnProcessor.js.map +1 -0
  409. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs +54 -0
  410. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.cjs.map +1 -0
  411. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js +55 -0
  412. package/dist/production/src/model/builder/internal/ManyHasManyProcessor.js.map +1 -0
  413. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs +46 -0
  414. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.cjs.map +1 -0
  415. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js +47 -0
  416. package/dist/production/src/model/builder/internal/ManyHasOneProcessor.js.map +1 -0
  417. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs +44 -0
  418. package/dist/production/src/model/builder/internal/OneHasManyProcessor.cjs.map +1 -0
  419. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js +45 -0
  420. package/dist/production/src/model/builder/internal/OneHasManyProcessor.js.map +1 -0
  421. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs +50 -0
  422. package/dist/production/src/model/builder/internal/OneHasOneProcessor.cjs.map +1 -0
  423. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js +51 -0
  424. package/dist/production/src/model/builder/internal/OneHasOneProcessor.js.map +1 -0
  425. package/dist/production/src/model/definition/EnumDefinition.cjs +13 -0
  426. package/dist/production/src/model/definition/EnumDefinition.cjs.map +1 -0
  427. package/dist/production/src/model/definition/EnumDefinition.js +13 -0
  428. package/dist/production/src/model/definition/EnumDefinition.js.map +1 -0
  429. package/dist/production/src/model/definition/EventLogDefinition.cjs +9 -0
  430. package/dist/production/src/model/definition/EventLogDefinition.cjs.map +1 -0
  431. package/dist/production/src/model/definition/EventLogDefinition.js +9 -0
  432. package/dist/production/src/model/definition/EventLogDefinition.js.map +1 -0
  433. package/dist/production/src/model/definition/IndexDefinition.cjs +17 -0
  434. package/dist/production/src/model/definition/IndexDefinition.cjs.map +1 -0
  435. package/dist/production/src/model/definition/IndexDefinition.js +17 -0
  436. package/dist/production/src/model/definition/IndexDefinition.js.map +1 -0
  437. package/dist/production/src/model/definition/OrderByDefinition.cjs +32 -0
  438. package/dist/production/src/model/definition/OrderByDefinition.cjs.map +1 -0
  439. package/dist/production/src/model/definition/OrderByDefinition.js +32 -0
  440. package/dist/production/src/model/definition/OrderByDefinition.js.map +1 -0
  441. package/dist/production/src/model/definition/UniqueDefinition.cjs +17 -0
  442. package/dist/production/src/model/definition/UniqueDefinition.cjs.map +1 -0
  443. package/dist/production/src/model/definition/UniqueDefinition.js +17 -0
  444. package/dist/production/src/model/definition/UniqueDefinition.js.map +1 -0
  445. package/dist/production/src/model/definition/ViewDefinition.cjs +27 -0
  446. package/dist/production/src/model/definition/ViewDefinition.cjs.map +1 -0
  447. package/dist/production/src/model/definition/ViewDefinition.js +27 -0
  448. package/dist/production/src/model/definition/ViewDefinition.js.map +1 -0
  449. package/dist/production/src/model/definition/extensions.cjs +16 -0
  450. package/dist/production/src/model/definition/extensions.cjs.map +1 -0
  451. package/dist/production/src/model/definition/extensions.js +16 -0
  452. package/dist/production/src/model/definition/extensions.js.map +1 -0
  453. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs +151 -0
  454. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.cjs.map +1 -0
  455. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js +151 -0
  456. package/dist/production/src/model/definition/fieldDefinitions/ColumnDefinition.js.map +1 -0
  457. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs +9 -0
  458. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.cjs.map +1 -0
  459. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js +9 -0
  460. package/dist/production/src/model/definition/fieldDefinitions/FieldDefinition.js.map +1 -0
  461. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs +57 -0
  462. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs.map +1 -0
  463. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js +57 -0
  464. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyDefinition.js.map +1 -0
  465. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs +36 -0
  466. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs.map +1 -0
  467. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js +36 -0
  468. package/dist/production/src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js.map +1 -0
  469. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs +60 -0
  470. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs.map +1 -0
  471. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js +60 -0
  472. package/dist/production/src/model/definition/fieldDefinitions/ManyHasOneDefinition.js.map +1 -0
  473. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs +36 -0
  474. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs.map +1 -0
  475. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js +36 -0
  476. package/dist/production/src/model/definition/fieldDefinitions/OneHasManyDefinition.js.map +1 -0
  477. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs +64 -0
  478. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs.map +1 -0
  479. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js +64 -0
  480. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneDefinition.js.map +1 -0
  481. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs +35 -0
  482. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs.map +1 -0
  483. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js +35 -0
  484. package/dist/production/src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js.map +1 -0
  485. package/dist/production/src/model/definition/index.cjs +80 -0
  486. package/dist/production/src/model/definition/index.cjs.map +1 -0
  487. package/dist/production/src/model/definition/index.js +81 -0
  488. package/dist/production/src/model/definition/index.js.map +1 -0
  489. package/dist/production/src/model/definition/internal/EntityRegistry.cjs +29 -0
  490. package/dist/production/src/model/definition/internal/EntityRegistry.cjs.map +1 -0
  491. package/dist/production/src/model/definition/internal/EntityRegistry.js +29 -0
  492. package/dist/production/src/model/definition/internal/EntityRegistry.js.map +1 -0
  493. package/dist/production/src/model/definition/internal/EnumRegistry.cjs +29 -0
  494. package/dist/production/src/model/definition/internal/EnumRegistry.cjs.map +1 -0
  495. package/dist/production/src/model/definition/internal/EnumRegistry.js +29 -0
  496. package/dist/production/src/model/definition/internal/EnumRegistry.js.map +1 -0
  497. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs +101 -0
  498. package/dist/production/src/model/definition/internal/SchemaBuilder.cjs.map +1 -0
  499. package/dist/production/src/model/definition/internal/SchemaBuilder.js +101 -0
  500. package/dist/production/src/model/definition/internal/SchemaBuilder.js.map +1 -0
  501. package/dist/production/src/presets.cjs +46 -0
  502. package/dist/production/src/presets.cjs.map +1 -0
  503. package/dist/production/src/presets.js +46 -0
  504. package/dist/production/src/presets.js.map +1 -0
  505. package/dist/production/src/strict.cjs +33 -0
  506. package/dist/production/src/strict.cjs.map +1 -0
  507. package/dist/production/src/strict.js +33 -0
  508. package/dist/production/src/strict.js.map +1 -0
  509. package/dist/production/src/utils/MetadataStore.cjs +31 -0
  510. package/dist/production/src/utils/MetadataStore.cjs.map +1 -0
  511. package/dist/production/src/utils/MetadataStore.js +31 -0
  512. package/dist/production/src/utils/MetadataStore.js.map +1 -0
  513. package/dist/production/src/utils/assertNever.cjs +7 -0
  514. package/dist/production/src/utils/assertNever.cjs.map +1 -0
  515. package/dist/production/src/utils/assertNever.js +7 -0
  516. package/dist/production/src/utils/assertNever.js.map +1 -0
  517. package/dist/production/src/utils/filterEntityDefinition.cjs +9 -0
  518. package/dist/production/src/utils/filterEntityDefinition.cjs.map +1 -0
  519. package/dist/production/src/utils/filterEntityDefinition.js +9 -0
  520. package/dist/production/src/utils/filterEntityDefinition.js.map +1 -0
  521. package/dist/production/src/utils/tuple.cjs +5 -0
  522. package/dist/production/src/utils/tuple.cjs.map +1 -0
  523. package/dist/production/src/utils/tuple.js +5 -0
  524. package/dist/production/src/utils/tuple.js.map +1 -0
  525. package/dist/production/src/validation/index.cjs +213 -0
  526. package/dist/production/src/validation/index.cjs.map +1 -0
  527. package/dist/production/src/validation/index.js +213 -0
  528. package/dist/production/src/validation/index.js.map +1 -0
  529. package/dist/tests/cases/unit/createSchema.test.d.ts +2 -0
  530. package/dist/tests/cases/unit/createSchema.test.d.ts.map +1 -0
  531. package/dist/tests/cases/unit/extendEntity.test.d.ts +2 -0
  532. package/dist/tests/cases/unit/extendEntity.test.d.ts.map +1 -0
  533. package/dist/tests/cases/unit/orderBy.test.d.ts +2 -0
  534. package/dist/tests/cases/unit/orderBy.test.d.ts.map +1 -0
  535. package/dist/tests/cases/unit/readAclDefinitions.test.d.ts +2 -0
  536. package/dist/tests/cases/unit/readAclDefinitions.test.d.ts.map +1 -0
  537. package/dist/tests/cases/unit/readActions.test.d.ts +2 -0
  538. package/dist/tests/cases/unit/readActions.test.d.ts.map +1 -0
  539. package/dist/tests/tsconfig.tsbuildinfo +1 -0
  540. package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts +28 -0
  541. package/dist/types/acl/builder/EntityPermissionsBuilder.d.ts.map +1 -0
  542. package/dist/types/acl/builder/EntitySelector.d.ts +14 -0
  543. package/dist/types/acl/builder/EntitySelector.d.ts.map +1 -0
  544. package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts +23 -0
  545. package/dist/types/acl/builder/FieldPermissionsBuilder.d.ts.map +1 -0
  546. package/dist/types/acl/builder/FieldSelector.d.ts +14 -0
  547. package/dist/types/acl/builder/FieldSelector.d.ts.map +1 -0
  548. package/dist/types/acl/builder/PermissionOverrider.d.ts +6 -0
  549. package/dist/types/acl/builder/PermissionOverrider.d.ts.map +1 -0
  550. package/dist/types/acl/builder/PermissionsBuilder.d.ts +24 -0
  551. package/dist/types/acl/builder/PermissionsBuilder.d.ts.map +1 -0
  552. package/dist/types/acl/builder/PredicateReference.d.ts +7 -0
  553. package/dist/types/acl/builder/PredicateReference.d.ts.map +1 -0
  554. package/dist/types/acl/definition/aclExtensions.d.ts +12 -0
  555. package/dist/types/acl/definition/aclExtensions.d.ts.map +1 -0
  556. package/dist/types/acl/definition/customPrimary.d.ts +4 -0
  557. package/dist/types/acl/definition/customPrimary.d.ts.map +1 -0
  558. package/dist/types/acl/definition/index.d.ts +8 -0
  559. package/dist/types/acl/definition/index.d.ts.map +1 -0
  560. package/dist/types/acl/definition/internal/AclFactory.d.ts +19 -0
  561. package/dist/types/acl/definition/internal/AclFactory.d.ts.map +1 -0
  562. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts +16 -0
  563. package/dist/types/acl/definition/internal/EntityPredicateResolver.d.ts.map +1 -0
  564. package/dist/types/acl/definition/internal/createPredicateName.d.ts +3 -0
  565. package/dist/types/acl/definition/internal/createPredicateName.d.ts.map +1 -0
  566. package/dist/types/acl/definition/internal/stores.d.ts +8 -0
  567. package/dist/types/acl/definition/internal/stores.d.ts.map +1 -0
  568. package/dist/types/acl/definition/permissions.d.ts +23 -0
  569. package/dist/types/acl/definition/permissions.d.ts.map +1 -0
  570. package/dist/types/acl/definition/references.d.ts +10 -0
  571. package/dist/types/acl/definition/references.d.ts.map +1 -0
  572. package/dist/types/acl/definition/roles.d.ts +11 -0
  573. package/dist/types/acl/definition/roles.d.ts.map +1 -0
  574. package/dist/types/acl/definition/variables.d.ts +12 -0
  575. package/dist/types/acl/definition/variables.d.ts.map +1 -0
  576. package/dist/types/actions/definition/index.d.ts +5 -0
  577. package/dist/types/actions/definition/index.d.ts.map +1 -0
  578. package/dist/types/actions/definition/internal/ActionsFactory.d.ts +10 -0
  579. package/dist/types/actions/definition/internal/ActionsFactory.d.ts.map +1 -0
  580. package/dist/types/actions/definition/internal/store.d.ts +11 -0
  581. package/dist/types/actions/definition/internal/store.d.ts.map +1 -0
  582. package/dist/types/actions/definition/targets.d.ts +10 -0
  583. package/dist/types/actions/definition/targets.d.ts.map +1 -0
  584. package/dist/types/actions/definition/triggers.d.ts +31 -0
  585. package/dist/types/actions/definition/triggers.d.ts.map +1 -0
  586. package/dist/types/createSchema.d.ts +7 -0
  587. package/dist/types/createSchema.d.ts.map +1 -0
  588. package/dist/types/index.d.ts +88 -0
  589. package/dist/types/index.d.ts.map +1 -0
  590. package/dist/types/model/builder/ColumnBuilder.d.ts +31 -0
  591. package/dist/types/model/builder/ColumnBuilder.d.ts.map +1 -0
  592. package/dist/types/model/builder/EntityBuilder.d.ts +39 -0
  593. package/dist/types/model/builder/EntityBuilder.d.ts.map +1 -0
  594. package/dist/types/model/builder/FieldBuilder.d.ts +38 -0
  595. package/dist/types/model/builder/FieldBuilder.d.ts.map +1 -0
  596. package/dist/types/model/builder/ManyHasManyBuilder.d.ts +25 -0
  597. package/dist/types/model/builder/ManyHasManyBuilder.d.ts.map +1 -0
  598. package/dist/types/model/builder/ManyHasOneBuilder.d.ts +26 -0
  599. package/dist/types/model/builder/ManyHasOneBuilder.d.ts.map +1 -0
  600. package/dist/types/model/builder/OneHasManyBuilder.d.ts +29 -0
  601. package/dist/types/model/builder/OneHasManyBuilder.d.ts.map +1 -0
  602. package/dist/types/model/builder/OneHasOneBuilder.d.ts +32 -0
  603. package/dist/types/model/builder/OneHasOneBuilder.d.ts.map +1 -0
  604. package/dist/types/model/builder/SchemaBuilder.d.ts +14 -0
  605. package/dist/types/model/builder/SchemaBuilder.d.ts.map +1 -0
  606. package/dist/types/model/builder/SchemaBuilderError.d.ts +3 -0
  607. package/dist/types/model/builder/SchemaBuilderError.d.ts.map +1 -0
  608. package/dist/types/model/builder/SchemaBuilderInternal.d.ts +22 -0
  609. package/dist/types/model/builder/SchemaBuilderInternal.d.ts.map +1 -0
  610. package/dist/types/model/builder/internal/ColumnProcessor.d.ts +10 -0
  611. package/dist/types/model/builder/internal/ColumnProcessor.d.ts.map +1 -0
  612. package/dist/types/model/builder/internal/FieldProcessor.d.ts +9 -0
  613. package/dist/types/model/builder/internal/FieldProcessor.d.ts.map +1 -0
  614. package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts +11 -0
  615. package/dist/types/model/builder/internal/ManyHasManyProcessor.d.ts.map +1 -0
  616. package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts +11 -0
  617. package/dist/types/model/builder/internal/ManyHasOneProcessor.d.ts.map +1 -0
  618. package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts +11 -0
  619. package/dist/types/model/builder/internal/OneHasManyProcessor.d.ts.map +1 -0
  620. package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts +11 -0
  621. package/dist/types/model/builder/internal/OneHasOneProcessor.d.ts.map +1 -0
  622. package/dist/types/model/builder/types.d.ts +4 -0
  623. package/dist/types/model/builder/types.d.ts.map +1 -0
  624. package/dist/types/model/definition/EnumDefinition.d.ts +6 -0
  625. package/dist/types/model/definition/EnumDefinition.d.ts.map +1 -0
  626. package/dist/types/model/definition/EventLogDefinition.d.ts +2 -0
  627. package/dist/types/model/definition/EventLogDefinition.d.ts.map +1 -0
  628. package/dist/types/model/definition/IndexDefinition.d.ts +9 -0
  629. package/dist/types/model/definition/IndexDefinition.d.ts.map +1 -0
  630. package/dist/types/model/definition/OrderByDefinition.d.ts +11 -0
  631. package/dist/types/model/definition/OrderByDefinition.d.ts.map +1 -0
  632. package/dist/types/model/definition/UniqueDefinition.d.ts +15 -0
  633. package/dist/types/model/definition/UniqueDefinition.d.ts.map +1 -0
  634. package/dist/types/model/definition/ViewDefinition.d.ts +9 -0
  635. package/dist/types/model/definition/ViewDefinition.d.ts.map +1 -0
  636. package/dist/types/model/definition/context.d.ts +13 -0
  637. package/dist/types/model/definition/context.d.ts.map +1 -0
  638. package/dist/types/model/definition/extensions.d.ts +15 -0
  639. package/dist/types/model/definition/extensions.d.ts.map +1 -0
  640. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts +55 -0
  641. package/dist/types/model/definition/fieldDefinitions/ColumnDefinition.d.ts.map +1 -0
  642. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts +15 -0
  643. package/dist/types/model/definition/fieldDefinitions/FieldDefinition.d.ts.map +1 -0
  644. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts +19 -0
  645. package/dist/types/model/definition/fieldDefinitions/ManyHasManyDefinition.d.ts.map +1 -0
  646. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts +16 -0
  647. package/dist/types/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.d.ts.map +1 -0
  648. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts +23 -0
  649. package/dist/types/model/definition/fieldDefinitions/ManyHasOneDefinition.d.ts.map +1 -0
  650. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts +16 -0
  651. package/dist/types/model/definition/fieldDefinitions/OneHasManyDefinition.d.ts.map +1 -0
  652. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts +25 -0
  653. package/dist/types/model/definition/fieldDefinitions/OneHasOneDefinition.d.ts.map +1 -0
  654. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts +17 -0
  655. package/dist/types/model/definition/fieldDefinitions/OneHasOneInverseDefinition.d.ts.map +1 -0
  656. package/dist/types/model/definition/fieldDefinitions/index.d.ts +9 -0
  657. package/dist/types/model/definition/fieldDefinitions/index.d.ts.map +1 -0
  658. package/dist/types/model/definition/index.d.ts +27 -0
  659. package/dist/types/model/definition/index.d.ts.map +1 -0
  660. package/dist/types/model/definition/internal/EntityRegistry.d.ts +8 -0
  661. package/dist/types/model/definition/internal/EntityRegistry.d.ts.map +1 -0
  662. package/dist/types/model/definition/internal/EnumRegistry.d.ts +8 -0
  663. package/dist/types/model/definition/internal/EnumRegistry.d.ts.map +1 -0
  664. package/dist/types/model/definition/internal/SchemaBuilder.d.ts +22 -0
  665. package/dist/types/model/definition/internal/SchemaBuilder.d.ts.map +1 -0
  666. package/dist/types/model/definition/internal/index.d.ts +4 -0
  667. package/dist/types/model/definition/internal/index.d.ts.map +1 -0
  668. package/dist/types/model/definition/types.d.ts +6 -0
  669. package/dist/types/model/definition/types.d.ts.map +1 -0
  670. package/dist/types/model/index.d.ts +10 -0
  671. package/dist/types/model/index.d.ts.map +1 -0
  672. package/dist/types/presets.d.ts +9 -0
  673. package/dist/types/presets.d.ts.map +1 -0
  674. package/dist/types/strict.d.ts +22 -0
  675. package/dist/types/strict.d.ts.map +1 -0
  676. package/dist/types/tsconfig.tsbuildinfo +1 -0
  677. package/dist/types/utils/MetadataStore.d.ts +7 -0
  678. package/dist/types/utils/MetadataStore.d.ts.map +1 -0
  679. package/dist/types/utils/assertNever.d.ts +2 -0
  680. package/dist/types/utils/assertNever.d.ts.map +1 -0
  681. package/dist/types/utils/decorators.d.ts +5 -0
  682. package/dist/types/utils/decorators.d.ts.map +1 -0
  683. package/dist/types/utils/filterEntityDefinition.d.ts +4 -0
  684. package/dist/types/utils/filterEntityDefinition.d.ts.map +1 -0
  685. package/dist/types/utils/index.d.ts +6 -0
  686. package/dist/types/utils/index.d.ts.map +1 -0
  687. package/dist/types/utils/tuple.d.ts +2 -0
  688. package/dist/types/utils/tuple.d.ts.map +1 -0
  689. package/dist/types/validation/index.d.ts +56 -0
  690. package/dist/types/validation/index.d.ts.map +1 -0
  691. package/package.json +7 -7
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const index = require("./src/acl/definition/index.cjs");
4
+ const index$1 = require("./src/actions/definition/index.cjs");
5
+ const index$2 = require("./src/validation/index.cjs");
6
+ const SchemaBuilder = require("./src/model/builder/SchemaBuilder.cjs");
7
+ const ColumnBuilder = require("./src/model/builder/ColumnBuilder.cjs");
8
+ const ManyHasManyBuilder = require("./src/model/builder/ManyHasManyBuilder.cjs");
9
+ const OneHasManyBuilder = require("./src/model/builder/OneHasManyBuilder.cjs");
10
+ const ManyHasOneBuilder = require("./src/model/builder/ManyHasOneBuilder.cjs");
11
+ const OneHasOneBuilder = require("./src/model/builder/OneHasOneBuilder.cjs");
12
+ const FieldBuilder = require("./src/model/builder/FieldBuilder.cjs");
13
+ const index$3 = require("./src/model/definition/index.cjs");
14
+ const createSchema = require("./src/createSchema.cjs");
15
+ const schemaUtils = require("@contember/schema-utils");
16
+ const PermissionsBuilder = require("./src/acl/builder/PermissionsBuilder.cjs");
17
+ const presets = require("./src/presets.cjs");
18
+ const EnumDefinition = require("./src/model/definition/EnumDefinition.cjs");
19
+ const OneHasManyDefinition = require("./src/model/definition/fieldDefinitions/OneHasManyDefinition.cjs");
20
+ const OneHasOneInverseDefinition = require("./src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.cjs");
21
+ const OneHasOneDefinition = require("./src/model/definition/fieldDefinitions/OneHasOneDefinition.cjs");
22
+ const ManyHasOneDefinition = require("./src/model/definition/fieldDefinitions/ManyHasOneDefinition.cjs");
23
+ const ManyHasManyInverseDefinition = require("./src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.cjs");
24
+ const ManyHasManyDefinition = require("./src/model/definition/fieldDefinitions/ManyHasManyDefinition.cjs");
25
+ const ColumnDefinition = require("./src/model/definition/fieldDefinitions/ColumnDefinition.cjs");
26
+ const OrderByDefinition = require("./src/model/definition/OrderByDefinition.cjs");
27
+ const EventLogDefinition = require("./src/model/definition/EventLogDefinition.cjs");
28
+ const ViewDefinition = require("./src/model/definition/ViewDefinition.cjs");
29
+ const UniqueDefinition = require("./src/model/definition/UniqueDefinition.cjs");
30
+ const IndexDefinition = require("./src/model/definition/IndexDefinition.cjs");
31
+ const extensions = require("./src/model/definition/extensions.cjs");
32
+ const targets = require("./src/actions/definition/targets.cjs");
33
+ const triggers = require("./src/actions/definition/triggers.cjs");
34
+ const references = require("./src/acl/definition/references.cjs");
35
+ const variables = require("./src/acl/definition/variables.cjs");
36
+ const roles = require("./src/acl/definition/roles.cjs");
37
+ const permissions = require("./src/acl/definition/permissions.cjs");
38
+ const customPrimary = require("./src/acl/definition/customPrimary.cjs");
39
+ const c = {
40
+ // ACL
41
+ // ACL entity decorators
42
+ AllowCustomPrimary: customPrimary.allowCustomPrimary,
43
+ Allow: permissions.allow,
44
+ // ACL factories
45
+ createRole: roles.createRole,
46
+ createConditionVariable: variables.createConditionVariable,
47
+ createEntityVariable: variables.createEntityVariable,
48
+ createPredefinedVariable: variables.createPredefinedVariable,
49
+ // ACL utilities
50
+ canCreate: references.canCreate,
51
+ canRead: references.canRead,
52
+ canUpdate: references.canUpdate,
53
+ canDelete: references.canDelete,
54
+ // Actions
55
+ // Actions entity decorators
56
+ Watch: triggers.watch,
57
+ Trigger: triggers.trigger,
58
+ // Actions factories
59
+ createActionsTarget: targets.createTarget,
60
+ // Model
61
+ // Model entity decorators
62
+ ExtendEntity: extensions.extendEntity,
63
+ Index: IndexDefinition.Index,
64
+ Unique: UniqueDefinition.Unique,
65
+ View: ViewDefinition.View,
66
+ DisableEventLog: EventLogDefinition.DisableEventLog,
67
+ OrderBy: OrderByDefinition.OrderBy,
68
+ // Model field factories
69
+ column: ColumnDefinition.column,
70
+ boolColumn: ColumnDefinition.boolColumn,
71
+ intColumn: ColumnDefinition.intColumn,
72
+ doubleColumn: ColumnDefinition.doubleColumn,
73
+ dateColumn: ColumnDefinition.dateColumn,
74
+ timeColumn: ColumnDefinition.timeColumn,
75
+ dateTimeColumn: ColumnDefinition.dateTimeColumn,
76
+ jsonColumn: ColumnDefinition.jsonColumn,
77
+ stringColumn: ColumnDefinition.stringColumn,
78
+ enumColumn: ColumnDefinition.enumColumn,
79
+ uuidColumn: ColumnDefinition.uuidColumn,
80
+ manyHasMany: ManyHasManyDefinition.manyHasMany,
81
+ manyHasManyInverse: ManyHasManyInverseDefinition.manyHasManyInverse,
82
+ manyHasOne: ManyHasOneDefinition.manyHasOne,
83
+ oneHasOne: OneHasOneDefinition.oneHasOne,
84
+ oneHasOneInverse: OneHasOneInverseDefinition.oneHasOneInverse,
85
+ oneHasMany: OneHasManyDefinition.oneHasMany,
86
+ // Model factories
87
+ createEnum: EnumDefinition.createEnum,
88
+ // Validation
89
+ // Validation field decorators
90
+ Assert: index$2.assert,
91
+ Required: index$2.required,
92
+ AssertDefined: index$2.assertDefined,
93
+ AssertNotEmpty: index$2.assertNotEmpty,
94
+ AssertPattern: index$2.assertPattern,
95
+ AssertMinLength: index$2.assertMinLength,
96
+ AssertMaxLength: index$2.assertMaxLength,
97
+ ValidateWhen: index$2.when,
98
+ // Validation utilities
99
+ rules: index$2.rules
100
+ };
101
+ exports.AclDefinition = index;
102
+ exports.ActionsDefinition = index$1;
103
+ exports.InputValidation = index$2;
104
+ exports.SchemaBuilder = SchemaBuilder.default;
105
+ exports.ColumnBuilder = ColumnBuilder;
106
+ exports.ManyHasManyBuilder = ManyHasManyBuilder;
107
+ exports.OneHasManyBuilder = OneHasManyBuilder;
108
+ exports.ManyHasOneBuilder = ManyHasOneBuilder;
109
+ exports.OneHasOneBuilder = OneHasOneBuilder;
110
+ exports.FieldBuilder = FieldBuilder;
111
+ exports.SchemaDefinition = index$3;
112
+ exports.createSchema = createSchema.createSchema;
113
+ Object.defineProperty(exports, "AllowAllPermissionFactory", {
114
+ enumerable: true,
115
+ get: () => schemaUtils.AllowAllPermissionFactory
116
+ });
117
+ Object.defineProperty(exports, "PermissionsBuilder", {
118
+ enumerable: true,
119
+ get: () => PermissionsBuilder.PermissionsBuilder
120
+ });
121
+ exports.settingsPresets = presets.settingsPresets;
122
+ exports.c = c;
123
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport { Role } from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport type { Role }\nexport type { VariableDefinition } from './acl/definition'\nexport type {\n\tColumnDefinition,\n\tEnumDefinition,\n\tFieldDefinition,\n\tManyHasManyDefinition,\n\tManyHasManyInverseDefinition,\n\tManyHasOneDefinition,\n\tOneHasManyDefinition,\n\tOneHasOneDefinition,\n\tOneHasOneInverseDefinition,\n} from './model/definition'\n\nexport { AclDefinition, ActionsDefinition, createSchema, InputValidation, SchemaDefinition }\n\nexport const c = {\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\ttimeColumn: SchemaDefinition.timeColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","AclDefinition.createRole","AclDefinition.createConditionVariable","AclDefinition.createEntityVariable","AclDefinition.createPredefinedVariable","AclDefinition.canCreate","AclDefinition.canRead","AclDefinition.canUpdate","AclDefinition.canDelete","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","SchemaDefinition.Index","SchemaDefinition.Unique","SchemaDefinition.View","SchemaDefinition.DisableEventLog","SchemaDefinition.OrderBy","SchemaDefinition.column","SchemaDefinition.boolColumn","SchemaDefinition.intColumn","SchemaDefinition.doubleColumn","SchemaDefinition.dateColumn","SchemaDefinition.timeColumn","SchemaDefinition.dateTimeColumn","SchemaDefinition.jsonColumn","SchemaDefinition.stringColumn","SchemaDefinition.enumColumn","SchemaDefinition.uuidColumn","SchemaDefinition.manyHasMany","SchemaDefinition.manyHasManyInverse","SchemaDefinition.manyHasOne","SchemaDefinition.oneHasOne","SchemaDefinition.oneHasOneInverse","SchemaDefinition.oneHasMany","SchemaDefinition.createEnum","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when","InputValidation.rules"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,IAAI;AAAA;AAAA;AAAA,EAGhB,oBAAoBA,cAAAA;AAAAA,EACpB,OAAOC,YAAAA;AAAAA;AAAAA,EAEP,YAAYC,MAAAA;AAAAA,EACZ,yBAAyBC,UAAAA;AAAAA,EACzB,sBAAsBC,UAAAA;AAAAA,EACtB,0BAA0BC,UAAAA;AAAAA;AAAAA,EAE1B,WAAWC,WAAAA;AAAAA,EACX,SAASC,WAAAA;AAAAA,EACT,WAAWC,WAAAA;AAAAA,EACX,WAAWC,WAAAA;AAAAA;AAAAA;AAAAA,EAIX,OAAOC,SAAAA;AAAAA,EACP,SAASC,SAAAA;AAAAA;AAAAA,EAET,qBAAqBC,QAAAA;AAAAA;AAAAA;AAAAA,EAIrB,cAAcC,WAAAA;AAAAA,EACd,OAAOC,gBAAAA;AAAAA,EACP,QAAQC,iBAAAA;AAAAA,EACR,MAAMC,eAAAA;AAAAA,EACN,iBAAiBC,mBAAAA;AAAAA,EACjB,SAASC,kBAAAA;AAAAA;AAAAA,EAET,QAAQC,iBAAAA;AAAAA,EACR,YAAYC,iBAAAA;AAAAA,EACZ,WAAWC,iBAAAA;AAAAA,EACX,cAAcC,iBAAAA;AAAAA,EACd,YAAYC,iBAAAA;AAAAA,EACZ,YAAYC,iBAAAA;AAAAA,EACZ,gBAAgBC,iBAAAA;AAAAA,EAChB,YAAYC,iBAAAA;AAAAA,EACZ,cAAcC,iBAAAA;AAAAA,EACd,YAAYC,iBAAAA;AAAAA,EACZ,YAAYC,iBAAAA;AAAAA,EACZ,aAAaC,sBAAAA;AAAAA,EACb,oBAAoBC,6BAAAA;AAAAA,EACpB,YAAYC,qBAAAA;AAAAA,EACZ,WAAWC,oBAAAA;AAAAA,EACX,kBAAkBC,2BAAAA;AAAAA,EAClB,YAAYC,qBAAAA;AAAAA;AAAAA,EAEZ,YAAYC,eAAAA;AAAAA;AAAAA;AAAAA,EAIZ,QAAQC,QAAAA;AAAAA,EACR,UAAUC,QAAAA;AAAAA,EACV,eAAeC,QAAAA;AAAAA,EACf,gBAAgBC,QAAAA;AAAAA,EAChB,eAAeC,QAAAA;AAAAA,EACf,iBAAiBC,QAAAA;AAAAA,EACjB,iBAAiBC,QAAAA;AAAAA,EACjB,cAAcC,QAAAA;AAAAA;AAAAA,EAEd,OAAOC,QAAAA;AACR;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,118 @@
1
+ import * as index from "./src/acl/definition/index.js";
2
+ import * as index$1 from "./src/actions/definition/index.js";
3
+ import { rules, when, assertMaxLength, assertMinLength, assertPattern, assertNotEmpty, assertDefined, required, assert } from "./src/validation/index.js";
4
+ import * as index$2 from "./src/validation/index.js";
5
+ import { default as default2 } from "./src/model/builder/SchemaBuilder.js";
6
+ import { default as default3 } from "./src/model/builder/ColumnBuilder.js";
7
+ import { default as default4 } from "./src/model/builder/ManyHasManyBuilder.js";
8
+ import { default as default5 } from "./src/model/builder/OneHasManyBuilder.js";
9
+ import { default as default6 } from "./src/model/builder/ManyHasOneBuilder.js";
10
+ import { default as default7 } from "./src/model/builder/OneHasOneBuilder.js";
11
+ import { default as default8 } from "./src/model/builder/FieldBuilder.js";
12
+ import * as index$3 from "./src/model/definition/index.js";
13
+ import { createSchema } from "./src/createSchema.js";
14
+ import { AllowAllPermissionFactory } from "@contember/schema-utils";
15
+ import { PermissionsBuilder } from "./src/acl/builder/PermissionsBuilder.js";
16
+ import { settingsPresets } from "./src/presets.js";
17
+ import { createEnum } from "./src/model/definition/EnumDefinition.js";
18
+ import { oneHasMany } from "./src/model/definition/fieldDefinitions/OneHasManyDefinition.js";
19
+ import { oneHasOneInverse } from "./src/model/definition/fieldDefinitions/OneHasOneInverseDefinition.js";
20
+ import { oneHasOne } from "./src/model/definition/fieldDefinitions/OneHasOneDefinition.js";
21
+ import { manyHasOne } from "./src/model/definition/fieldDefinitions/ManyHasOneDefinition.js";
22
+ import { manyHasManyInverse } from "./src/model/definition/fieldDefinitions/ManyHasManyInverseDefinition.js";
23
+ import { manyHasMany } from "./src/model/definition/fieldDefinitions/ManyHasManyDefinition.js";
24
+ import { uuidColumn, enumColumn, stringColumn, jsonColumn, dateTimeColumn, timeColumn, dateColumn, doubleColumn, intColumn, boolColumn, column } from "./src/model/definition/fieldDefinitions/ColumnDefinition.js";
25
+ import { OrderBy } from "./src/model/definition/OrderByDefinition.js";
26
+ import { DisableEventLog } from "./src/model/definition/EventLogDefinition.js";
27
+ import { View } from "./src/model/definition/ViewDefinition.js";
28
+ import { Unique } from "./src/model/definition/UniqueDefinition.js";
29
+ import { Index } from "./src/model/definition/IndexDefinition.js";
30
+ import { extendEntity } from "./src/model/definition/extensions.js";
31
+ import { createTarget } from "./src/actions/definition/targets.js";
32
+ import { trigger, watch } from "./src/actions/definition/triggers.js";
33
+ import { canDelete, canUpdate, canRead, canCreate } from "./src/acl/definition/references.js";
34
+ import { createPredefinedVariable, createEntityVariable, createConditionVariable } from "./src/acl/definition/variables.js";
35
+ import { createRole } from "./src/acl/definition/roles.js";
36
+ import { allow } from "./src/acl/definition/permissions.js";
37
+ import { allowCustomPrimary } from "./src/acl/definition/customPrimary.js";
38
+ const c = {
39
+ // ACL
40
+ // ACL entity decorators
41
+ AllowCustomPrimary: allowCustomPrimary,
42
+ Allow: allow,
43
+ // ACL factories
44
+ createRole,
45
+ createConditionVariable,
46
+ createEntityVariable,
47
+ createPredefinedVariable,
48
+ // ACL utilities
49
+ canCreate,
50
+ canRead,
51
+ canUpdate,
52
+ canDelete,
53
+ // Actions
54
+ // Actions entity decorators
55
+ Watch: watch,
56
+ Trigger: trigger,
57
+ // Actions factories
58
+ createActionsTarget: createTarget,
59
+ // Model
60
+ // Model entity decorators
61
+ ExtendEntity: extendEntity,
62
+ Index,
63
+ Unique,
64
+ View,
65
+ DisableEventLog,
66
+ OrderBy,
67
+ // Model field factories
68
+ column,
69
+ boolColumn,
70
+ intColumn,
71
+ doubleColumn,
72
+ dateColumn,
73
+ timeColumn,
74
+ dateTimeColumn,
75
+ jsonColumn,
76
+ stringColumn,
77
+ enumColumn,
78
+ uuidColumn,
79
+ manyHasMany,
80
+ manyHasManyInverse,
81
+ manyHasOne,
82
+ oneHasOne,
83
+ oneHasOneInverse,
84
+ oneHasMany,
85
+ // Model factories
86
+ createEnum,
87
+ // Validation
88
+ // Validation field decorators
89
+ Assert: assert,
90
+ Required: required,
91
+ AssertDefined: assertDefined,
92
+ AssertNotEmpty: assertNotEmpty,
93
+ AssertPattern: assertPattern,
94
+ AssertMinLength: assertMinLength,
95
+ AssertMaxLength: assertMaxLength,
96
+ ValidateWhen: when,
97
+ // Validation utilities
98
+ rules
99
+ };
100
+ export {
101
+ index as AclDefinition,
102
+ index$1 as ActionsDefinition,
103
+ AllowAllPermissionFactory,
104
+ default3 as ColumnBuilder,
105
+ default8 as FieldBuilder,
106
+ index$2 as InputValidation,
107
+ default4 as ManyHasManyBuilder,
108
+ default6 as ManyHasOneBuilder,
109
+ default5 as OneHasManyBuilder,
110
+ default7 as OneHasOneBuilder,
111
+ PermissionsBuilder,
112
+ default2 as SchemaBuilder,
113
+ index$3 as SchemaDefinition,
114
+ c,
115
+ createSchema,
116
+ settingsPresets
117
+ };
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../packages/schema-definition/src/index.ts"],"sourcesContent":["import * as AclDefinition from './acl/definition'\nimport { Role } from './acl/definition'\nimport * as ActionsDefinition from './actions/definition'\nimport * as InputValidation from './validation'\nimport { SchemaDefinition } from './model'\nimport { createSchema } from './createSchema'\n\nexport { AllowAllPermissionFactory } from '@contember/schema-utils'\nexport { PermissionsBuilder } from './acl/builder/PermissionsBuilder'\nexport * from './model'\nexport * from './presets'\n\nexport type { Role }\nexport type { VariableDefinition } from './acl/definition'\nexport type {\n\tColumnDefinition,\n\tEnumDefinition,\n\tFieldDefinition,\n\tManyHasManyDefinition,\n\tManyHasManyInverseDefinition,\n\tManyHasOneDefinition,\n\tOneHasManyDefinition,\n\tOneHasOneDefinition,\n\tOneHasOneInverseDefinition,\n} from './model/definition'\n\nexport { AclDefinition, ActionsDefinition, createSchema, InputValidation, SchemaDefinition }\n\nexport const c = {\n\t// ACL\n\t// ACL entity decorators\n\tAllowCustomPrimary: AclDefinition.allowCustomPrimary,\n\tAllow: AclDefinition.allow,\n\t// ACL factories\n\tcreateRole: AclDefinition.createRole,\n\tcreateConditionVariable: AclDefinition.createConditionVariable,\n\tcreateEntityVariable: AclDefinition.createEntityVariable,\n\tcreatePredefinedVariable: AclDefinition.createPredefinedVariable,\n\t// ACL utilities\n\tcanCreate: AclDefinition.canCreate,\n\tcanRead: AclDefinition.canRead,\n\tcanUpdate: AclDefinition.canUpdate,\n\tcanDelete: AclDefinition.canDelete,\n\n\t// Actions\n\t// Actions entity decorators\n\tWatch: ActionsDefinition.watch,\n\tTrigger: ActionsDefinition.trigger,\n\t// Actions factories\n\tcreateActionsTarget: ActionsDefinition.createTarget,\n\n\t// Model\n\t// Model entity decorators\n\tExtendEntity: SchemaDefinition.extendEntity,\n\tIndex: SchemaDefinition.Index,\n\tUnique: SchemaDefinition.Unique,\n\tView: SchemaDefinition.View,\n\tDisableEventLog: SchemaDefinition.DisableEventLog,\n\tOrderBy: SchemaDefinition.OrderBy,\n\t// Model field factories\n\tcolumn: SchemaDefinition.column,\n\tboolColumn: SchemaDefinition.boolColumn,\n\tintColumn: SchemaDefinition.intColumn,\n\tdoubleColumn: SchemaDefinition.doubleColumn,\n\tdateColumn: SchemaDefinition.dateColumn,\n\ttimeColumn: SchemaDefinition.timeColumn,\n\tdateTimeColumn: SchemaDefinition.dateTimeColumn,\n\tjsonColumn: SchemaDefinition.jsonColumn,\n\tstringColumn: SchemaDefinition.stringColumn,\n\tenumColumn: SchemaDefinition.enumColumn,\n\tuuidColumn: SchemaDefinition.uuidColumn,\n\tmanyHasMany: SchemaDefinition.manyHasMany,\n\tmanyHasManyInverse: SchemaDefinition.manyHasManyInverse,\n\tmanyHasOne: SchemaDefinition.manyHasOne,\n\toneHasOne: SchemaDefinition.oneHasOne,\n\toneHasOneInverse: SchemaDefinition.oneHasOneInverse,\n\toneHasMany: SchemaDefinition.oneHasMany,\n\t// Model factories\n\tcreateEnum: SchemaDefinition.createEnum,\n\n\t// Validation\n\t// Validation field decorators\n\tAssert: InputValidation.assert,\n\tRequired: InputValidation.required,\n\tAssertDefined: InputValidation.assertDefined,\n\tAssertNotEmpty: InputValidation.assertNotEmpty,\n\tAssertPattern: InputValidation.assertPattern,\n\tAssertMinLength: InputValidation.assertMinLength,\n\tAssertMaxLength: InputValidation.assertMaxLength,\n\tValidateWhen: InputValidation.when,\n\t// Validation utilities\n\trules: InputValidation.rules,\n}\n"],"names":["AclDefinition.allowCustomPrimary","AclDefinition.allow","ActionsDefinition.watch","ActionsDefinition.trigger","ActionsDefinition.createTarget","SchemaDefinition.extendEntity","InputValidation.assert","InputValidation.required","InputValidation.assertDefined","InputValidation.assertNotEmpty","InputValidation.assertPattern","InputValidation.assertMinLength","InputValidation.assertMaxLength","InputValidation.when"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,IAAI;AAAA;AAAA;AAAA,EAGhB,oBAAoBA;AAAAA,EACpB,OAAOC;AAAAA;AAAAA,EAEP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAIA,OAAOC;AAAAA,EACP,SAASC;AAAAA;AAAAA,EAET,qBAAqBC;AAAAA;AAAAA;AAAAA,EAIrB,cAAcC;AAAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA,EAIA,QAAQC;AAAAA,EACR,UAAUC;AAAAA,EACV,eAAeC;AAAAA,EACf,gBAAgBC;AAAAA,EAChB,eAAeC;AAAAA,EACf,iBAAiBC;AAAAA,EACjB,iBAAiBC;AAAAA,EACjB,cAAcC;AAAAA;AAAAA,EAEd;AACD;"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ const tuple = require("../../utils/tuple.cjs");
3
+ require("reflect-metadata");
4
+ const schema = require("@contember/schema");
5
+ const FieldSelector = require("./FieldSelector.cjs");
6
+ const FieldPermissionsBuilder = require("./FieldPermissionsBuilder.cjs");
7
+ const PredicateReference = require("./PredicateReference.cjs");
8
+ class EntityPermissionsBuilder {
9
+ constructor(builder, entities) {
10
+ this.builder = builder;
11
+ this.entities = entities;
12
+ }
13
+ get schema() {
14
+ return this.builder.schema;
15
+ }
16
+ get permissions() {
17
+ return this.builder.permissions;
18
+ }
19
+ addPredicate(name, predicate) {
20
+ const predicates = this.entities.reduce(
21
+ (acc, entity) => ({
22
+ ...acc,
23
+ [entity.name]: {
24
+ operations: {},
25
+ predicates: { [name]: PredicateReference.resolvePredicateReference(this.schema, this.permissions, entity, predicate) }
26
+ }
27
+ }),
28
+ {}
29
+ );
30
+ return this.add(predicates);
31
+ }
32
+ allow(operations, predicate = true) {
33
+ return this.updateAll(operations, predicate);
34
+ }
35
+ allowAll(predicate = true) {
36
+ return this.updateAll(
37
+ [schema.Acl.Operation.read, schema.Acl.Operation.create, schema.Acl.Operation.update, schema.Acl.Operation.delete],
38
+ predicate
39
+ );
40
+ }
41
+ allowOnlyRead(predicate = true) {
42
+ return this.disallowAll().allow([schema.Acl.Operation.read], predicate);
43
+ }
44
+ disallowAll() {
45
+ return this.updateAll([schema.Acl.Operation.read, schema.Acl.Operation.create, schema.Acl.Operation.update, schema.Acl.Operation.delete], false);
46
+ }
47
+ allowDelete(predicate = true) {
48
+ return this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }));
49
+ }
50
+ allowCustomPrimary() {
51
+ return this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }));
52
+ }
53
+ updateAll(operations, predicate) {
54
+ return this.addEntityPermission((entity) => {
55
+ const fieldPermissions = Object.keys(entity.fields).reduce(
56
+ (permissions, fieldName) => {
57
+ return { ...permissions, [fieldName]: predicate };
58
+ },
59
+ {}
60
+ );
61
+ const entityOperations = {};
62
+ if (operations.includes(schema.Acl.Operation.read)) {
63
+ entityOperations.read = fieldPermissions;
64
+ }
65
+ if (operations.includes(schema.Acl.Operation.create)) {
66
+ entityOperations.create = fieldPermissions;
67
+ }
68
+ if (operations.includes(schema.Acl.Operation.update)) {
69
+ entityOperations.update = fieldPermissions;
70
+ }
71
+ if (operations.includes(schema.Acl.Operation.delete)) {
72
+ entityOperations.delete = predicate;
73
+ }
74
+ return {
75
+ operations: entityOperations,
76
+ predicates: {}
77
+ };
78
+ });
79
+ }
80
+ addEntityPermission(entityPermission) {
81
+ const permissions = this.entities.reduce(
82
+ (acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),
83
+ {}
84
+ );
85
+ return this.add(permissions);
86
+ }
87
+ add(permissions) {
88
+ return new EntityPermissionsBuilder(this.builder.add(permissions), this.entities);
89
+ }
90
+ onEntity(entitySelector) {
91
+ return this.builder.onEntity(entitySelector);
92
+ }
93
+ onEveryEntity() {
94
+ return this.builder.onEveryEntity();
95
+ }
96
+ onField(fieldSelector) {
97
+ if (typeof fieldSelector === "string") {
98
+ fieldSelector = FieldSelector.named(fieldSelector);
99
+ } else if (Array.isArray(fieldSelector)) {
100
+ fieldSelector = FieldSelector.named(...fieldSelector);
101
+ }
102
+ const fieldSelectorConst = fieldSelector;
103
+ const fields = this.entities.map(
104
+ (it) => tuple.tuple(
105
+ it,
106
+ Object.values(it.fields).filter((field) => fieldSelectorConst.matches(this.schema, it, field))
107
+ )
108
+ ).reduce(
109
+ (acc, [entity, fields2]) => [...acc, ...fields2.map((it) => tuple.tuple(entity, it))],
110
+ []
111
+ );
112
+ return new FieldPermissionsBuilder(this, fields);
113
+ }
114
+ onEveryField() {
115
+ return this.onField(FieldSelector.every());
116
+ }
117
+ }
118
+ module.exports = EntityPermissionsBuilder;
119
+ //# sourceMappingURL=EntityPermissionsBuilder.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityPermissionsBuilder.cjs","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntityPermissionsBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport EntitySelector from './EntitySelector'\nimport { Acl, Model, Writable } from '@contember/schema'\nimport FieldSelector from './FieldSelector'\nimport FieldPermissionsBuilder from './FieldPermissionsBuilder'\nimport { PermissionsBuilder } from './PermissionsBuilder'\nimport PredicateReference, { resolvePredicateReference } from './PredicateReference'\n\nexport default class EntityPermissionsBuilder {\n\tpublic constructor(public readonly builder: PermissionsBuilder, private readonly entities: Model.Entity[]) {}\n\n\tget schema(): Model.Schema {\n\t\treturn this.builder.schema\n\t}\n\n\tget permissions(): Acl.Permissions {\n\t\treturn this.builder.permissions\n\t}\n\n\taddPredicate(name: string, predicate: Acl.PredicateDefinition<PredicateReference>): EntityPermissionsBuilder {\n\t\tconst predicates = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({\n\t\t\t\t...acc,\n\t\t\t\t[entity.name]: {\n\t\t\t\t\toperations: {},\n\t\t\t\t\tpredicates: { [name]: resolvePredicateReference(this.schema, this.permissions, entity, predicate) },\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{},\n\t\t)\n\n\t\treturn this.add(predicates)\n\t}\n\n\tallow(operations: Acl.Operation[], predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(operations, predicate)\n\t}\n\n\tallowAll(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(\n\t\t\t[Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete],\n\t\t\tpredicate,\n\t\t)\n\t}\n\n\tallowOnlyRead(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.disallowAll().allow([Acl.Operation.read], predicate)\n\t}\n\n\tdisallowAll(): EntityPermissionsBuilder {\n\t\treturn this.updateAll([Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete], false)\n\t}\n\n\tallowDelete(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }))\n\t}\n\n\tallowCustomPrimary(): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }))\n\t}\n\n\tprivate updateAll(operations: Acl.Operation[], predicate: Acl.Predicate): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(entity => {\n\t\t\tconst fieldPermissions = Object.keys(entity.fields).reduce(\n\t\t\t\t(permissions: Acl.FieldPermissions, fieldName): Acl.FieldPermissions => {\n\t\t\t\t\treturn { ...permissions, [fieldName]: predicate }\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t)\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = {}\n\t\t\tif (operations.includes(Acl.Operation.read)) {\n\t\t\t\tentityOperations.read = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.create)) {\n\t\t\t\tentityOperations.create = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.update)) {\n\t\t\t\tentityOperations.update = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.delete)) {\n\t\t\t\tentityOperations.delete = predicate\n\t\t\t}\n\t\t\treturn {\n\t\t\t\toperations: entityOperations,\n\t\t\t\tpredicates: {},\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate addEntityPermission(\n\t\tentityPermission: (entity: Model.Entity) => Acl.EntityPermissions,\n\t): EntityPermissionsBuilder {\n\t\tconst permissions = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),\n\t\t\t{},\n\t\t)\n\t\treturn this.add(permissions)\n\t}\n\n\tpublic add(permissions: Acl.Permissions): EntityPermissionsBuilder {\n\t\treturn new EntityPermissionsBuilder(this.builder.add(permissions), this.entities)\n\t}\n\n\tpublic onEntity(entitySelector: EntitySelector | string | string[]): EntityPermissionsBuilder {\n\t\treturn this.builder.onEntity(entitySelector)\n\t}\n\n\tpublic onEveryEntity(): EntityPermissionsBuilder {\n\t\treturn this.builder.onEveryEntity()\n\t}\n\n\tonField(fieldSelector: FieldSelector | string | string[]): FieldPermissionsBuilder {\n\t\tif (typeof fieldSelector === 'string') {\n\t\t\tfieldSelector = FieldSelector.named(fieldSelector)\n\t\t} else if (Array.isArray(fieldSelector)) {\n\t\t\tfieldSelector = FieldSelector.named(...fieldSelector)\n\t\t}\n\t\tconst fieldSelectorConst = fieldSelector\n\t\tconst fields = this.entities\n\t\t\t.map(it =>\n\t\t\t\ttuple(\n\t\t\t\t\tit,\n\t\t\t\t\tObject.values(it.fields).filter(field => fieldSelectorConst.matches(this.schema, it, field)),\n\t\t\t\t)\n\t\t\t)\n\t\t\t.reduce<[Model.Entity, Model.AnyField][]>(\n\t\t\t\t(acc, [entity, fields]) => [...acc, ...fields.map(it => tuple(entity, it))],\n\t\t\t\t[],\n\t\t\t)\n\t\treturn new FieldPermissionsBuilder(this, fields)\n\t}\n\n\tonEveryField(): FieldPermissionsBuilder {\n\t\treturn this.onField(FieldSelector.every())\n\t}\n}\n"],"names":["resolvePredicateReference","Acl","tuple","fields"],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import { tuple } from "../../utils/tuple.js";
2
+ import "reflect-metadata";
3
+ import { Acl } from "@contember/schema";
4
+ import FieldSelector from "./FieldSelector.js";
5
+ import FieldPermissionsBuilder from "./FieldPermissionsBuilder.js";
6
+ import { resolvePredicateReference } from "./PredicateReference.js";
7
+ class EntityPermissionsBuilder {
8
+ constructor(builder, entities) {
9
+ this.builder = builder;
10
+ this.entities = entities;
11
+ }
12
+ get schema() {
13
+ return this.builder.schema;
14
+ }
15
+ get permissions() {
16
+ return this.builder.permissions;
17
+ }
18
+ addPredicate(name, predicate) {
19
+ const predicates = this.entities.reduce(
20
+ (acc, entity) => ({
21
+ ...acc,
22
+ [entity.name]: {
23
+ operations: {},
24
+ predicates: { [name]: resolvePredicateReference(this.schema, this.permissions, entity, predicate) }
25
+ }
26
+ }),
27
+ {}
28
+ );
29
+ return this.add(predicates);
30
+ }
31
+ allow(operations, predicate = true) {
32
+ return this.updateAll(operations, predicate);
33
+ }
34
+ allowAll(predicate = true) {
35
+ return this.updateAll(
36
+ [Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete],
37
+ predicate
38
+ );
39
+ }
40
+ allowOnlyRead(predicate = true) {
41
+ return this.disallowAll().allow([Acl.Operation.read], predicate);
42
+ }
43
+ disallowAll() {
44
+ return this.updateAll([Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete], false);
45
+ }
46
+ allowDelete(predicate = true) {
47
+ return this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }));
48
+ }
49
+ allowCustomPrimary() {
50
+ return this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }));
51
+ }
52
+ updateAll(operations, predicate) {
53
+ return this.addEntityPermission((entity) => {
54
+ const fieldPermissions = Object.keys(entity.fields).reduce(
55
+ (permissions, fieldName) => {
56
+ return { ...permissions, [fieldName]: predicate };
57
+ },
58
+ {}
59
+ );
60
+ const entityOperations = {};
61
+ if (operations.includes(Acl.Operation.read)) {
62
+ entityOperations.read = fieldPermissions;
63
+ }
64
+ if (operations.includes(Acl.Operation.create)) {
65
+ entityOperations.create = fieldPermissions;
66
+ }
67
+ if (operations.includes(Acl.Operation.update)) {
68
+ entityOperations.update = fieldPermissions;
69
+ }
70
+ if (operations.includes(Acl.Operation.delete)) {
71
+ entityOperations.delete = predicate;
72
+ }
73
+ return {
74
+ operations: entityOperations,
75
+ predicates: {}
76
+ };
77
+ });
78
+ }
79
+ addEntityPermission(entityPermission) {
80
+ const permissions = this.entities.reduce(
81
+ (acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),
82
+ {}
83
+ );
84
+ return this.add(permissions);
85
+ }
86
+ add(permissions) {
87
+ return new EntityPermissionsBuilder(this.builder.add(permissions), this.entities);
88
+ }
89
+ onEntity(entitySelector) {
90
+ return this.builder.onEntity(entitySelector);
91
+ }
92
+ onEveryEntity() {
93
+ return this.builder.onEveryEntity();
94
+ }
95
+ onField(fieldSelector) {
96
+ if (typeof fieldSelector === "string") {
97
+ fieldSelector = FieldSelector.named(fieldSelector);
98
+ } else if (Array.isArray(fieldSelector)) {
99
+ fieldSelector = FieldSelector.named(...fieldSelector);
100
+ }
101
+ const fieldSelectorConst = fieldSelector;
102
+ const fields = this.entities.map(
103
+ (it) => tuple(
104
+ it,
105
+ Object.values(it.fields).filter((field) => fieldSelectorConst.matches(this.schema, it, field))
106
+ )
107
+ ).reduce(
108
+ (acc, [entity, fields2]) => [...acc, ...fields2.map((it) => tuple(entity, it))],
109
+ []
110
+ );
111
+ return new FieldPermissionsBuilder(this, fields);
112
+ }
113
+ onEveryField() {
114
+ return this.onField(FieldSelector.every());
115
+ }
116
+ }
117
+ export {
118
+ EntityPermissionsBuilder as default
119
+ };
120
+ //# sourceMappingURL=EntityPermissionsBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityPermissionsBuilder.js","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntityPermissionsBuilder.ts"],"sourcesContent":["import { tuple } from '../../utils'\nimport EntitySelector from './EntitySelector'\nimport { Acl, Model, Writable } from '@contember/schema'\nimport FieldSelector from './FieldSelector'\nimport FieldPermissionsBuilder from './FieldPermissionsBuilder'\nimport { PermissionsBuilder } from './PermissionsBuilder'\nimport PredicateReference, { resolvePredicateReference } from './PredicateReference'\n\nexport default class EntityPermissionsBuilder {\n\tpublic constructor(public readonly builder: PermissionsBuilder, private readonly entities: Model.Entity[]) {}\n\n\tget schema(): Model.Schema {\n\t\treturn this.builder.schema\n\t}\n\n\tget permissions(): Acl.Permissions {\n\t\treturn this.builder.permissions\n\t}\n\n\taddPredicate(name: string, predicate: Acl.PredicateDefinition<PredicateReference>): EntityPermissionsBuilder {\n\t\tconst predicates = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({\n\t\t\t\t...acc,\n\t\t\t\t[entity.name]: {\n\t\t\t\t\toperations: {},\n\t\t\t\t\tpredicates: { [name]: resolvePredicateReference(this.schema, this.permissions, entity, predicate) },\n\t\t\t\t},\n\t\t\t}),\n\t\t\t{},\n\t\t)\n\n\t\treturn this.add(predicates)\n\t}\n\n\tallow(operations: Acl.Operation[], predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(operations, predicate)\n\t}\n\n\tallowAll(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.updateAll(\n\t\t\t[Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete],\n\t\t\tpredicate,\n\t\t)\n\t}\n\n\tallowOnlyRead(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.disallowAll().allow([Acl.Operation.read], predicate)\n\t}\n\n\tdisallowAll(): EntityPermissionsBuilder {\n\t\treturn this.updateAll([Acl.Operation.read, Acl.Operation.create, Acl.Operation.update, Acl.Operation.delete], false)\n\t}\n\n\tallowDelete(predicate: Acl.Predicate = true): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { delete: predicate }, predicates: {} }))\n\t}\n\n\tallowCustomPrimary(): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(() => ({ operations: { customPrimary: true }, predicates: {} }))\n\t}\n\n\tprivate updateAll(operations: Acl.Operation[], predicate: Acl.Predicate): EntityPermissionsBuilder {\n\t\treturn this.addEntityPermission(entity => {\n\t\t\tconst fieldPermissions = Object.keys(entity.fields).reduce(\n\t\t\t\t(permissions: Acl.FieldPermissions, fieldName): Acl.FieldPermissions => {\n\t\t\t\t\treturn { ...permissions, [fieldName]: predicate }\n\t\t\t\t},\n\t\t\t\t{},\n\t\t\t)\n\t\t\tconst entityOperations: Writable<Acl.EntityOperations> = {}\n\t\t\tif (operations.includes(Acl.Operation.read)) {\n\t\t\t\tentityOperations.read = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.create)) {\n\t\t\t\tentityOperations.create = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.update)) {\n\t\t\t\tentityOperations.update = fieldPermissions\n\t\t\t}\n\t\t\tif (operations.includes(Acl.Operation.delete)) {\n\t\t\t\tentityOperations.delete = predicate\n\t\t\t}\n\t\t\treturn {\n\t\t\t\toperations: entityOperations,\n\t\t\t\tpredicates: {},\n\t\t\t}\n\t\t})\n\t}\n\n\tprivate addEntityPermission(\n\t\tentityPermission: (entity: Model.Entity) => Acl.EntityPermissions,\n\t): EntityPermissionsBuilder {\n\t\tconst permissions = this.entities.reduce<Acl.Permissions>(\n\t\t\t(acc, entity) => ({ ...acc, [entity.name]: entityPermission(entity) }),\n\t\t\t{},\n\t\t)\n\t\treturn this.add(permissions)\n\t}\n\n\tpublic add(permissions: Acl.Permissions): EntityPermissionsBuilder {\n\t\treturn new EntityPermissionsBuilder(this.builder.add(permissions), this.entities)\n\t}\n\n\tpublic onEntity(entitySelector: EntitySelector | string | string[]): EntityPermissionsBuilder {\n\t\treturn this.builder.onEntity(entitySelector)\n\t}\n\n\tpublic onEveryEntity(): EntityPermissionsBuilder {\n\t\treturn this.builder.onEveryEntity()\n\t}\n\n\tonField(fieldSelector: FieldSelector | string | string[]): FieldPermissionsBuilder {\n\t\tif (typeof fieldSelector === 'string') {\n\t\t\tfieldSelector = FieldSelector.named(fieldSelector)\n\t\t} else if (Array.isArray(fieldSelector)) {\n\t\t\tfieldSelector = FieldSelector.named(...fieldSelector)\n\t\t}\n\t\tconst fieldSelectorConst = fieldSelector\n\t\tconst fields = this.entities\n\t\t\t.map(it =>\n\t\t\t\ttuple(\n\t\t\t\t\tit,\n\t\t\t\t\tObject.values(it.fields).filter(field => fieldSelectorConst.matches(this.schema, it, field)),\n\t\t\t\t)\n\t\t\t)\n\t\t\t.reduce<[Model.Entity, Model.AnyField][]>(\n\t\t\t\t(acc, [entity, fields]) => [...acc, ...fields.map(it => tuple(entity, it))],\n\t\t\t\t[],\n\t\t\t)\n\t\treturn new FieldPermissionsBuilder(this, fields)\n\t}\n\n\tonEveryField(): FieldPermissionsBuilder {\n\t\treturn this.onField(FieldSelector.every())\n\t}\n}\n"],"names":["fields"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ const schemaUtils = require("@contember/schema-utils");
3
+ class EntitySelector {
4
+ constructor(matchers) {
5
+ this.matchers = matchers;
6
+ }
7
+ static every() {
8
+ return new EntitySelector([]);
9
+ }
10
+ static named(...name) {
11
+ return EntitySelector.every().named(...name);
12
+ }
13
+ named(...name) {
14
+ return this.matching((schema, entity) => name.includes(entity.name));
15
+ }
16
+ havingRelation(name, targetEntityName) {
17
+ return this.matching(
18
+ (schema, entity) => entity.fields[name] && schemaUtils.acceptFieldVisitor(schema, entity, name, {
19
+ visitColumn: () => false,
20
+ visitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName
21
+ })
22
+ );
23
+ }
24
+ matching(matcher) {
25
+ return new EntitySelector([...this.matchers, matcher]);
26
+ }
27
+ matches(schema, entity) {
28
+ return this.matchers.reduce((prev, predicate) => prev && predicate(schema, entity), true);
29
+ }
30
+ }
31
+ module.exports = EntitySelector;
32
+ //# sourceMappingURL=EntitySelector.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitySelector.cjs","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntitySelector.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\ntype Matcher = (schema: Model.Schema, entity: Model.Entity) => boolean\n\nexport default class EntitySelector {\n\tprivate constructor(private readonly matchers: Matcher[]) {}\n\n\tpublic static every() {\n\t\treturn new EntitySelector([])\n\t}\n\n\tpublic static named(...name: string[]) {\n\t\treturn EntitySelector.every().named(...name)\n\t}\n\n\tpublic named(...name: string[]) {\n\t\treturn this.matching((schema, entity) => name.includes(entity.name))\n\t}\n\n\tpublic havingRelation(name: string, targetEntityName?: string) {\n\t\treturn this.matching(\n\t\t\t(schema, entity) =>\n\t\t\t\tentity.fields[name]\n\t\t\t\t&& acceptFieldVisitor(schema, entity, name, {\n\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName,\n\t\t\t\t}),\n\t\t)\n\t}\n\n\tpublic matching(matcher: Matcher): EntitySelector {\n\t\treturn new EntitySelector([...this.matchers, matcher])\n\t}\n\n\tpublic matches(schema: Model.Schema, entity: Model.Entity): boolean {\n\t\treturn this.matchers.reduce<boolean>((prev, predicate) => prev && predicate(schema, entity), true)\n\t}\n}\n"],"names":["acceptFieldVisitor"],"mappings":";;AAKA,MAAqB,eAAe;AAAA,EAC3B,YAA6B,UAAqB;AAArB,SAAA,WAAA;AAAA,EAAsB;AAAA,EAE3D,OAAc,QAAQ;AACrB,WAAO,IAAI,eAAe,EAAE;AAAA,EAC7B;AAAA,EAEA,OAAc,SAAS,MAAgB;AACtC,WAAO,eAAe,MAAA,EAAQ,MAAM,GAAG,IAAI;AAAA,EAC5C;AAAA,EAEO,SAAS,MAAgB;AAC/B,WAAO,KAAK,SAAS,CAAC,QAAQ,WAAW,KAAK,SAAS,OAAO,IAAI,CAAC;AAAA,EACpE;AAAA,EAEO,eAAe,MAAc,kBAA2B;AAC9D,WAAO,KAAK;AAAA,MACX,CAAC,QAAQ,WACR,OAAO,OAAO,IAAI,KACfA,+BAAmB,QAAQ,QAAQ,MAAM;AAAA,QAC3C,aAAa,MAAM;AAAA,QACnB,eAAe,CAAC,EAAE,aAAA,MAAmB,CAAC,oBAAoB,aAAa,SAAS;AAAA,MAAA,CAChF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEO,SAAS,SAAkC;AACjD,WAAO,IAAI,eAAe,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,EACtD;AAAA,EAEO,QAAQ,QAAsB,QAA+B;AACnE,WAAO,KAAK,SAAS,OAAgB,CAAC,MAAM,cAAc,QAAQ,UAAU,QAAQ,MAAM,GAAG,IAAI;AAAA,EAClG;AACD;;"}
@@ -0,0 +1,33 @@
1
+ import { acceptFieldVisitor } from "@contember/schema-utils";
2
+ class EntitySelector {
3
+ constructor(matchers) {
4
+ this.matchers = matchers;
5
+ }
6
+ static every() {
7
+ return new EntitySelector([]);
8
+ }
9
+ static named(...name) {
10
+ return EntitySelector.every().named(...name);
11
+ }
12
+ named(...name) {
13
+ return this.matching((schema, entity) => name.includes(entity.name));
14
+ }
15
+ havingRelation(name, targetEntityName) {
16
+ return this.matching(
17
+ (schema, entity) => entity.fields[name] && acceptFieldVisitor(schema, entity, name, {
18
+ visitColumn: () => false,
19
+ visitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName
20
+ })
21
+ );
22
+ }
23
+ matching(matcher) {
24
+ return new EntitySelector([...this.matchers, matcher]);
25
+ }
26
+ matches(schema, entity) {
27
+ return this.matchers.reduce((prev, predicate) => prev && predicate(schema, entity), true);
28
+ }
29
+ }
30
+ export {
31
+ EntitySelector as default
32
+ };
33
+ //# sourceMappingURL=EntitySelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitySelector.js","sources":["../../../../../../packages/schema-definition/src/acl/builder/EntitySelector.ts"],"sourcesContent":["import { Model } from '@contember/schema'\nimport { acceptFieldVisitor } from '@contember/schema-utils'\n\ntype Matcher = (schema: Model.Schema, entity: Model.Entity) => boolean\n\nexport default class EntitySelector {\n\tprivate constructor(private readonly matchers: Matcher[]) {}\n\n\tpublic static every() {\n\t\treturn new EntitySelector([])\n\t}\n\n\tpublic static named(...name: string[]) {\n\t\treturn EntitySelector.every().named(...name)\n\t}\n\n\tpublic named(...name: string[]) {\n\t\treturn this.matching((schema, entity) => name.includes(entity.name))\n\t}\n\n\tpublic havingRelation(name: string, targetEntityName?: string) {\n\t\treturn this.matching(\n\t\t\t(schema, entity) =>\n\t\t\t\tentity.fields[name]\n\t\t\t\t&& acceptFieldVisitor(schema, entity, name, {\n\t\t\t\t\tvisitColumn: () => false,\n\t\t\t\t\tvisitRelation: ({ targetEntity }) => !targetEntityName || targetEntity.name === targetEntityName,\n\t\t\t\t}),\n\t\t)\n\t}\n\n\tpublic matching(matcher: Matcher): EntitySelector {\n\t\treturn new EntitySelector([...this.matchers, matcher])\n\t}\n\n\tpublic matches(schema: Model.Schema, entity: Model.Entity): boolean {\n\t\treturn this.matchers.reduce<boolean>((prev, predicate) => prev && predicate(schema, entity), true)\n\t}\n}\n"],"names":[],"mappings":";AAKA,MAAqB,eAAe;AAAA,EAC3B,YAA6B,UAAqB;AAArB,SAAA,WAAA;AAAA,EAAsB;AAAA,EAE3D,OAAc,QAAQ;AACrB,WAAO,IAAI,eAAe,EAAE;AAAA,EAC7B;AAAA,EAEA,OAAc,SAAS,MAAgB;AACtC,WAAO,eAAe,MAAA,EAAQ,MAAM,GAAG,IAAI;AAAA,EAC5C;AAAA,EAEO,SAAS,MAAgB;AAC/B,WAAO,KAAK,SAAS,CAAC,QAAQ,WAAW,KAAK,SAAS,OAAO,IAAI,CAAC;AAAA,EACpE;AAAA,EAEO,eAAe,MAAc,kBAA2B;AAC9D,WAAO,KAAK;AAAA,MACX,CAAC,QAAQ,WACR,OAAO,OAAO,IAAI,KACf,mBAAmB,QAAQ,QAAQ,MAAM;AAAA,QAC3C,aAAa,MAAM;AAAA,QACnB,eAAe,CAAC,EAAE,aAAA,MAAmB,CAAC,oBAAoB,aAAa,SAAS;AAAA,MAAA,CAChF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEO,SAAS,SAAkC;AACjD,WAAO,IAAI,eAAe,CAAC,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,EACtD;AAAA,EAEO,QAAQ,QAAsB,QAA+B;AACnE,WAAO,KAAK,SAAS,OAAgB,CAAC,MAAM,cAAc,QAAQ,UAAU,QAAQ,MAAM,GAAG,IAAI;AAAA,EAClG;AACD;"}