@contember/client-content 1.3.0-alpha.2 → 1.3.0-alpha.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/development/ContentClient.cjs +27 -0
- package/dist/development/ContentClient.cjs.map +1 -0
- package/dist/development/ContentClient.js +27 -0
- package/dist/development/ContentClient.js.map +1 -0
- package/dist/development/ContentQueryBuilder.cjs +147 -0
- package/dist/development/ContentQueryBuilder.cjs.map +1 -0
- package/dist/development/ContentQueryBuilder.js +147 -0
- package/dist/development/ContentQueryBuilder.js.map +1 -0
- package/dist/development/index.cjs +13 -0
- package/dist/development/index.cjs.map +1 -0
- package/dist/development/index.js +13 -0
- package/dist/development/index.js.map +1 -0
- package/dist/development/nodes/ContentEntitySelection.cjs +161 -0
- package/dist/development/nodes/ContentEntitySelection.cjs.map +1 -0
- package/dist/development/nodes/ContentEntitySelection.js +161 -0
- package/dist/development/nodes/ContentEntitySelection.js.map +1 -0
- package/dist/development/nodes/ContentOperation.cjs +16 -0
- package/dist/development/nodes/ContentOperation.cjs.map +1 -0
- package/dist/development/nodes/ContentOperation.js +16 -0
- package/dist/development/nodes/ContentOperation.js.map +1 -0
- package/dist/development/utils/ContentOperationSet.cjs +10 -0
- package/dist/development/utils/ContentOperationSet.cjs.map +1 -0
- package/dist/development/utils/ContentOperationSet.js +10 -0
- package/dist/development/utils/ContentOperationSet.js.map +1 -0
- package/dist/development/utils/createListArgs.cjs +24 -0
- package/dist/development/utils/createListArgs.cjs.map +1 -0
- package/dist/development/utils/createListArgs.js +24 -0
- package/dist/development/utils/createListArgs.js.map +1 -0
- package/dist/development/utils/createMutationOperationSet.cjs +37 -0
- package/dist/development/utils/createMutationOperationSet.cjs.map +1 -0
- package/dist/development/utils/createMutationOperationSet.js +37 -0
- package/dist/development/utils/createMutationOperationSet.js.map +1 -0
- package/dist/development/utils/createQueryOperationSet.cjs +19 -0
- package/dist/development/utils/createQueryOperationSet.cjs.map +1 -0
- package/dist/development/utils/createQueryOperationSet.js +19 -0
- package/dist/development/utils/createQueryOperationSet.js.map +1 -0
- package/dist/development/utils/createTypedArgs.cjs +14 -0
- package/dist/development/utils/createTypedArgs.cjs.map +1 -0
- package/dist/development/utils/createTypedArgs.js +14 -0
- package/dist/development/utils/createTypedArgs.js.map +1 -0
- package/dist/development/utils/mutationFragments.cjs +55 -0
- package/dist/development/utils/mutationFragments.cjs.map +1 -0
- package/dist/development/utils/mutationFragments.js +55 -0
- package/dist/development/utils/mutationFragments.js.map +1 -0
- package/dist/production/ContentClient.cjs +27 -0
- package/dist/production/ContentClient.cjs.map +1 -0
- package/dist/production/ContentClient.js +27 -0
- package/dist/production/ContentClient.js.map +1 -0
- package/dist/production/ContentQueryBuilder.cjs +147 -0
- package/dist/production/ContentQueryBuilder.cjs.map +1 -0
- package/dist/production/ContentQueryBuilder.js +147 -0
- package/dist/production/ContentQueryBuilder.js.map +1 -0
- package/dist/production/index.cjs +13 -0
- package/dist/production/index.cjs.map +1 -0
- package/dist/production/index.js +13 -0
- package/dist/production/index.js.map +1 -0
- package/dist/production/nodes/ContentEntitySelection.cjs +161 -0
- package/dist/production/nodes/ContentEntitySelection.cjs.map +1 -0
- package/dist/production/nodes/ContentEntitySelection.js +161 -0
- package/dist/production/nodes/ContentEntitySelection.js.map +1 -0
- package/dist/production/nodes/ContentOperation.cjs +16 -0
- package/dist/production/nodes/ContentOperation.cjs.map +1 -0
- package/dist/production/nodes/ContentOperation.js +16 -0
- package/dist/production/nodes/ContentOperation.js.map +1 -0
- package/dist/production/utils/ContentOperationSet.cjs +10 -0
- package/dist/production/utils/ContentOperationSet.cjs.map +1 -0
- package/dist/production/utils/ContentOperationSet.js +10 -0
- package/dist/production/utils/ContentOperationSet.js.map +1 -0
- package/dist/production/utils/createListArgs.cjs +24 -0
- package/dist/production/utils/createListArgs.cjs.map +1 -0
- package/dist/production/utils/createListArgs.js +24 -0
- package/dist/production/utils/createListArgs.js.map +1 -0
- package/dist/production/utils/createMutationOperationSet.cjs +37 -0
- package/dist/production/utils/createMutationOperationSet.cjs.map +1 -0
- package/dist/production/utils/createMutationOperationSet.js +37 -0
- package/dist/production/utils/createMutationOperationSet.js.map +1 -0
- package/dist/production/utils/createQueryOperationSet.cjs +19 -0
- package/dist/production/utils/createQueryOperationSet.cjs.map +1 -0
- package/dist/production/utils/createQueryOperationSet.js +19 -0
- package/dist/production/utils/createQueryOperationSet.js.map +1 -0
- package/dist/production/utils/createTypedArgs.cjs +14 -0
- package/dist/production/utils/createTypedArgs.cjs.map +1 -0
- package/dist/production/utils/createTypedArgs.js +14 -0
- package/dist/production/utils/createTypedArgs.js.map +1 -0
- package/dist/production/utils/mutationFragments.cjs +55 -0
- package/dist/production/utils/mutationFragments.cjs.map +1 -0
- package/dist/production/utils/mutationFragments.js +55 -0
- package/dist/production/utils/mutationFragments.js.map +1 -0
- package/dist/types/ContentClient.d.ts +3 -4
- package/dist/types/ContentClient.d.ts.map +1 -1
- package/dist/types/ContentQueryBuilder.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/nodes/TypedEntitySelection.d.ts +3 -0
- package/dist/types/nodes/TypedEntitySelection.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/types/types/Input.d.ts +68 -8
- package/dist/types/types/Input.d.ts.map +1 -1
- package/dist/types/types/Schema.d.ts +3 -3
- package/dist/types/types/Schema.d.ts.map +1 -1
- package/package.json +6 -3
- package/src/ContentClient.ts +6 -7
- package/src/ContentQueryBuilder.ts +6 -2
- package/src/index.ts +1 -0
- package/src/nodes/TypedEntitySelection.ts +4 -0
- package/src/types/Input.ts +74 -9
- package/src/types/Schema.ts +3 -3
|
@@ -147,7 +147,11 @@ export class ContentQueryBuilder {
|
|
|
147
147
|
const transactionArgs = createTypedArgs({ options }, {
|
|
148
148
|
options: 'MutationTransactionOptions',
|
|
149
149
|
})
|
|
150
|
-
|
|
150
|
+
const items = [
|
|
151
|
+
...this.createMutationSelection('transaction'),
|
|
152
|
+
...combined.selection,
|
|
153
|
+
]
|
|
154
|
+
return new ContentOperation<TransactionResult<any>, 'mutation'>('mutation', 'transaction', transactionArgs, items, ({ ok, errorMessage, errors, validation, ...data }) => {
|
|
151
155
|
return {
|
|
152
156
|
ok,
|
|
153
157
|
errorMessage,
|
|
@@ -158,7 +162,7 @@ export class ContentQueryBuilder {
|
|
|
158
162
|
})
|
|
159
163
|
}
|
|
160
164
|
|
|
161
|
-
private createMutationSelection(operation: 'create' | 'update' | 'delete' | 'upsert', selection?: GraphQlSelectionSet): GraphQlSelectionSet {
|
|
165
|
+
private createMutationSelection(operation: 'create' | 'update' | 'delete' | 'upsert' | 'transaction', selection?: GraphQlSelectionSet): GraphQlSelectionSet {
|
|
162
166
|
const items: GraphQlSelectionSet = [
|
|
163
167
|
new GraphQlField(null, 'ok'),
|
|
164
168
|
new GraphQlField(null, 'errorMessage'),
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EntityTypeLike, SchemaTypeLike } from '../types/Schema'
|
|
2
2
|
import { ContentClientInput } from '../types'
|
|
3
|
+
import { ContentEntitySelectionContext } from './ContentEntitySelection'
|
|
3
4
|
|
|
4
5
|
export type TypedEntitySelectionCallback<
|
|
5
6
|
TSchema extends SchemaTypeLike,
|
|
@@ -10,6 +11,9 @@ export type TypedEntitySelectionCallback<
|
|
|
10
11
|
|
|
11
12
|
export interface TypedEntitySelection<TSchema extends SchemaTypeLike, TEntityName extends string, TEntity extends EntityTypeLike, TValue> {
|
|
12
13
|
|
|
14
|
+
/** @internal */
|
|
15
|
+
readonly context: ContentEntitySelectionContext<TEntityName>,
|
|
16
|
+
|
|
13
17
|
$$(): TypedEntitySelection<TSchema, TEntityName, TEntity, TValue & {
|
|
14
18
|
[key in keyof TEntity['columns']]: TEntity['columns'][key]
|
|
15
19
|
}>
|
package/src/types/Input.ts
CHANGED
|
@@ -4,31 +4,45 @@ import { EntityTypeLike } from './Schema'
|
|
|
4
4
|
|
|
5
5
|
export namespace ContentClientInput {
|
|
6
6
|
export type ConnectRelationInput<TEntity extends EntityTypeLike> = {
|
|
7
|
+
/** @internal */
|
|
8
|
+
readonly __typeGuard?: TEntity['name']
|
|
7
9
|
readonly connect: UniqueWhere<TEntity>
|
|
8
10
|
}
|
|
9
11
|
|
|
10
12
|
export type CreateRelationInput<TEntity extends EntityTypeLike> = {
|
|
13
|
+
/** @internal */
|
|
14
|
+
readonly __typeGuard?: TEntity['name']
|
|
11
15
|
readonly create: CreateDataInput<TEntity>
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
export type ConnectOrCreateInput<TEntity extends EntityTypeLike> = {
|
|
19
|
+
/** @internal */
|
|
20
|
+
readonly __typeGuard?: TEntity['name']
|
|
15
21
|
readonly connect: UniqueWhere<TEntity>
|
|
16
22
|
readonly create: CreateDataInput<TEntity>
|
|
17
23
|
}
|
|
18
24
|
|
|
19
25
|
export type ConnectOrCreateRelationInput<TEntity extends EntityTypeLike> = {
|
|
26
|
+
/** @internal */
|
|
27
|
+
readonly __typeGuard?: TEntity['name']
|
|
20
28
|
readonly connectOrCreate: ConnectOrCreateInput<TEntity>
|
|
21
29
|
}
|
|
22
30
|
|
|
23
31
|
export type DisconnectSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
|
|
32
|
+
/** @internal */
|
|
33
|
+
readonly __typeGuard?: TEntity['name']
|
|
24
34
|
readonly disconnect: UniqueWhere<TEntity>
|
|
25
35
|
}
|
|
26
36
|
|
|
27
37
|
export type DeleteSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
|
|
38
|
+
/** @internal */
|
|
39
|
+
readonly __typeGuard?: TEntity['name']
|
|
28
40
|
readonly delete: UniqueWhere<TEntity>
|
|
29
41
|
}
|
|
30
42
|
|
|
31
43
|
export type UpdateSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
|
|
44
|
+
/** @internal */
|
|
45
|
+
readonly __typeGuard?: TEntity['name']
|
|
32
46
|
readonly update: {
|
|
33
47
|
readonly by: UniqueWhere<TEntity>
|
|
34
48
|
readonly data: UpdateDataInput<TEntity>
|
|
@@ -36,6 +50,8 @@ export namespace ContentClientInput {
|
|
|
36
50
|
}
|
|
37
51
|
|
|
38
52
|
export type UpsertSpecifiedRelationInput<TEntity extends EntityTypeLike> = {
|
|
53
|
+
/** @internal */
|
|
54
|
+
readonly __typeGuard?: TEntity['name']
|
|
39
55
|
readonly upsert: {
|
|
40
56
|
readonly by: UniqueWhere<TEntity>
|
|
41
57
|
readonly update: UpdateDataInput<TEntity>
|
|
@@ -43,19 +59,27 @@ export namespace ContentClientInput {
|
|
|
43
59
|
}
|
|
44
60
|
}
|
|
45
61
|
|
|
46
|
-
export type DisconnectRelationInput = {
|
|
62
|
+
export type DisconnectRelationInput<TEntity extends EntityTypeLike> = {
|
|
63
|
+
/** @internal */
|
|
64
|
+
readonly __typeGuard?: TEntity['name']
|
|
47
65
|
readonly disconnect: true
|
|
48
66
|
}
|
|
49
67
|
|
|
50
68
|
export type UpdateRelationInput<TEntity extends EntityTypeLike> = {
|
|
69
|
+
/** @internal */
|
|
70
|
+
readonly __typeGuard?: TEntity['name']
|
|
51
71
|
readonly update: UpdateDataInput<TEntity>
|
|
52
72
|
}
|
|
53
73
|
|
|
54
|
-
export type DeleteRelationInput = {
|
|
74
|
+
export type DeleteRelationInput<TEntity extends EntityTypeLike> = {
|
|
75
|
+
/** @internal */
|
|
76
|
+
readonly __typeGuard?: TEntity['name']
|
|
55
77
|
readonly delete: true
|
|
56
78
|
}
|
|
57
79
|
|
|
58
80
|
export type UpsertRelationInput<TEntity extends EntityTypeLike> = {
|
|
81
|
+
/** @internal */
|
|
82
|
+
readonly __typeGuard?: TEntity['name']
|
|
59
83
|
readonly upsert: {
|
|
60
84
|
readonly update: UpdateDataInput<TEntity>
|
|
61
85
|
readonly create: CreateDataInput<TEntity>
|
|
@@ -64,7 +88,11 @@ export namespace ContentClientInput {
|
|
|
64
88
|
|
|
65
89
|
export type CreateDataInput<TEntity extends EntityTypeLike> =
|
|
66
90
|
& {
|
|
67
|
-
|
|
91
|
+
/** @internal */
|
|
92
|
+
readonly __typeGuard?: TEntity['name']
|
|
93
|
+
}
|
|
94
|
+
& {
|
|
95
|
+
readonly [key in keyof TEntity['columns']]?: TEntity['columns'][key]
|
|
68
96
|
}
|
|
69
97
|
& {
|
|
70
98
|
readonly [key in keyof TEntity['hasMany']]?: CreateManyRelationInput<TEntity['hasMany'][key]>
|
|
@@ -80,9 +108,16 @@ export namespace ContentClientInput {
|
|
|
80
108
|
|
|
81
109
|
export type CreateManyRelationInput<TEntity extends EntityTypeLike> = readonly CreateOneRelationInput<TEntity>[]
|
|
82
110
|
|
|
111
|
+
|
|
83
112
|
export type UpdateDataInput<TEntity extends EntityTypeLike> =
|
|
84
113
|
& {
|
|
85
|
-
|
|
114
|
+
/**
|
|
115
|
+
* @internal
|
|
116
|
+
*/
|
|
117
|
+
readonly __typeGuard?: TEntity['name']
|
|
118
|
+
}
|
|
119
|
+
& {
|
|
120
|
+
readonly [key in keyof TEntity['columns']]?: TEntity['columns'][key]
|
|
86
121
|
}
|
|
87
122
|
& {
|
|
88
123
|
readonly [key in keyof TEntity['hasMany']]?: UpdateManyRelationInput<TEntity['hasMany'][key]>
|
|
@@ -92,12 +127,16 @@ export namespace ContentClientInput {
|
|
|
92
127
|
}
|
|
93
128
|
|
|
94
129
|
export type UpdateInput<TEntity extends EntityTypeLike> = {
|
|
130
|
+
/** @internal */
|
|
131
|
+
readonly __typeGuard?: TEntity['name']
|
|
95
132
|
readonly by: UniqueWhere<TEntity>
|
|
96
133
|
readonly filter?: Where<TEntity>
|
|
97
134
|
readonly data: UpdateDataInput<TEntity>
|
|
98
135
|
}
|
|
99
136
|
|
|
100
137
|
export type UpsertInput<TEntity extends EntityTypeLike> = {
|
|
138
|
+
/** @internal */
|
|
139
|
+
readonly __typeGuard?: TEntity['name']
|
|
101
140
|
readonly by: UniqueWhere<TEntity>
|
|
102
141
|
readonly filter?: Where<TEntity>
|
|
103
142
|
readonly update: UpdateDataInput<TEntity>
|
|
@@ -105,20 +144,28 @@ export namespace ContentClientInput {
|
|
|
105
144
|
}
|
|
106
145
|
|
|
107
146
|
export type CreateInput<TEntity extends EntityTypeLike> = {
|
|
147
|
+
/** @internal */
|
|
148
|
+
readonly __typeGuard?: TEntity['name']
|
|
108
149
|
readonly data: CreateDataInput<TEntity>
|
|
109
150
|
}
|
|
110
151
|
|
|
111
152
|
export type DeleteInput<TEntity extends EntityTypeLike> = {
|
|
153
|
+
/** @internal */
|
|
154
|
+
readonly __typeGuard?: TEntity['name']
|
|
112
155
|
readonly by: UniqueWhere<TEntity>
|
|
113
156
|
readonly filter?: Where<TEntity>
|
|
114
157
|
}
|
|
115
158
|
|
|
116
159
|
export type UniqueQueryInput<TEntity extends EntityTypeLike> = {
|
|
160
|
+
/** @internal */
|
|
161
|
+
readonly __typeGuard?: TEntity['name']
|
|
117
162
|
readonly by: UniqueWhere<TEntity>
|
|
118
163
|
readonly filter?: Where<TEntity>
|
|
119
164
|
}
|
|
120
165
|
|
|
121
166
|
export type ListQueryInput<TEntity extends EntityTypeLike> = {
|
|
167
|
+
/** @internal */
|
|
168
|
+
readonly __typeGuard?: TEntity['name']
|
|
122
169
|
readonly filter?: Where<TEntity>
|
|
123
170
|
readonly orderBy?: readonly OrderBy<TEntity>[]
|
|
124
171
|
readonly offset?: number
|
|
@@ -126,6 +173,8 @@ export namespace ContentClientInput {
|
|
|
126
173
|
}
|
|
127
174
|
|
|
128
175
|
export type PaginationQueryInput<TEntity extends EntityTypeLike> = {
|
|
176
|
+
/** @internal */
|
|
177
|
+
readonly __typeGuard?: TEntity['name']
|
|
129
178
|
readonly filter?: Where<TEntity>
|
|
130
179
|
readonly orderBy?: readonly OrderBy<TEntity>[]
|
|
131
180
|
readonly skip?: number
|
|
@@ -133,10 +182,14 @@ export namespace ContentClientInput {
|
|
|
133
182
|
}
|
|
134
183
|
|
|
135
184
|
export type HasOneRelationInput<TEntity extends EntityTypeLike> = {
|
|
185
|
+
/** @internal */
|
|
186
|
+
readonly __typeGuard?: TEntity['name']
|
|
136
187
|
readonly filter?: Where<TEntity>
|
|
137
188
|
}
|
|
138
189
|
|
|
139
190
|
export type HasManyByRelationInput<TEntity extends EntityTypeLike, TUnique extends JSONObject> = {
|
|
191
|
+
/** @internal */
|
|
192
|
+
readonly __typeGuard?: TEntity['name']
|
|
140
193
|
readonly by: TUnique
|
|
141
194
|
readonly filter?: Where<TEntity>
|
|
142
195
|
}
|
|
@@ -149,8 +202,8 @@ export namespace ContentClientInput {
|
|
|
149
202
|
| CreateRelationInput<TEntity>
|
|
150
203
|
| ConnectRelationInput<TEntity>
|
|
151
204
|
| ConnectOrCreateRelationInput<TEntity>
|
|
152
|
-
| DeleteRelationInput
|
|
153
|
-
| DisconnectRelationInput
|
|
205
|
+
| DeleteRelationInput<TEntity>
|
|
206
|
+
| DisconnectRelationInput<TEntity>
|
|
154
207
|
| UpdateRelationInput<TEntity>
|
|
155
208
|
| UpsertRelationInput<TEntity>
|
|
156
209
|
|
|
@@ -169,10 +222,11 @@ export namespace ContentClientInput {
|
|
|
169
222
|
|
|
170
223
|
export type FieldOrderBy<TEntity extends EntityTypeLike> =
|
|
171
224
|
& {
|
|
172
|
-
|
|
225
|
+
/** @internal */
|
|
226
|
+
readonly __typeGuard?: TEntity['name']
|
|
173
227
|
}
|
|
174
228
|
& {
|
|
175
|
-
readonly [key in keyof TEntity['
|
|
229
|
+
readonly [key in keyof TEntity['columns']]?: `${Input.OrderDirection}` | null
|
|
176
230
|
}
|
|
177
231
|
& {
|
|
178
232
|
readonly [key in keyof TEntity['hasOne']]?: FieldOrderBy<TEntity['hasOne'][key]> | null
|
|
@@ -180,17 +234,28 @@ export namespace ContentClientInput {
|
|
|
180
234
|
|
|
181
235
|
export type OrderBy<TEntity extends EntityTypeLike> =
|
|
182
236
|
& {
|
|
237
|
+
/** @internal */
|
|
238
|
+
readonly __typeGuard?: TEntity['name']
|
|
183
239
|
readonly _random?: boolean
|
|
184
240
|
readonly _randomSeeded?: number
|
|
185
241
|
}
|
|
186
242
|
& FieldOrderBy<TEntity>
|
|
187
243
|
|
|
188
244
|
|
|
189
|
-
export type UniqueWhere<TEntity extends EntityTypeLike> =
|
|
245
|
+
export type UniqueWhere<TEntity extends EntityTypeLike> =
|
|
246
|
+
& {
|
|
247
|
+
/**
|
|
248
|
+
* @internal
|
|
249
|
+
*/
|
|
250
|
+
readonly __typeGuard?: TEntity['name']
|
|
251
|
+
}
|
|
252
|
+
& TEntity['unique']
|
|
190
253
|
|
|
191
254
|
|
|
192
255
|
export type Where<TEntity extends EntityTypeLike> =
|
|
193
256
|
& {
|
|
257
|
+
/** @internal */
|
|
258
|
+
readonly __typeGuard?: TEntity['name']
|
|
194
259
|
readonly and?: (readonly (Where<TEntity>)[]) | null
|
|
195
260
|
readonly or?: (readonly (Where<TEntity>)[]) | null
|
|
196
261
|
readonly not?: Where<TEntity> | null
|
package/src/types/Schema.ts
CHANGED
|
@@ -28,14 +28,14 @@ export type EntityTypeLike = {
|
|
|
28
28
|
[columnName: string]: any
|
|
29
29
|
}
|
|
30
30
|
hasOne: {
|
|
31
|
-
[relationName: string]:
|
|
31
|
+
[relationName: string]: any
|
|
32
32
|
}
|
|
33
33
|
hasMany: {
|
|
34
|
-
[relationName: string]:
|
|
34
|
+
[relationName: string]: any
|
|
35
35
|
}
|
|
36
36
|
hasManyBy: {
|
|
37
37
|
[relationName: string]: {
|
|
38
|
-
entity:
|
|
38
|
+
entity: any
|
|
39
39
|
by: JSONObject
|
|
40
40
|
}
|
|
41
41
|
}
|