@contember/schema 2.1.0-alpha.3 → 2.1.0-alpha.35

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 (91) hide show
  1. package/package.json +7 -2
  2. package/src/index.ts +1 -1
  3. package/src/schema/acl.ts +10 -12
  4. package/src/schema/actions.ts +2 -2
  5. package/src/schema/actionsPayload.ts +14 -1
  6. package/src/schema/input.ts +20 -18
  7. package/src/schema/model.ts +93 -10
  8. package/src/schema/validation.ts +2 -2
  9. package/dist/development/index.cjs +0 -30
  10. package/dist/development/index.cjs.map +0 -1
  11. package/dist/development/index.js +0 -15
  12. package/dist/development/index.js.map +0 -1
  13. package/dist/development/src/ProjectRole.cjs +0 -10
  14. package/dist/development/src/ProjectRole.cjs.map +0 -1
  15. package/dist/development/src/ProjectRole.js +0 -10
  16. package/dist/development/src/ProjectRole.js.map +0 -1
  17. package/dist/development/src/schema/acl.cjs +0 -22
  18. package/dist/development/src/schema/acl.cjs.map +0 -1
  19. package/dist/development/src/schema/acl.js +0 -23
  20. package/dist/development/src/schema/acl.js.map +0 -1
  21. package/dist/development/src/schema/input.cjs +0 -31
  22. package/dist/development/src/schema/input.cjs.map +0 -1
  23. package/dist/development/src/schema/input.js +0 -32
  24. package/dist/development/src/schema/input.js.map +0 -1
  25. package/dist/development/src/schema/model.cjs +0 -31
  26. package/dist/development/src/schema/model.cjs.map +0 -1
  27. package/dist/development/src/schema/model.js +0 -32
  28. package/dist/development/src/schema/model.js.map +0 -1
  29. package/dist/development/src/schema/result.cjs +0 -15
  30. package/dist/development/src/schema/result.cjs.map +0 -1
  31. package/dist/development/src/schema/result.js +0 -16
  32. package/dist/development/src/schema/result.js.map +0 -1
  33. package/dist/development/src/schema/validation.cjs +0 -11
  34. package/dist/development/src/schema/validation.cjs.map +0 -1
  35. package/dist/development/src/schema/validation.js +0 -12
  36. package/dist/development/src/schema/validation.js.map +0 -1
  37. package/dist/production/index.cjs +0 -30
  38. package/dist/production/index.cjs.map +0 -1
  39. package/dist/production/index.js +0 -15
  40. package/dist/production/index.js.map +0 -1
  41. package/dist/production/src/ProjectRole.cjs +0 -10
  42. package/dist/production/src/ProjectRole.cjs.map +0 -1
  43. package/dist/production/src/ProjectRole.js +0 -10
  44. package/dist/production/src/ProjectRole.js.map +0 -1
  45. package/dist/production/src/schema/acl.cjs +0 -22
  46. package/dist/production/src/schema/acl.cjs.map +0 -1
  47. package/dist/production/src/schema/acl.js +0 -23
  48. package/dist/production/src/schema/acl.js.map +0 -1
  49. package/dist/production/src/schema/input.cjs +0 -31
  50. package/dist/production/src/schema/input.cjs.map +0 -1
  51. package/dist/production/src/schema/input.js +0 -32
  52. package/dist/production/src/schema/input.js.map +0 -1
  53. package/dist/production/src/schema/model.cjs +0 -31
  54. package/dist/production/src/schema/model.cjs.map +0 -1
  55. package/dist/production/src/schema/model.js +0 -32
  56. package/dist/production/src/schema/model.js.map +0 -1
  57. package/dist/production/src/schema/result.cjs +0 -15
  58. package/dist/production/src/schema/result.cjs.map +0 -1
  59. package/dist/production/src/schema/result.js +0 -16
  60. package/dist/production/src/schema/result.js.map +0 -1
  61. package/dist/production/src/schema/validation.cjs +0 -11
  62. package/dist/production/src/schema/validation.cjs.map +0 -1
  63. package/dist/production/src/schema/validation.js +0 -12
  64. package/dist/production/src/schema/validation.js.map +0 -1
  65. package/dist/types/ProjectRole.d.ts +0 -6
  66. package/dist/types/ProjectRole.d.ts.map +0 -1
  67. package/dist/types/index.d.ts +0 -14
  68. package/dist/types/index.d.ts.map +0 -1
  69. package/dist/types/schema/acl.d.ts +0 -132
  70. package/dist/types/schema/acl.d.ts.map +0 -1
  71. package/dist/types/schema/actions.d.ts +0 -48
  72. package/dist/types/schema/actions.d.ts.map +0 -1
  73. package/dist/types/schema/actionsPayload.d.ts +0 -82
  74. package/dist/types/schema/actionsPayload.d.ts.map +0 -1
  75. package/dist/types/schema/index.d.ts +0 -11
  76. package/dist/types/schema/index.d.ts.map +0 -1
  77. package/dist/types/schema/input.d.ts +0 -178
  78. package/dist/types/schema/input.d.ts.map +0 -1
  79. package/dist/types/schema/json.d.ts +0 -7
  80. package/dist/types/schema/json.d.ts.map +0 -1
  81. package/dist/types/schema/model.d.ts +0 -234
  82. package/dist/types/schema/model.d.ts.map +0 -1
  83. package/dist/types/schema/result.d.ts +0 -71
  84. package/dist/types/schema/result.d.ts.map +0 -1
  85. package/dist/types/schema/settings.d.ts +0 -20
  86. package/dist/types/schema/settings.d.ts.map +0 -1
  87. package/dist/types/schema/validation.d.ts +0 -59
  88. package/dist/types/schema/validation.d.ts.map +0 -1
  89. package/dist/types/schema/value.d.ts +0 -10
  90. package/dist/types/schema/value.d.ts.map +0 -1
  91. package/dist/types/tsconfig.tsbuildinfo +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contember/schema",
3
- "version": "2.1.0-alpha.3",
3
+ "version": "2.1.0-alpha.35",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/production/index.js",
6
6
  "typings": "./dist/types/index.d.ts",
@@ -25,5 +25,10 @@
25
25
  "scripts": {
26
26
  "test": "echo 'No tests'"
27
27
  },
28
- "type": "module"
28
+ "type": "module",
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/contember/contember.git",
32
+ "directory": "packages/schema"
33
+ }
29
34
  }
package/src/index.ts CHANGED
@@ -10,6 +10,6 @@ export type Schema = {
10
10
  readonly settings: Settings.Schema
11
11
  }
12
12
 
13
- export type Writable<V> = {-readonly [K in keyof V]: V[K]}
13
+ export type Writable<V> = { -readonly [K in keyof V]: V[K] }
14
14
 
15
15
  export * from './schema'
package/src/schema/acl.ts CHANGED
@@ -6,7 +6,6 @@ export namespace Acl {
6
6
  entity = 'entity',
7
7
  predefined = 'predefined',
8
8
  condition = 'condition',
9
-
10
9
  // currently unsupported
11
10
  // enum = 'enum',
12
11
  // column = 'column',
@@ -16,9 +15,7 @@ export namespace Acl {
16
15
  | EntityVariable
17
16
  | PredefinedVariable
18
17
  | ConditionVariable
19
- // | EnumVariable | ColumnValueVariable
20
-
21
-
18
+ // | EnumVariable | ColumnValueVariable
22
19
 
23
20
  export type EntityVariable = {
24
21
  readonly type: VariableType.entity
@@ -32,7 +29,6 @@ export namespace Acl {
32
29
  readonly value: PredefinedVariableValue
33
30
  }
34
31
 
35
-
36
32
  export type ConditionVariable = {
37
33
  readonly type: VariableType.condition
38
34
  readonly fallback?: Input.Condition
@@ -49,7 +45,7 @@ export namespace Acl {
49
45
  // fieldName: string
50
46
  // }
51
47
 
52
- export type PredicateVariable = string //{ name: string }
48
+ export type PredicateVariable = string // { name: string }
53
49
  export type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>
54
50
 
55
51
  export type PredicateMap = { readonly [name: string]: PredicateDefinition }
@@ -99,13 +95,15 @@ export namespace Acl {
99
95
  readonly variables?: MembershipVariablesMatchRule
100
96
  }
101
97
 
102
- export type MembershipMatchRule = {
103
- readonly [role: string]: MembershipRoleMatchRule
104
- }
98
+ export type MembershipMatchRule =
99
+ | boolean
100
+ | {
101
+ readonly [role: string]: MembershipRoleMatchRule
102
+ }
105
103
 
106
104
  export type TenantPermissions = {
107
- readonly invite?: boolean | MembershipMatchRule
108
- readonly unmanagedInvite?: boolean | MembershipMatchRule
105
+ readonly invite?: MembershipMatchRule
106
+ readonly unmanagedInvite?: MembershipMatchRule
109
107
  readonly view?: MembershipMatchRule
110
108
  readonly manage?: MembershipMatchRule
111
109
  }
@@ -151,7 +149,7 @@ export namespace Acl {
151
149
  export type RolePermissions =
152
150
  & BaseRolePermissions
153
151
  & {
154
- readonly [key: string] : JSONValue
152
+ readonly [key: string]: JSONValue
155
153
  }
156
154
  export type Permissions = {
157
155
  readonly [entity: string]: EntityPermissions
@@ -4,8 +4,7 @@ export namespace Actions {
4
4
  export type SelectionNodeSub = readonly [name: string, args: JSONObject, fields: SelectionNode]
5
5
  export type SelectionNode = readonly (string | SelectionNodeSub)[]
6
6
 
7
- export type AnyTarget =
8
- | WebhookTarget
7
+ export type AnyTarget = WebhookTarget
9
8
 
10
9
  export type WebhookTarget = {
11
10
  readonly type: 'webhook'
@@ -49,6 +48,7 @@ export namespace Actions {
49
48
  readonly type: 'watch'
50
49
  readonly entity: string
51
50
  readonly watch: SelectionNode
51
+ readonly withNodes?: boolean
52
52
  }
53
53
 
54
54
  export type Schema = {
@@ -2,6 +2,12 @@ import { Input } from './input'
2
2
  import { JSONObject } from './json'
3
3
 
4
4
  export namespace ActionsPayload {
5
+ export type EntityEventPathNode = {
6
+ readonly relation: string
7
+ readonly entity: string
8
+ readonly id: Input.PrimaryValue
9
+ }
10
+
5
11
  export type UpdateEvent = {
6
12
  readonly operation: 'update'
7
13
  readonly entity: string
@@ -10,6 +16,7 @@ export namespace ActionsPayload {
10
16
  readonly old?: JSONObject
11
17
  readonly selection?: JSONObject
12
18
  readonly path?: readonly string[]
19
+ readonly nodes?: readonly EntityEventPathNode[]
13
20
  }
14
21
 
15
22
  export type CreateEvent = {
@@ -19,6 +26,7 @@ export namespace ActionsPayload {
19
26
  readonly values: JSONObject
20
27
  readonly selection?: JSONObject
21
28
  readonly path?: readonly string[]
29
+ readonly nodes?: readonly EntityEventPathNode[]
22
30
  }
23
31
 
24
32
  export type DeleteEvent = {
@@ -27,6 +35,7 @@ export namespace ActionsPayload {
27
35
  readonly id: Input.PrimaryValue
28
36
  readonly selection?: JSONObject
29
37
  readonly path?: readonly string[]
38
+ readonly nodes?: readonly EntityEventPathNode[]
30
39
  }
31
40
 
32
41
  export type JunctionConnectEvent = {
@@ -37,6 +46,7 @@ export namespace ActionsPayload {
37
46
  readonly inverseId: Input.PrimaryValue
38
47
  readonly selection?: JSONObject
39
48
  readonly path?: readonly string[]
49
+ readonly nodes?: readonly EntityEventPathNode[]
40
50
  }
41
51
 
42
52
  export type JunctionDisconnectEvent = {
@@ -47,6 +57,7 @@ export namespace ActionsPayload {
47
57
  readonly inverseId: Input.PrimaryValue
48
58
  readonly selection?: JSONObject
49
59
  readonly path?: readonly string[]
60
+ readonly nodes?: readonly EntityEventPathNode[]
50
61
  }
51
62
 
52
63
  export type WatchEventPayload = {
@@ -75,10 +86,12 @@ export namespace ActionsPayload {
75
86
  | BasicEventPayload
76
87
  | WatchEventPayload
77
88
 
78
-
79
89
  export type WebhookMeta = {
80
90
  readonly eventId: string
81
91
  readonly transactionId: string
92
+ readonly identityId: string | null
93
+ readonly ipAddress: string | null
94
+ readonly userAgent: string | null
82
95
  readonly createdAt: string
83
96
  readonly lastStateChange: string
84
97
  readonly numRetries: number
@@ -73,11 +73,13 @@ export namespace Input {
73
73
  [column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>
74
74
  }
75
75
 
76
- export type CreateOneRelationInput<E = never> = { alias?: string } & (
77
- | ConnectRelationInput<E>
78
- | CreateRelationInput<E>
79
- | ConnectOrCreateRelationInput<E>
80
- )
76
+ export type CreateOneRelationInput<E = never> =
77
+ & { alias?: string }
78
+ & (
79
+ | ConnectRelationInput<E>
80
+ | CreateRelationInput<E>
81
+ | ConnectOrCreateRelationInput<E>
82
+ )
81
83
 
82
84
  export type CreateManyRelationInput<E = never> = Array<CreateOneRelationInput<E>>
83
85
 
@@ -138,15 +140,17 @@ export namespace Input {
138
140
  | UpdateRelationInput<E>
139
141
  | UpsertRelationInput<E>
140
142
 
141
- export type UpdateManyRelationInputItem<E = never> = { alias?: string } & (
142
- | CreateRelationInput<E>
143
- | ConnectRelationInput<E>
144
- | ConnectOrCreateRelationInput<E>
145
- | DeleteSpecifiedRelationInput<E>
146
- | DisconnectSpecifiedRelationInput<E>
147
- | UpdateSpecifiedRelationInput<E>
148
- | UpsertSpecifiedRelationInput<E>
149
- )
143
+ export type UpdateManyRelationInputItem<E = never> =
144
+ & { alias?: string }
145
+ & (
146
+ | CreateRelationInput<E>
147
+ | ConnectRelationInput<E>
148
+ | ConnectOrCreateRelationInput<E>
149
+ | DeleteSpecifiedRelationInput<E>
150
+ | DisconnectSpecifiedRelationInput<E>
151
+ | UpdateSpecifiedRelationInput<E>
152
+ | UpsertSpecifiedRelationInput<E>
153
+ )
150
154
 
151
155
  export type UpdateManyRelationInput<E = never> = Array<UpdateManyRelationInputItem<E>>
152
156
 
@@ -156,10 +160,8 @@ export namespace Input {
156
160
  desc = 'desc',
157
161
  descNullsLast = 'descNullsLast',
158
162
 
159
- /* eslint-disable @typescript-eslint/no-duplicate-enum-values */
160
163
  /** @deprecated use ascNullsFirst*/
161
164
  ascNullFirst = 'ascNullsFirst',
162
- /* eslint-enable @typescript-eslint/no-duplicate-enum-values */
163
165
  }
164
166
 
165
167
  // generics required by admin
@@ -193,7 +195,7 @@ export namespace Input {
193
195
  // array
194
196
  readonly minLength?: number
195
197
  readonly maxLength?: number
196
- readonly includes?: T
198
+ readonly includes?: T extends (infer U)[] ? U : never
197
199
 
198
200
  // string only
199
201
  readonly contains?: string
@@ -222,7 +224,7 @@ export namespace Input {
222
224
  }
223
225
 
224
226
  export interface FieldWhere<C = Condition, Opt = never> {
225
- readonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] //last one if for ComposedWhere
227
+ readonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] // last one if for ComposedWhere
226
228
  }
227
229
 
228
230
  export type Where<C = Condition, Opt = never> = ComposedWhere<C, Opt> & FieldWhere<C, Opt>
@@ -2,13 +2,12 @@ import { Input } from './input'
2
2
  import { JSONValue } from './json'
3
3
 
4
4
  export namespace Model {
5
-
6
- export type Entity = {
5
+ export type Entity<Fields extends string = string> = {
7
6
  readonly name: string
8
7
  readonly primary: string
9
8
  readonly primaryColumn: string
10
9
  readonly tableName: string
11
- readonly fields: { readonly [name: string]: AnyField }
10
+ readonly fields: { readonly [name in Fields]: AnyField }
12
11
  readonly unique: Uniques
13
12
  readonly indexes: Indexes
14
13
  readonly view?: View
@@ -53,7 +52,7 @@ export namespace Model {
53
52
  readonly columnName: string
54
53
  }
55
54
 
56
- export type ColumnTypeDefinition<T extends ColumnType = ColumnType> =
55
+ export type ColumnTypeDefinition<T extends ColumnType = ColumnType> =
57
56
  & Field<T>
58
57
  & {
59
58
  readonly columnType: string
@@ -70,13 +69,95 @@ export namespace Model {
70
69
 
71
70
  export type Collation =
72
71
  // generic
73
- | 'und-x-icu' | 'C' | 'ucs_basic' | 'unicode' | 'POSIX' | 'default'
72
+ | 'und-x-icu'
73
+ | 'C'
74
+ | 'ucs_basic'
75
+ | 'unicode'
76
+ | 'POSIX'
77
+ | 'default'
74
78
  // some languages
75
- | 'cs-x-icu' | 'sk-x-icu' | 'da-x-icu' | 'de-x-icu' | 'en-x-icu' | 'es-x-icu' | 'fr-x-icu' | 'it-x-icu' | 'ja-x-icu' | 'ko-x-icu' | 'nl-x-icu' | 'pl-x-icu' | 'pt-x-icu' | 'ru-x-icu' | 'sv-x-icu' | 'tr-x-icu' | 'zh-x-icu' | 'hu-x-icu' | 'fi-x-icu' | 'el-x-icu' | 'bg-x-icu' | 'hr-x-icu' | 'ro-x-icu' | 'sl-x-icu' | 'sr-x-icu' | 'uk-x-icu' | 'vi-x-icu' | 'th-x-icu' | 'ar-x-icu' | 'he-x-icu' | 'hi-x-icu' | 'id-x-icu' | 'ms-x-icu' | 'fil-x-icu' | 'sw-x-icu' | 'ta-x-icu' | 'te-x-icu' | 'ml-x-icu' | 'bn-x-icu' | 'gu-x-icu' | 'kn-x-icu' | 'mr-x-icu' | 'pa-x-icu' | 'ur-x-icu' | 'or-x-icu' | 'si-x-icu' | 'th-x-icu' | 'lo-x-icu' | 'my-x-icu' | 'ka-x-icu' | 'am-x-icu' | 'ti-x-icu' | 'ne-x-icu' | 'dz-x-icu' | 'kok-x-icu' | 'syr-x-icu' | 'sd-x-icu' | 'bo-x-icu' | 'km-x-icu' | 'mn-x-icu' | 'lo-x-icu' | 'gl-x-icu' | 'eu-x-icu' | 'ca-x-icu' | 'af-x-icu' | 'is-x-icu' | 'mk-x-icu' | 'sq-x-icu' | 'hy-x-icu' | 'mt-x-icu' | 'cy-x-icu' | 'et-x-icu' | 'lv-x-icu' | 'lt-x-icu' | 'tg-x-icu' | 'fa-x-icu' | 'ps-x-icu' | 'ks-x-icu' | 'sd-x'
79
+ | 'cs-x-icu'
80
+ | 'sk-x-icu'
81
+ | 'da-x-icu'
82
+ | 'de-x-icu'
83
+ | 'en-x-icu'
84
+ | 'es-x-icu'
85
+ | 'fr-x-icu'
86
+ | 'it-x-icu'
87
+ | 'ja-x-icu'
88
+ | 'ko-x-icu'
89
+ | 'nl-x-icu'
90
+ | 'pl-x-icu'
91
+ | 'pt-x-icu'
92
+ | 'ru-x-icu'
93
+ | 'sv-x-icu'
94
+ | 'tr-x-icu'
95
+ | 'zh-x-icu'
96
+ | 'hu-x-icu'
97
+ | 'fi-x-icu'
98
+ | 'el-x-icu'
99
+ | 'bg-x-icu'
100
+ | 'hr-x-icu'
101
+ | 'ro-x-icu'
102
+ | 'sl-x-icu'
103
+ | 'sr-x-icu'
104
+ | 'uk-x-icu'
105
+ | 'vi-x-icu'
106
+ | 'th-x-icu'
107
+ | 'ar-x-icu'
108
+ | 'he-x-icu'
109
+ | 'hi-x-icu'
110
+ | 'id-x-icu'
111
+ | 'ms-x-icu'
112
+ | 'fil-x-icu'
113
+ | 'sw-x-icu'
114
+ | 'ta-x-icu'
115
+ | 'te-x-icu'
116
+ | 'ml-x-icu'
117
+ | 'bn-x-icu'
118
+ | 'gu-x-icu'
119
+ | 'kn-x-icu'
120
+ | 'mr-x-icu'
121
+ | 'pa-x-icu'
122
+ | 'ur-x-icu'
123
+ | 'or-x-icu'
124
+ | 'si-x-icu'
125
+ | 'th-x-icu'
126
+ | 'lo-x-icu'
127
+ | 'my-x-icu'
128
+ | 'ka-x-icu'
129
+ | 'am-x-icu'
130
+ | 'ti-x-icu'
131
+ | 'ne-x-icu'
132
+ | 'dz-x-icu'
133
+ | 'kok-x-icu'
134
+ | 'syr-x-icu'
135
+ | 'sd-x-icu'
136
+ | 'bo-x-icu'
137
+ | 'km-x-icu'
138
+ | 'mn-x-icu'
139
+ | 'lo-x-icu'
140
+ | 'gl-x-icu'
141
+ | 'eu-x-icu'
142
+ | 'ca-x-icu'
143
+ | 'af-x-icu'
144
+ | 'is-x-icu'
145
+ | 'mk-x-icu'
146
+ | 'sq-x-icu'
147
+ | 'hy-x-icu'
148
+ | 'mt-x-icu'
149
+ | 'cy-x-icu'
150
+ | 'et-x-icu'
151
+ | 'lv-x-icu'
152
+ | 'lt-x-icu'
153
+ | 'tg-x-icu'
154
+ | 'fa-x-icu'
155
+ | 'ps-x-icu'
156
+ | 'ks-x-icu'
157
+ | 'sd-x'
76
158
  // fallback
77
159
  | string & {}
78
160
 
79
-
80
161
  export enum RelationType {
81
162
  OneHasOne = 'OneHasOne',
82
163
  OneHasMany = 'OneHasMany',
@@ -99,7 +180,7 @@ export namespace Model {
99
180
 
100
181
  export type AnyRelation = AnyInverseRelation | AnyOwningRelation
101
182
 
102
- export type Relation<T extends RelationType = RelationType>=
183
+ export type Relation<T extends RelationType = RelationType> =
103
184
  & Field<T>
104
185
  & {
105
186
  readonly name: string
@@ -230,16 +311,19 @@ export namespace Model {
230
311
  readonly fields: readonly string[]
231
312
  readonly index: true
232
313
  readonly nulls?: NullsDistinctBehaviour // empty means distinct
314
+ readonly method?: IndexMethod
233
315
  }
234
316
 
235
317
  export type Indexes = readonly Index[]
236
318
 
319
+ export type IndexMethod = 'btree' | 'gin' | 'gist' | 'hash' | 'brin' | 'spgist'
320
+
237
321
  export type Index = {
238
322
  readonly fields: readonly string[]
239
323
  readonly name?: string
324
+ readonly method?: IndexMethod
240
325
  }
241
326
 
242
-
243
327
  export interface ColumnContext {
244
328
  entity: Model.Entity
245
329
  column: Model.AnyColumn
@@ -311,7 +395,6 @@ export namespace Model {
311
395
  targetRelation: Model.OneHasOneInverseRelation | null
312
396
  }
313
397
 
314
-
315
398
  export interface ColumnVisitor<T> {
316
399
  visitColumn(context: ColumnContext): T
317
400
  }
@@ -31,8 +31,8 @@ export namespace Validation {
31
31
  readonly range: readonly [LiteralArgument<number | null>, LiteralArgument<number | null>]
32
32
  readonly equals: readonly [LiteralArgument<JSONValue>]
33
33
  readonly not: readonly [ValidatorArgument]
34
- readonly empty: readonly[]
35
- readonly defined: readonly[]
34
+ readonly empty: readonly []
35
+ readonly defined: readonly []
36
36
  readonly inContext: readonly [PathArgument, ValidatorArgument]
37
37
  readonly every: readonly [ValidatorArgument]
38
38
  readonly any: readonly [ValidatorArgument]
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const ProjectRole = require("./src/ProjectRole.cjs");
4
- const acl = require("./src/schema/acl.cjs");
5
- const input = require("./src/schema/input.cjs");
6
- const model = require("./src/schema/model.cjs");
7
- const result = require("./src/schema/result.cjs");
8
- const validation = require("./src/schema/validation.cjs");
9
- exports.ProjectRole = ProjectRole.ProjectRole;
10
- Object.defineProperty(exports, "Acl", {
11
- enumerable: true,
12
- get: () => acl.Acl
13
- });
14
- Object.defineProperty(exports, "Input", {
15
- enumerable: true,
16
- get: () => input.Input
17
- });
18
- Object.defineProperty(exports, "Model", {
19
- enumerable: true,
20
- get: () => model.Model
21
- });
22
- Object.defineProperty(exports, "Result", {
23
- enumerable: true,
24
- get: () => result.Result
25
- });
26
- Object.defineProperty(exports, "Validation", {
27
- enumerable: true,
28
- get: () => validation.Validation
29
- });
30
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,15 +0,0 @@
1
- import { ProjectRole } from "./src/ProjectRole.js";
2
- import { Acl } from "./src/schema/acl.js";
3
- import { Input } from "./src/schema/input.js";
4
- import { Model } from "./src/schema/model.js";
5
- import { Result } from "./src/schema/result.js";
6
- import { Validation } from "./src/schema/validation.js";
7
- export {
8
- Acl,
9
- Input,
10
- Model,
11
- ProjectRole,
12
- Result,
13
- Validation
14
- };
15
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- var ProjectRole = /* @__PURE__ */ ((ProjectRole2) => {
4
- ProjectRole2["ADMIN"] = "admin";
5
- ProjectRole2["CONTENT_ADMIN"] = "content_admin";
6
- ProjectRole2["DEPLOYER"] = "deployer";
7
- return ProjectRole2;
8
- })(ProjectRole || {});
9
- exports.ProjectRole = ProjectRole;
10
- //# sourceMappingURL=ProjectRole.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectRole.cjs","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":";;AAAY,IAAA,gCAAAA,iBAAL;AACNA,eAAA,OAAQ,IAAA;AACRA,eAAA,eAAgB,IAAA;AAChBA,eAAA,UAAW,IAAA;AAHAA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;;"}
@@ -1,10 +0,0 @@
1
- var ProjectRole = /* @__PURE__ */ ((ProjectRole2) => {
2
- ProjectRole2["ADMIN"] = "admin";
3
- ProjectRole2["CONTENT_ADMIN"] = "content_admin";
4
- ProjectRole2["DEPLOYER"] = "deployer";
5
- return ProjectRole2;
6
- })(ProjectRole || {});
7
- export {
8
- ProjectRole
9
- };
10
- //# sourceMappingURL=ProjectRole.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectRole.js","sources":["../../../../packages/schema/src/ProjectRole.ts"],"sourcesContent":["export enum ProjectRole {\n\tADMIN = 'admin',\n\tCONTENT_ADMIN = 'content_admin',\n\tDEPLOYER = 'deployer',\n}\n"],"names":["ProjectRole"],"mappings":"AAAY,IAAA,gCAAAA,iBAAL;AACNA,eAAA,OAAQ,IAAA;AACRA,eAAA,eAAgB,IAAA;AAChBA,eAAA,UAAW,IAAA;AAHAA,SAAAA;AAAA,GAAA,eAAA,CAAA,CAAA;"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- exports.Acl = void 0;
4
- ((Acl2) => {
5
- ((VariableType2) => {
6
- VariableType2["entity"] = "entity";
7
- VariableType2["predefined"] = "predefined";
8
- VariableType2["condition"] = "condition";
9
- })(Acl2.VariableType || (Acl2.VariableType = {}));
10
- ((Operation2) => {
11
- Operation2["read"] = "read";
12
- Operation2["create"] = "create";
13
- Operation2["update"] = "update";
14
- Operation2["delete"] = "delete";
15
- })(Acl2.Operation || (Acl2.Operation = {}));
16
- ((SystemPermissionsLevel2) => {
17
- SystemPermissionsLevel2["none"] = "none";
18
- SystemPermissionsLevel2["any"] = "any";
19
- SystemPermissionsLevel2["some"] = "some";
20
- })(Acl2.SystemPermissionsLevel || (Acl2.SystemPermissionsLevel = {}));
21
- })(exports.Acl || (exports.Acl = {}));
22
- //# sourceMappingURL=acl.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acl.cjs","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\n\t\t// currently unsupported\n\t\t// enum = 'enum',\n\t\t// column = 'column',\n\t}\n\n\texport type Variable =\n\t\t| EntityVariable\n\t\t| PredefinedVariable\n\t\t| ConditionVariable\n\t\t// | EnumVariable | ColumnValueVariable\n\n\n\n\texport type EntityVariable = {\n\t\treadonly type: VariableType.entity\n\t\treadonly entityName: string\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\texport type PredefinedVariableValue = 'identityID' | 'personID'\n\texport type PredefinedVariable = {\n\t\treadonly type: VariableType.predefined\n\t\treadonly value: PredefinedVariableValue\n\t}\n\n\n\texport type ConditionVariable = {\n\t\treadonly type: VariableType.condition\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\t// export interface EnumVariable {\n\t// \ttype: VariableType.enum\n\t// \tenumName: string\n\t// }\n\n\t// export interface ColumnValueVariable {\n\t// \ttype: VariableType.column\n\t// \tentityName: string\n\t// \tfieldName: string\n\t// }\n\n\texport type PredicateVariable = string //{ name: string }\n\texport type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>\n\n\texport type PredicateMap = { readonly [name: string]: PredicateDefinition }\n\n\texport type EntityPermissions = {\n\t\treadonly predicates: PredicateMap\n\t\treadonly operations: EntityOperations\n\t}\n\n\texport enum Operation {\n\t\tread = 'read',\n\t\tcreate = 'create',\n\t\tupdate = 'update',\n\t\tdelete = 'delete',\n\t}\n\n\texport type EntityOperations = {\n\t\treadonly read?: FieldPermissions\n\t\treadonly create?: FieldPermissions\n\t\treadonly update?: FieldPermissions\n\t\treadonly delete?: Predicate\n\t\treadonly noRoot?: readonly `${Operation}`[]\n\n\t\treadonly customPrimary?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport type FieldPermissions = { readonly [field: string]: Predicate }\n\n\texport type PredicateReference = string\n\texport type Predicate = PredicateReference | boolean\n\n\texport type AnyStage = '*'\n\texport type StagesDefinition = AnyStage | readonly string[]\n\n\texport type MembershipVariableMatchRule = true | string\n\n\texport type MembershipVariablesMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly [targetVariable: string]: MembershipVariableMatchRule\n\t\t}\n\n\texport type MembershipRoleMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly variables?: MembershipVariablesMatchRule\n\t\t}\n\n\texport type MembershipMatchRule = {\n\t\treadonly [role: string]: MembershipRoleMatchRule\n\t}\n\n\texport type TenantPermissions = {\n\t\treadonly invite?: boolean | MembershipMatchRule\n\t\treadonly unmanagedInvite?: boolean | MembershipMatchRule\n\t\treadonly view?: MembershipMatchRule\n\t\treadonly manage?: MembershipMatchRule\n\t}\n\n\texport enum SystemPermissionsLevel {\n\t\tnone = 'none',\n\t\tany = 'any',\n\t\tsome = 'some',\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport type LimitedSystemPermissionsLevel = 'any' | 'none'\n\n\texport type SystemPermissions = {\n\t\treadonly history?: boolean | LimitedSystemPermissionsLevel\n\t\treadonly migrate?: boolean\n\t\treadonly assumeIdentity?: boolean\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t}\n\n\texport type ContentPermissions = {\n\t\treadonly assumeMembership?: MembershipMatchRule\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport interface BaseRolePermissions {\n\t\treadonly inherits?: readonly string[]\n\t\treadonly implicit?: boolean\n\t\treadonly tenant?: TenantPermissions\n\t\treadonly system?: SystemPermissions\n\t\treadonly content?: ContentPermissions\n\t\treadonly variables: Acl.Variables\n\t\treadonly stages?: StagesDefinition\n\t\treadonly entities: Permissions\n\t\treadonly debug?: boolean\n\t}\n\n\texport type RolePermissions =\n\t\t& BaseRolePermissions\n\t\t& {\n\t\t\treadonly [key: string] : JSONValue\n\t\t}\n\texport type Permissions = {\n\t\treadonly [entity: string]: EntityPermissions\n\t}\n\n\texport type Roles = { readonly [role: string]: RolePermissions }\n\texport type Variables = { readonly [name: string]: Variable }\n\n\texport type Schema = {\n\t\treadonly customPrimary?: boolean\n\t\treadonly roles: Acl.Roles\n\t}\n\n\texport type VariablesMap = {\n\t\treadonly [name: string]: Input.Condition\n\t}\n\n\texport interface MembershipVariable {\n\t\treadonly name: string\n\t\treadonly values: readonly string[]\n\t}\n\n\texport interface Membership {\n\t\treadonly role: string\n\t\treadonly variables: readonly MembershipVariable[]\n\t}\n}\n"],"names":["Acl","VariableType","Operation","SystemPermissionsLevel"],"mappings":";;AAGiBA,QAAAA,MAAAA;AAAAA,CAAV,CAAUA,SAAV;AACC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,QAAS,IAAA;AACTA,kBAAA,YAAa,IAAA;AACbA,kBAAA,WAAY,IAAA;AAAA,EAHD,GAAAD,KAAA,iBAAAA,KAAA,eAAA,CAAA,EAAA;AAyDL,GAAA,CAAKE,eAAL;AACNA,eAAA,MAAO,IAAA;AACPA,eAAA,QAAS,IAAA;AACTA,eAAA,QAAS,IAAA;AACTA,eAAA,QAAS,IAAA;AAAA,EAJE,GAAAF,KAAA,cAAAA,KAAA,YAAA,CAAA,EAAA;AAmDL,GAAA,CAAKG,4BAAL;AACNA,4BAAA,MAAO,IAAA;AACPA,4BAAA,KAAM,IAAA;AACNA,4BAAA,MAAO,IAAA;AAAA,EAHI,GAAAH,KAAA,2BAAAA,KAAA,yBAAA,CAAA,EAAA;AAAA,GA7GIA,QAAA,QAAAA,cAAA,CAAA,EAAA;"}
@@ -1,23 +0,0 @@
1
- var Acl;
2
- ((Acl2) => {
3
- ((VariableType2) => {
4
- VariableType2["entity"] = "entity";
5
- VariableType2["predefined"] = "predefined";
6
- VariableType2["condition"] = "condition";
7
- })(Acl2.VariableType || (Acl2.VariableType = {}));
8
- ((Operation2) => {
9
- Operation2["read"] = "read";
10
- Operation2["create"] = "create";
11
- Operation2["update"] = "update";
12
- Operation2["delete"] = "delete";
13
- })(Acl2.Operation || (Acl2.Operation = {}));
14
- ((SystemPermissionsLevel2) => {
15
- SystemPermissionsLevel2["none"] = "none";
16
- SystemPermissionsLevel2["any"] = "any";
17
- SystemPermissionsLevel2["some"] = "some";
18
- })(Acl2.SystemPermissionsLevel || (Acl2.SystemPermissionsLevel = {}));
19
- })(Acl || (Acl = {}));
20
- export {
21
- Acl
22
- };
23
- //# sourceMappingURL=acl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"acl.js","sources":["../../../../../packages/schema/src/schema/acl.ts"],"sourcesContent":["import { Input } from './input'\nimport { JSONValue } from './json'\n\nexport namespace Acl {\n\texport enum VariableType {\n\t\tentity = 'entity',\n\t\tpredefined = 'predefined',\n\t\tcondition = 'condition',\n\n\t\t// currently unsupported\n\t\t// enum = 'enum',\n\t\t// column = 'column',\n\t}\n\n\texport type Variable =\n\t\t| EntityVariable\n\t\t| PredefinedVariable\n\t\t| ConditionVariable\n\t\t// | EnumVariable | ColumnValueVariable\n\n\n\n\texport type EntityVariable = {\n\t\treadonly type: VariableType.entity\n\t\treadonly entityName: string\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\texport type PredefinedVariableValue = 'identityID' | 'personID'\n\texport type PredefinedVariable = {\n\t\treadonly type: VariableType.predefined\n\t\treadonly value: PredefinedVariableValue\n\t}\n\n\n\texport type ConditionVariable = {\n\t\treadonly type: VariableType.condition\n\t\treadonly fallback?: Input.Condition\n\t}\n\n\t// export interface EnumVariable {\n\t// \ttype: VariableType.enum\n\t// \tenumName: string\n\t// }\n\n\t// export interface ColumnValueVariable {\n\t// \ttype: VariableType.column\n\t// \tentityName: string\n\t// \tfieldName: string\n\t// }\n\n\texport type PredicateVariable = string //{ name: string }\n\texport type PredicateDefinition<E = never> = Input.Where<PredicateVariable | Input.Condition | E>\n\n\texport type PredicateMap = { readonly [name: string]: PredicateDefinition }\n\n\texport type EntityPermissions = {\n\t\treadonly predicates: PredicateMap\n\t\treadonly operations: EntityOperations\n\t}\n\n\texport enum Operation {\n\t\tread = 'read',\n\t\tcreate = 'create',\n\t\tupdate = 'update',\n\t\tdelete = 'delete',\n\t}\n\n\texport type EntityOperations = {\n\t\treadonly read?: FieldPermissions\n\t\treadonly create?: FieldPermissions\n\t\treadonly update?: FieldPermissions\n\t\treadonly delete?: Predicate\n\t\treadonly noRoot?: readonly `${Operation}`[]\n\n\t\treadonly customPrimary?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport type FieldPermissions = { readonly [field: string]: Predicate }\n\n\texport type PredicateReference = string\n\texport type Predicate = PredicateReference | boolean\n\n\texport type AnyStage = '*'\n\texport type StagesDefinition = AnyStage | readonly string[]\n\n\texport type MembershipVariableMatchRule = true | string\n\n\texport type MembershipVariablesMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly [targetVariable: string]: MembershipVariableMatchRule\n\t\t}\n\n\texport type MembershipRoleMatchRule =\n\t\t| true\n\t\t| {\n\t\t\treadonly variables?: MembershipVariablesMatchRule\n\t\t}\n\n\texport type MembershipMatchRule = {\n\t\treadonly [role: string]: MembershipRoleMatchRule\n\t}\n\n\texport type TenantPermissions = {\n\t\treadonly invite?: boolean | MembershipMatchRule\n\t\treadonly unmanagedInvite?: boolean | MembershipMatchRule\n\t\treadonly view?: MembershipMatchRule\n\t\treadonly manage?: MembershipMatchRule\n\t}\n\n\texport enum SystemPermissionsLevel {\n\t\tnone = 'none',\n\t\tany = 'any',\n\t\tsome = 'some',\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\texport type LimitedSystemPermissionsLevel = 'any' | 'none'\n\n\texport type SystemPermissions = {\n\t\treadonly history?: boolean | LimitedSystemPermissionsLevel\n\t\treadonly migrate?: boolean\n\t\treadonly assumeIdentity?: boolean\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t}\n\n\texport type ContentPermissions = {\n\t\treadonly assumeMembership?: MembershipMatchRule\n\t\treadonly export?: boolean\n\t\treadonly import?: boolean\n\t\treadonly refreshMaterializedView?: boolean\n\t}\n\n\texport interface BaseRolePermissions {\n\t\treadonly inherits?: readonly string[]\n\t\treadonly implicit?: boolean\n\t\treadonly tenant?: TenantPermissions\n\t\treadonly system?: SystemPermissions\n\t\treadonly content?: ContentPermissions\n\t\treadonly variables: Acl.Variables\n\t\treadonly stages?: StagesDefinition\n\t\treadonly entities: Permissions\n\t\treadonly debug?: boolean\n\t}\n\n\texport type RolePermissions =\n\t\t& BaseRolePermissions\n\t\t& {\n\t\t\treadonly [key: string] : JSONValue\n\t\t}\n\texport type Permissions = {\n\t\treadonly [entity: string]: EntityPermissions\n\t}\n\n\texport type Roles = { readonly [role: string]: RolePermissions }\n\texport type Variables = { readonly [name: string]: Variable }\n\n\texport type Schema = {\n\t\treadonly customPrimary?: boolean\n\t\treadonly roles: Acl.Roles\n\t}\n\n\texport type VariablesMap = {\n\t\treadonly [name: string]: Input.Condition\n\t}\n\n\texport interface MembershipVariable {\n\t\treadonly name: string\n\t\treadonly values: readonly string[]\n\t}\n\n\texport interface Membership {\n\t\treadonly role: string\n\t\treadonly variables: readonly MembershipVariable[]\n\t}\n}\n"],"names":["Acl","VariableType","Operation","SystemPermissionsLevel"],"mappings":"AAGiB,IAAA;AAAA,CAAV,CAAUA,SAAV;AACC,GAAA,CAAKC,kBAAL;AACNA,kBAAA,QAAS,IAAA;AACTA,kBAAA,YAAa,IAAA;AACbA,kBAAA,WAAY,IAAA;AAAA,EAHD,GAAAD,KAAA,iBAAAA,KAAA,eAAA,CAAA,EAAA;AAyDL,GAAA,CAAKE,eAAL;AACNA,eAAA,MAAO,IAAA;AACPA,eAAA,QAAS,IAAA;AACTA,eAAA,QAAS,IAAA;AACTA,eAAA,QAAS,IAAA;AAAA,EAJE,GAAAF,KAAA,cAAAA,KAAA,YAAA,CAAA,EAAA;AAmDL,GAAA,CAAKG,4BAAL;AACNA,4BAAA,MAAO,IAAA;AACPA,4BAAA,KAAM,IAAA;AACNA,4BAAA,MAAO,IAAA;AAAA,EAHI,GAAAH,KAAA,2BAAAA,KAAA,yBAAA,CAAA,EAAA;AAAA,GA7GI,QAAA,MAAA,CAAA,EAAA;"}
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- exports.Input = void 0;
4
- ((Input2) => {
5
- ((UpdateRelationOperation2) => {
6
- UpdateRelationOperation2["connect"] = "connect";
7
- UpdateRelationOperation2["disconnect"] = "disconnect";
8
- UpdateRelationOperation2["create"] = "create";
9
- UpdateRelationOperation2["connectOrCreate"] = "connectOrCreate";
10
- UpdateRelationOperation2["update"] = "update";
11
- UpdateRelationOperation2["upsert"] = "upsert";
12
- UpdateRelationOperation2["delete"] = "delete";
13
- })(Input2.UpdateRelationOperation || (Input2.UpdateRelationOperation = {}));
14
- ((CreateRelationOperation2) => {
15
- CreateRelationOperation2["connect"] = "connect";
16
- CreateRelationOperation2["create"] = "create";
17
- CreateRelationOperation2["connectOrCreate"] = "connectOrCreate";
18
- })(Input2.CreateRelationOperation || (Input2.CreateRelationOperation = {}));
19
- ((OrderDirection2) => {
20
- OrderDirection2["asc"] = "asc";
21
- OrderDirection2["ascNullsFirst"] = "ascNullsFirst";
22
- OrderDirection2["desc"] = "desc";
23
- OrderDirection2["descNullsLast"] = "descNullsLast";
24
- OrderDirection2["ascNullFirst"] = "ascNullsFirst";
25
- })(Input2.OrderDirection || (Input2.OrderDirection = {}));
26
- ((FieldMeta2) => {
27
- FieldMeta2["readable"] = "readable";
28
- FieldMeta2["updatable"] = "updatable";
29
- })(Input2.FieldMeta || (Input2.FieldMeta = {}));
30
- })(exports.Input || (exports.Input = {}));
31
- //# sourceMappingURL=input.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.cjs","sources":["../../../../../packages/schema/src/schema/input.ts"],"sourcesContent":["import { Value } from './value'\n\nexport namespace Input {\n\texport type PrimaryValue<E = never> = Value.PrimaryValue<E>\n\texport type ColumnValue<E = never> = Value.FieldValue<E>\n\n\texport enum UpdateRelationOperation {\n\t\tconnect = 'connect',\n\t\tdisconnect = 'disconnect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t\tupdate = 'update',\n\t\tupsert = 'upsert',\n\t\tdelete = 'delete',\n\t}\n\n\texport enum CreateRelationOperation {\n\t\tconnect = 'connect',\n\t\tcreate = 'create',\n\t\tconnectOrCreate = 'connectOrCreate',\n\t}\n\n\texport interface ConnectRelationInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t}\n\n\texport interface CreateRelationInput<E = never> {\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateInput<E = never> {\n\t\tconnect: UniqueWhere<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface ConnectOrCreateRelationInput<E = never> {\n\t\tconnectOrCreate: ConnectOrCreateInput<E>\n\t}\n\n\texport interface DisconnectSpecifiedRelationInput<E = never> {\n\t\tdisconnect: UniqueWhere<E>\n\t}\n\n\texport interface DeleteSpecifiedRelationInput<E = never> {\n\t\tdelete: UniqueWhere<E>\n\t}\n\n\texport interface UpdateSpecifiedRelationInput<E = never> {\n\t\tupdate: { by: UniqueWhere<E>; data: UpdateDataInput<E> }\n\t}\n\n\texport interface UpsertSpecifiedRelationInput<E = never> {\n\t\tupsert: { by: UniqueWhere<E>; update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface DisconnectRelationInput {\n\t\tdisconnect: true\n\t}\n\n\texport interface UpdateRelationInput<E = never> {\n\t\tupdate: UpdateDataInput<E>\n\t}\n\n\texport interface DeleteRelationInput {\n\t\tdelete: true\n\t}\n\n\texport interface UpsertRelationInput<E = never> {\n\t\tupsert: { update: UpdateDataInput<E>; create: CreateDataInput<E> }\n\t}\n\n\texport interface CreateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | CreateOneRelationInput<E> | CreateManyRelationInput<E>\n\t}\n\n\texport type CreateOneRelationInput<E = never> = { alias?: string } & (\n\t\t| ConnectRelationInput<E>\n\t\t| CreateRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t)\n\n\texport type CreateManyRelationInput<E = never> = Array<CreateOneRelationInput<E>>\n\n\texport interface UpdateDataInput<E = never> {\n\t\t[column: string]: Value.FieldValue<E> | UpdateOneRelationInput<E> | UpdateManyRelationInput<E>\n\t}\n\n\texport interface UpdateInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tdata: UpdateDataInput<E>\n\t}\n\n\texport interface UpsertInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t\tupdate: UpdateDataInput<E>\n\t\tcreate: CreateDataInput<E>\n\t}\n\n\texport interface CreateInput<E = never> {\n\t\tdata: CreateDataInput<E>\n\t}\n\n\texport interface DeleteInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface UniqueQueryInput<E = never> {\n\t\tby: UniqueWhere<E>\n\t\tfilter?: OptionalWhere<E>\n\t}\n\n\texport interface ListQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\toffset?: number\n\t\tlimit?: number\n\t}\n\n\texport interface PaginationQueryInput<E = never> {\n\t\tfilter?: OptionalWhere<E>\n\t\torderBy?: OrderBy[]\n\t\tskip?: number\n\t\tfirst?: number\n\t}\n\n\t/** @deprecated */\n\texport type SelectQueryInput<E = never> = PaginationQueryInput<E>\n\n\texport type UpdateOneRelationInput<E = never> =\n\t\t| CreateRelationInput<E>\n\t\t| ConnectRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t\t| DeleteRelationInput\n\t\t| DisconnectRelationInput\n\t\t| UpdateRelationInput<E>\n\t\t| UpsertRelationInput<E>\n\n\texport type UpdateManyRelationInputItem<E = never> = { alias?: string } & (\n\t\t| CreateRelationInput<E>\n\t\t| ConnectRelationInput<E>\n\t\t| ConnectOrCreateRelationInput<E>\n\t\t| DeleteSpecifiedRelationInput<E>\n\t\t| DisconnectSpecifiedRelationInput<E>\n\t\t| UpdateSpecifiedRelationInput<E>\n\t\t| UpsertSpecifiedRelationInput<E>\n\t)\n\n\texport type UpdateManyRelationInput<E = never> = Array<UpdateManyRelationInputItem<E>>\n\n\texport enum OrderDirection {\n\t\tasc = 'asc',\n\t\tascNullsFirst = 'ascNullsFirst',\n\t\tdesc = 'desc',\n\t\tdescNullsLast = 'descNullsLast',\n\n\t\t/* eslint-disable @typescript-eslint/no-duplicate-enum-values */\n\t\t/** @deprecated use ascNullsFirst*/\n\t\tascNullFirst = 'ascNullsFirst',\n\t\t/* eslint-enable @typescript-eslint/no-duplicate-enum-values */\n\t}\n\n\t// generics required by admin\n\texport type FieldOrderBy<T = OrderDirection> = T | OrderBy<T>\n\n\texport interface OrderByFields<T = OrderDirection> {\n\t\t[fieldName: string]: FieldOrderBy<T>\n\t}\n\n\texport type OrderBy<T = OrderDirection> = OrderByFields<T> & { _random?: boolean; _randomSeeded?: number }\n\n\texport type Condition<T = Value.FieldValue> = {\n\t\t// boolean\n\t\treadonly and?: readonly Condition<T>[]\n\t\treadonly or?: readonly Condition<T>[]\n\t\treadonly not?: Condition<T>\n\n\t\t// null\n\t\treadonly isNull?: boolean\n\n\t\t// basic\n\t\treadonly eq?: T\n\t\treadonly notEq?: T\n\t\treadonly in?: readonly T[]\n\t\treadonly notIn?: readonly T[]\n\t\treadonly lt?: T\n\t\treadonly lte?: T\n\t\treadonly gt?: T\n\t\treadonly gte?: T\n\n\t\t// array\n\t\treadonly minLength?: number\n\t\treadonly maxLength?: number\n\t\treadonly includes?: T\n\n\t\t// string only\n\t\treadonly contains?: string\n\t\treadonly startsWith?: string\n\t\treadonly endsWith?: string\n\t\treadonly containsCI?: string\n\t\treadonly startsWithCI?: string\n\t\treadonly endsWithCI?: string\n\n\t\t// special\n\t\treadonly never?: true\n\t\treadonly always?: true\n\n\t\t// deprecated\n\t\treadonly null?: boolean\n\t}\n\n\texport type UniqueWhere<E = never> = {\n\t\treadonly [field: string]: Value.PrimaryValue<E> | UniqueWhere<E>\n\t}\n\n\texport type ComposedWhere<C, Opt = never> = {\n\t\treadonly and?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly or?: (readonly (Where<C, Opt> | Opt)[]) | Opt\n\t\treadonly not?: Where<C, Opt> | Opt\n\t}\n\n\texport interface FieldWhere<C = Condition, Opt = never> {\n\t\treadonly [name: string]: Opt | C | Where<C, Opt> | readonly (Where<C, Opt> | Opt)[] //last one if for ComposedWhere\n\t}\n\n\texport type Where<C = Condition, Opt = never> = ComposedWhere<C, Opt> & FieldWhere<C, Opt>\n\n\texport type OptionalWhere<E = never> = Where<Condition<Value.FieldValue<E>>, null | undefined>\n\texport type OptionalFieldWhere<E = never> = FieldWhere<Condition<Value.FieldValue<E>>, null | undefined>\n\n\texport enum FieldMeta {\n\t\treadable = 'readable',\n\t\tupdatable = 'updatable',\n\t}\n}\n"],"names":["Input","UpdateRelationOperation","CreateRelationOperation","OrderDirection","FieldMeta"],"mappings":";;AAEiBA,QAAAA,QAAAA;AAAAA,CAAV,CAAUA,WAAV;AAIC,GAAA,CAAKC,6BAAL;AACNA,6BAAA,SAAU,IAAA;AACVA,6BAAA,YAAa,IAAA;AACbA,6BAAA,QAAS,IAAA;AACTA,6BAAA,iBAAkB,IAAA;AAClBA,6BAAA,QAAS,IAAA;AACTA,6BAAA,QAAS,IAAA;AACTA,6BAAA,QAAS,IAAA;AAAA,EAPE,GAAAD,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AAUL,GAAA,CAAKE,6BAAL;AACNA,6BAAA,SAAU,IAAA;AACVA,6BAAA,QAAS,IAAA;AACTA,6BAAA,iBAAkB,IAAA;AAAA,EAHP,GAAAF,OAAA,4BAAAA,OAAA,0BAAA,CAAA,EAAA;AAwIL,GAAA,CAAKG,oBAAL;AACNA,oBAAA,KAAM,IAAA;AACNA,oBAAA,eAAgB,IAAA;AAChBA,oBAAA,MAAO,IAAA;AACPA,oBAAA,eAAgB,IAAA;AAIhBA,oBAAA,cAAe,IAAA;AAAA,EARJ,GAAAH,OAAA,mBAAAA,OAAA,iBAAA,CAAA,EAAA;AAgFL,GAAA,CAAKI,eAAL;AACNA,eAAA,UAAW,IAAA;AACXA,eAAA,WAAY,IAAA;AAAA,EAFD,GAAAJ,OAAA,cAAAA,OAAA,YAAA,CAAA,EAAA;AAAA,GAtOIA,QAAA,UAAAA,gBAAA,CAAA,EAAA;"}