@cerbos/orm-prisma 4.0.0 → 5.0.0

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 (203) hide show
  1. package/README.md +611 -460
  2. package/lib/collections.d.ts +30 -0
  3. package/lib/collections.d.ts.map +1 -0
  4. package/lib/collections.js +421 -0
  5. package/lib/collections.js.map +1 -0
  6. package/lib/comparison.d.ts +24 -0
  7. package/lib/comparison.d.ts.map +1 -0
  8. package/lib/comparison.js +731 -0
  9. package/lib/comparison.js.map +1 -0
  10. package/lib/errors.d.ts +13 -0
  11. package/lib/errors.d.ts.map +1 -0
  12. package/lib/errors.js +17 -0
  13. package/lib/errors.js.map +1 -0
  14. package/lib/evaluate.d.ts +5 -0
  15. package/lib/evaluate.d.ts.map +1 -0
  16. package/lib/evaluate.js +118 -0
  17. package/lib/evaluate.js.map +1 -0
  18. package/lib/fields.d.ts +34 -0
  19. package/lib/fields.d.ts.map +1 -0
  20. package/lib/fields.js +253 -0
  21. package/lib/fields.js.map +1 -0
  22. package/lib/functions.d.ts +5 -0
  23. package/lib/functions.d.ts.map +1 -0
  24. package/lib/functions.js +408 -0
  25. package/lib/functions.js.map +1 -0
  26. package/lib/hierarchy.d.ts +6 -0
  27. package/lib/hierarchy.d.ts.map +1 -0
  28. package/lib/hierarchy.js +266 -0
  29. package/lib/hierarchy.js.map +1 -0
  30. package/lib/index.d.ts +91 -8
  31. package/lib/index.d.ts.map +1 -1
  32. package/lib/index.js +34 -2301
  33. package/lib/index.js.map +1 -1
  34. package/lib/literals.d.ts +20 -0
  35. package/lib/literals.d.ts.map +1 -0
  36. package/lib/literals.js +290 -0
  37. package/lib/literals.js.map +1 -0
  38. package/lib/mapping.d.ts +95 -0
  39. package/lib/mapping.d.ts.map +1 -0
  40. package/lib/mapping.js +316 -0
  41. package/lib/mapping.js.map +1 -0
  42. package/lib/narrowing.d.ts +12 -0
  43. package/lib/narrowing.d.ts.map +1 -0
  44. package/lib/narrowing.js +32 -0
  45. package/lib/narrowing.js.map +1 -0
  46. package/lib/plan.d.ts +49 -0
  47. package/lib/plan.d.ts.map +1 -0
  48. package/lib/plan.js +86 -0
  49. package/lib/plan.js.map +1 -0
  50. package/lib/presence.d.ts +25 -0
  51. package/lib/presence.d.ts.map +1 -0
  52. package/lib/presence.js +82 -0
  53. package/lib/presence.js.map +1 -0
  54. package/lib/regex.d.ts +33 -0
  55. package/lib/regex.d.ts.map +1 -0
  56. package/lib/regex.js +480 -0
  57. package/lib/regex.js.map +1 -0
  58. package/lib/relations.d.ts +58 -0
  59. package/lib/relations.d.ts.map +1 -0
  60. package/lib/relations.js +175 -0
  61. package/lib/relations.js.map +1 -0
  62. package/lib/rewrite.d.ts +36 -0
  63. package/lib/rewrite.d.ts.map +1 -0
  64. package/lib/rewrite.js +366 -0
  65. package/lib/rewrite.js.map +1 -0
  66. package/lib/solve.d.ts +20 -0
  67. package/lib/solve.d.ts.map +1 -0
  68. package/lib/solve.js +77 -0
  69. package/lib/solve.js.map +1 -0
  70. package/lib/strings.d.ts +12 -0
  71. package/lib/strings.d.ts.map +1 -0
  72. package/lib/strings.js +110 -0
  73. package/lib/strings.js.map +1 -0
  74. package/lib/ternary.d.ts +12 -0
  75. package/lib/ternary.d.ts.map +1 -0
  76. package/lib/ternary.js +192 -0
  77. package/lib/ternary.js.map +1 -0
  78. package/lib/timestamp.d.ts +45 -0
  79. package/lib/timestamp.d.ts.map +1 -0
  80. package/lib/timestamp.js +225 -0
  81. package/lib/timestamp.js.map +1 -0
  82. package/lib/translate.d.ts +20 -0
  83. package/lib/translate.d.ts.map +1 -0
  84. package/lib/translate.js +287 -0
  85. package/lib/translate.js.map +1 -0
  86. package/lib/types.d.ts +29 -0
  87. package/lib/types.d.ts.map +1 -0
  88. package/lib/types.js +980 -0
  89. package/lib/types.js.map +1 -0
  90. package/lib/value.d.ts +8 -0
  91. package/lib/value.d.ts.map +1 -0
  92. package/lib/value.js +7 -0
  93. package/lib/value.js.map +1 -0
  94. package/package.json +31 -18
  95. package/src/adversarial.test.ts +488 -488
  96. package/src/collections.ts +738 -0
  97. package/src/comparison.ts +1157 -0
  98. package/src/corpus.ts +597 -0
  99. package/src/errors.ts +12 -0
  100. package/src/evaluate.ts +170 -0
  101. package/src/fields.ts +373 -0
  102. package/src/functions.ts +548 -0
  103. package/src/generated/prisma-adversarial/browser.ts +20 -0
  104. package/src/generated/prisma-adversarial/client.ts +20 -0
  105. package/src/generated/prisma-adversarial/commonInputTypes.ts +116 -127
  106. package/src/generated/prisma-adversarial/internal/class.ts +44 -4
  107. package/src/generated/prisma-adversarial/internal/prismaNamespace.ts +350 -3
  108. package/src/generated/prisma-adversarial/internal/prismaNamespaceBrowser.ts +49 -2
  109. package/src/generated/prisma-adversarial/models/AdversarialBoolListElement.ts +1272 -0
  110. package/src/generated/prisma-adversarial/models/AdversarialInner.ts +1369 -0
  111. package/src/generated/prisma-adversarial/models/AdversarialNumberListElement.ts +1316 -0
  112. package/src/generated/prisma-adversarial/models/AdversarialParent.ts +1474 -0
  113. package/src/generated/prisma-adversarial/models/AdversarialResource.ts +547 -75
  114. package/src/generated/prisma-adversarial/models.ts +4 -0
  115. package/src/generated/prisma-adversarial-mysql/browser.ts +64 -0
  116. package/src/generated/{prisma → prisma-adversarial-mysql}/client.ts +23 -18
  117. package/src/generated/{prisma → prisma-adversarial-mysql}/commonInputTypes.ts +167 -92
  118. package/src/generated/prisma-adversarial-mysql/internal/class.ts +284 -0
  119. package/src/generated/prisma-adversarial-mysql/internal/prismaNamespace.ts +1518 -0
  120. package/src/generated/prisma-adversarial-mysql/internal/prismaNamespaceBrowser.ts +274 -0
  121. package/src/generated/prisma-adversarial-mysql/models/AdversarialBoolListElement.ts +1157 -0
  122. package/src/generated/prisma-adversarial-mysql/models/AdversarialCategory.ts +1286 -0
  123. package/src/generated/prisma-adversarial-mysql/models/AdversarialInner.ts +1247 -0
  124. package/src/generated/prisma-adversarial-mysql/models/AdversarialLabel.ts +1157 -0
  125. package/src/generated/prisma-adversarial-mysql/models/AdversarialNumberListElement.ts +1201 -0
  126. package/src/generated/prisma-adversarial-mysql/models/AdversarialParent.ts +1352 -0
  127. package/src/generated/prisma-adversarial-mysql/models/AdversarialResource.ts +2021 -0
  128. package/src/generated/prisma-adversarial-mysql/models/AdversarialSubCategory.ts +1286 -0
  129. package/src/generated/prisma-adversarial-mysql/models/AdversarialTag.ts +1190 -0
  130. package/src/generated/prisma-adversarial-mysql/models.ts +20 -0
  131. package/src/generated/prisma-adversarial-mysql-v6/index.d.ts +13822 -0
  132. package/src/generated/prisma-adversarial-pg/browser.ts +64 -0
  133. package/src/generated/prisma-adversarial-pg/client.ts +86 -0
  134. package/src/generated/prisma-adversarial-pg/commonInputTypes.ts +345 -0
  135. package/src/generated/prisma-adversarial-pg/enums.ts +15 -0
  136. package/src/generated/prisma-adversarial-pg/internal/class.ts +284 -0
  137. package/src/generated/prisma-adversarial-pg/internal/prismaNamespace.ts +1542 -0
  138. package/src/generated/{prisma → prisma-adversarial-pg}/internal/prismaNamespaceBrowser.ts +72 -43
  139. package/src/generated/prisma-adversarial-pg/models/AdversarialBoolListElement.ts +1275 -0
  140. package/src/generated/prisma-adversarial-pg/models/AdversarialCategory.ts +1404 -0
  141. package/src/generated/prisma-adversarial-pg/models/AdversarialInner.ts +1371 -0
  142. package/src/generated/prisma-adversarial-pg/models/AdversarialLabel.ts +1275 -0
  143. package/src/generated/prisma-adversarial-pg/models/AdversarialNumberListElement.ts +1319 -0
  144. package/src/generated/prisma-adversarial-pg/models/AdversarialParent.ts +1476 -0
  145. package/src/generated/prisma-adversarial-pg/models/AdversarialResource.ts +2139 -0
  146. package/src/generated/prisma-adversarial-pg/models/AdversarialSubCategory.ts +1404 -0
  147. package/src/generated/prisma-adversarial-pg/models/AdversarialTag.ts +1310 -0
  148. package/src/generated/prisma-adversarial-pg/models.ts +20 -0
  149. package/src/generated/prisma-adversarial-pg-v6/client.d.ts +1 -0
  150. package/src/generated/prisma-adversarial-pg-v6/default.d.ts +1 -0
  151. package/src/generated/prisma-adversarial-pg-v6/edge.d.ts +1 -0
  152. package/src/generated/prisma-adversarial-pg-v6/index.d.ts +14918 -0
  153. package/src/generated/prisma-adversarial-pg-v6/runtime/index-browser.d.ts +370 -0
  154. package/src/generated/prisma-adversarial-pg-v6/runtime/library.d.ts +3982 -0
  155. package/src/generated/prisma-adversarial-pg-v6/wasm.d.ts +1 -0
  156. package/src/generated/prisma-adversarial-v6/index.d.ts +6515 -304
  157. package/src/hierarchy.ts +405 -0
  158. package/src/index.ts +134 -3325
  159. package/src/literals.ts +363 -0
  160. package/src/mapping.ts +474 -0
  161. package/src/narrowing.ts +33 -0
  162. package/src/plan.ts +125 -0
  163. package/src/presence.ts +114 -0
  164. package/src/regex.ts +596 -0
  165. package/src/relations.ts +226 -0
  166. package/src/rewrite.ts +524 -0
  167. package/src/solve.ts +96 -0
  168. package/src/strings.ts +152 -0
  169. package/src/ternary.ts +359 -0
  170. package/src/test-setup.adversarial-url.ts +21 -0
  171. package/src/test-setup.adversarial.mysql.v6.ts +13 -0
  172. package/src/test-setup.adversarial.mysql.v7.ts +12 -0
  173. package/src/test-setup.adversarial.pg.v6.ts +13 -0
  174. package/src/test-setup.adversarial.pg.v7.ts +9 -0
  175. package/src/test-setup.adversarial.v7.ts +1 -0
  176. package/src/timestamp.ts +308 -0
  177. package/src/translate.ts +419 -0
  178. package/src/translator.test.ts +766 -0
  179. package/src/types.ts +1310 -0
  180. package/src/value.ts +16 -0
  181. package/src/generated/prisma/browser.ts +0 -59
  182. package/src/generated/prisma/internal/class.ts +0 -274
  183. package/src/generated/prisma/internal/prismaNamespace.ts +0 -1403
  184. package/src/generated/prisma/models/Category.ts +0 -1412
  185. package/src/generated/prisma/models/Label.ts +0 -1276
  186. package/src/generated/prisma/models/NestedResource.ts +0 -1562
  187. package/src/generated/prisma/models/NextLevelNestedResource.ts +0 -1337
  188. package/src/generated/prisma/models/Resource.ts +0 -2196
  189. package/src/generated/prisma/models/SubCategory.ts +0 -1412
  190. package/src/generated/prisma/models/Tag.ts +0 -1276
  191. package/src/generated/prisma/models/User.ts +0 -1503
  192. package/src/generated/prisma/models.ts +0 -19
  193. package/src/generated/prisma-v6/index.d.ts +0 -13726
  194. package/src/index.test.ts +0 -8885
  195. package/src/test-setup.v6.ts +0 -5
  196. package/src/test-setup.v7.ts +0 -7
  197. /package/src/generated/{prisma → prisma-adversarial-mysql}/enums.ts +0 -0
  198. /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/client.d.ts +0 -0
  199. /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/default.d.ts +0 -0
  200. /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/edge.d.ts +0 -0
  201. /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/runtime/index-browser.d.ts +0 -0
  202. /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/runtime/library.d.ts +0 -0
  203. /package/src/generated/{prisma-v6 → prisma-adversarial-mysql-v6}/wasm.d.ts +0 -0
@@ -51,14 +51,15 @@ export const AnyNull = runtime.AnyNull
51
51
 
52
52
 
53
53
  export const ModelName = {
54
- Resource: 'Resource',
55
- User: 'User',
56
- NestedResource: 'NestedResource',
57
- NextLevelNestedResource: 'NextLevelNestedResource',
58
- Tag: 'Tag',
59
- Category: 'Category',
60
- SubCategory: 'SubCategory',
61
- Label: 'Label'
54
+ AdversarialResource: 'AdversarialResource',
55
+ AdversarialTag: 'AdversarialTag',
56
+ AdversarialCategory: 'AdversarialCategory',
57
+ AdversarialSubCategory: 'AdversarialSubCategory',
58
+ AdversarialLabel: 'AdversarialLabel',
59
+ AdversarialParent: 'AdversarialParent',
60
+ AdversarialInner: 'AdversarialInner',
61
+ AdversarialNumberListElement: 'AdversarialNumberListElement',
62
+ AdversarialBoolListElement: 'AdversarialBoolListElement'
62
63
  } as const
63
64
 
64
65
  export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -68,88 +69,108 @@ export type ModelName = (typeof ModelName)[keyof typeof ModelName]
68
69
  */
69
70
 
70
71
  export const TransactionIsolationLevel = runtime.makeStrictEnum({
72
+ ReadUncommitted: 'ReadUncommitted',
73
+ ReadCommitted: 'ReadCommitted',
74
+ RepeatableRead: 'RepeatableRead',
71
75
  Serializable: 'Serializable'
72
76
  } as const)
73
77
 
74
78
  export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]
75
79
 
76
80
 
77
- export const ResourceScalarFieldEnum = {
81
+ export const AdversarialResourceScalarFieldEnum = {
78
82
  id: 'id',
83
+ aBool: 'aBool',
79
84
  aString: 'aString',
80
85
  aNumber: 'aNumber',
81
- aBool: 'aBool',
82
- creatorId: 'creatorId',
83
- nestedResourceId: 'nestedResourceId',
86
+ aDouble: 'aDouble',
84
87
  aOptionalString: 'aOptionalString',
85
- aOptionalBool: 'aOptionalBool'
88
+ createdBy: 'createdBy',
89
+ scope: 'scope',
90
+ createdAt: 'createdAt',
91
+ updatedAt: 'updatedAt'
86
92
  } as const
87
93
 
88
- export type ResourceScalarFieldEnum = (typeof ResourceScalarFieldEnum)[keyof typeof ResourceScalarFieldEnum]
94
+ export type AdversarialResourceScalarFieldEnum = (typeof AdversarialResourceScalarFieldEnum)[keyof typeof AdversarialResourceScalarFieldEnum]
89
95
 
90
96
 
91
- export const UserScalarFieldEnum = {
97
+ export const AdversarialTagScalarFieldEnum = {
92
98
  id: 'id',
93
- aString: 'aString',
94
- aNumber: 'aNumber',
95
- aBool: 'aBool'
99
+ tagId: 'tagId',
100
+ name: 'name',
101
+ resourceId: 'resourceId'
96
102
  } as const
97
103
 
98
- export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]
104
+ export type AdversarialTagScalarFieldEnum = (typeof AdversarialTagScalarFieldEnum)[keyof typeof AdversarialTagScalarFieldEnum]
99
105
 
100
106
 
101
- export const NestedResourceScalarFieldEnum = {
107
+ export const AdversarialCategoryScalarFieldEnum = {
102
108
  id: 'id',
103
- aString: 'aString',
104
- aNumber: 'aNumber',
105
- aBool: 'aBool',
106
- aOptionalString: 'aOptionalString',
107
- nextLevelNestedResourceId: 'nextLevelNestedResourceId'
109
+ name: 'name',
110
+ resourceId: 'resourceId'
108
111
  } as const
109
112
 
110
- export type NestedResourceScalarFieldEnum = (typeof NestedResourceScalarFieldEnum)[keyof typeof NestedResourceScalarFieldEnum]
113
+ export type AdversarialCategoryScalarFieldEnum = (typeof AdversarialCategoryScalarFieldEnum)[keyof typeof AdversarialCategoryScalarFieldEnum]
111
114
 
112
115
 
113
- export const NextLevelNestedResourceScalarFieldEnum = {
116
+ export const AdversarialSubCategoryScalarFieldEnum = {
114
117
  id: 'id',
115
- aString: 'aString',
116
- aNumber: 'aNumber',
117
- aBool: 'aBool'
118
+ name: 'name',
119
+ categoryId: 'categoryId'
118
120
  } as const
119
121
 
120
- export type NextLevelNestedResourceScalarFieldEnum = (typeof NextLevelNestedResourceScalarFieldEnum)[keyof typeof NextLevelNestedResourceScalarFieldEnum]
122
+ export type AdversarialSubCategoryScalarFieldEnum = (typeof AdversarialSubCategoryScalarFieldEnum)[keyof typeof AdversarialSubCategoryScalarFieldEnum]
121
123
 
122
124
 
123
- export const TagScalarFieldEnum = {
125
+ export const AdversarialLabelScalarFieldEnum = {
124
126
  id: 'id',
125
- name: 'name'
127
+ name: 'name',
128
+ subCategoryId: 'subCategoryId'
126
129
  } as const
127
130
 
128
- export type TagScalarFieldEnum = (typeof TagScalarFieldEnum)[keyof typeof TagScalarFieldEnum]
131
+ export type AdversarialLabelScalarFieldEnum = (typeof AdversarialLabelScalarFieldEnum)[keyof typeof AdversarialLabelScalarFieldEnum]
129
132
 
130
133
 
131
- export const CategoryScalarFieldEnum = {
134
+ export const AdversarialParentScalarFieldEnum = {
132
135
  id: 'id',
133
- name: 'name'
136
+ aBool: 'aBool',
137
+ aString: 'aString',
138
+ aNumber: 'aNumber',
139
+ aOptionalString: 'aOptionalString',
140
+ resourceId: 'resourceId'
134
141
  } as const
135
142
 
136
- export type CategoryScalarFieldEnum = (typeof CategoryScalarFieldEnum)[keyof typeof CategoryScalarFieldEnum]
143
+ export type AdversarialParentScalarFieldEnum = (typeof AdversarialParentScalarFieldEnum)[keyof typeof AdversarialParentScalarFieldEnum]
137
144
 
138
145
 
139
- export const SubCategoryScalarFieldEnum = {
146
+ export const AdversarialInnerScalarFieldEnum = {
140
147
  id: 'id',
141
- name: 'name'
148
+ aBool: 'aBool',
149
+ aString: 'aString',
150
+ aNumber: 'aNumber',
151
+ aOptionalString: 'aOptionalString',
152
+ parentId: 'parentId'
142
153
  } as const
143
154
 
144
- export type SubCategoryScalarFieldEnum = (typeof SubCategoryScalarFieldEnum)[keyof typeof SubCategoryScalarFieldEnum]
155
+ export type AdversarialInnerScalarFieldEnum = (typeof AdversarialInnerScalarFieldEnum)[keyof typeof AdversarialInnerScalarFieldEnum]
145
156
 
146
157
 
147
- export const LabelScalarFieldEnum = {
158
+ export const AdversarialNumberListElementScalarFieldEnum = {
148
159
  id: 'id',
149
- name: 'name'
160
+ value: 'value',
161
+ resourceId: 'resourceId'
150
162
  } as const
151
163
 
152
- export type LabelScalarFieldEnum = (typeof LabelScalarFieldEnum)[keyof typeof LabelScalarFieldEnum]
164
+ export type AdversarialNumberListElementScalarFieldEnum = (typeof AdversarialNumberListElementScalarFieldEnum)[keyof typeof AdversarialNumberListElementScalarFieldEnum]
165
+
166
+
167
+ export const AdversarialBoolListElementScalarFieldEnum = {
168
+ id: 'id',
169
+ value: 'value',
170
+ resourceId: 'resourceId'
171
+ } as const
172
+
173
+ export type AdversarialBoolListElementScalarFieldEnum = (typeof AdversarialBoolListElementScalarFieldEnum)[keyof typeof AdversarialBoolListElementScalarFieldEnum]
153
174
 
154
175
 
155
176
  export const SortOrder = {
@@ -160,6 +181,14 @@ export const SortOrder = {
160
181
  export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]
161
182
 
162
183
 
184
+ export const QueryMode = {
185
+ default: 'default',
186
+ insensitive: 'insensitive'
187
+ } as const
188
+
189
+ export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
190
+
191
+
163
192
  export const NullsOrder = {
164
193
  first: 'first',
165
194
  last: 'last'