@pothos/plugin-drizzle 0.8.0 → 0.9.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.
- package/CHANGELOG.md +98 -0
- package/TODO.md +25 -4
- package/dts/connection-helpers.d.ts +32 -0
- package/dts/connection-helpers.d.ts.map +1 -0
- package/dts/drizzle-field-builder.d.ts +18 -53
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/global-types.d.ts +22 -41
- package/dts/global-types.d.ts.map +1 -1
- package/dts/index.d.ts +4 -2
- package/dts/index.d.ts.map +1 -1
- package/dts/interface-ref.d.ts +3 -2
- package/dts/interface-ref.d.ts.map +1 -1
- package/dts/model-loader.d.ts +3 -2
- package/dts/model-loader.d.ts.map +1 -1
- package/dts/node-ref.d.ts +1 -1
- package/dts/node-ref.d.ts.map +1 -1
- package/dts/object-ref.d.ts +2 -2
- package/dts/object-ref.d.ts.map +1 -1
- package/dts/types.d.ts +61 -41
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/config.d.ts +4 -3
- package/dts/utils/config.d.ts.map +1 -1
- package/dts/utils/cursors.d.ts +13 -7
- package/dts/utils/cursors.d.ts.map +1 -1
- package/dts/utils/drizzle-graphql.d.ts +0 -17
- package/dts/utils/drizzle-graphql.d.ts.map +1 -1
- package/dts/utils/map-query.d.ts.map +1 -1
- package/dts/utils/selections.d.ts +5 -5
- package/dts/utils/selections.d.ts.map +1 -1
- package/esm/connection-helpers.d.ts +34 -0
- package/esm/connection-helpers.d.ts.map +1 -0
- package/esm/connection-helpers.js +74 -0
- package/esm/connection-helpers.js.map +1 -0
- package/esm/drizzle-field-builder.d.ts +18 -73
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +25 -14
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/field-builder.js +2 -3
- package/esm/field-builder.js.map +1 -1
- package/esm/global-types.d.ts +35 -60
- package/esm/global-types.d.ts.map +1 -1
- package/esm/global-types.js.map +1 -1
- package/esm/index.d.ts +4 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +70 -61
- package/esm/index.js.map +1 -1
- package/esm/interface-ref.d.ts +3 -2
- package/esm/interface-ref.d.ts.map +1 -1
- package/esm/interface-ref.js.map +1 -1
- package/esm/model-loader.d.ts +3 -2
- package/esm/model-loader.d.ts.map +1 -1
- package/esm/model-loader.js +18 -10
- package/esm/model-loader.js.map +1 -1
- package/esm/node-ref.d.ts +1 -1
- package/esm/node-ref.d.ts.map +1 -1
- package/esm/object-ref.d.ts +2 -2
- package/esm/object-ref.d.ts.map +1 -1
- package/esm/schema-builder.js +111 -65
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +61 -41
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/config.d.ts +4 -3
- package/esm/utils/config.d.ts.map +1 -1
- package/esm/utils/config.js +32 -15
- package/esm/utils/config.js.map +1 -1
- package/esm/utils/cursors.d.ts +13 -7
- package/esm/utils/cursors.d.ts.map +1 -1
- package/esm/utils/cursors.js +137 -63
- package/esm/utils/cursors.js.map +1 -1
- package/esm/utils/drizzle-graphql.d.ts +0 -17
- package/esm/utils/drizzle-graphql.d.ts.map +1 -1
- package/esm/utils/drizzle-graphql.js +230 -198
- package/esm/utils/drizzle-graphql.js.map +1 -1
- package/esm/utils/map-query.d.ts.map +1 -1
- package/esm/utils/map-query.js +9 -5
- package/esm/utils/map-query.js.map +1 -1
- package/esm/utils/selections.d.ts +5 -5
- package/esm/utils/selections.d.ts.map +1 -1
- package/esm/utils/selections.js +19 -18
- package/esm/utils/selections.js.map +1 -1
- package/lib/connection-helpers.js +85 -0
- package/lib/connection-helpers.js.map +1 -0
- package/lib/drizzle-field-builder.js +24 -13
- package/lib/drizzle-field-builder.js.map +1 -1
- package/lib/field-builder.js +2 -3
- package/lib/field-builder.js.map +1 -1
- package/lib/index.js +75 -60
- package/lib/index.js.map +1 -1
- package/lib/interface-ref.js.map +1 -1
- package/lib/model-loader.js +18 -10
- package/lib/model-loader.js.map +1 -1
- package/lib/schema-builder.js +111 -65
- package/lib/schema-builder.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/config.js +31 -14
- package/lib/utils/config.js.map +1 -1
- package/lib/utils/cursors.js +135 -63
- package/lib/utils/cursors.js.map +1 -1
- package/lib/utils/drizzle-graphql.js +230 -221
- package/lib/utils/drizzle-graphql.js.map +1 -1
- package/lib/utils/map-query.js +9 -5
- package/lib/utils/map-query.js.map +1 -1
- package/lib/utils/selections.js +18 -17
- package/lib/utils/selections.js.map +1 -1
- package/package.json +14 -14
- package/src/connection-helpers.ts +184 -0
- package/src/drizzle-field-builder.ts +30 -26
- package/src/field-builder.ts +4 -7
- package/src/global-types.ts +112 -119
- package/src/index.ts +90 -68
- package/src/interface-ref.ts +7 -3
- package/src/model-loader.ts +33 -17
- package/src/node-ref.ts +1 -1
- package/src/object-ref.ts +2 -2
- package/src/schema-builder.ts +114 -111
- package/src/types.ts +95 -62
- package/src/utils/config.ts +39 -30
- package/src/utils/cursors.ts +134 -101
- package/src/utils/drizzle-graphql.ts +273 -274
- package/src/utils/map-query.ts +19 -7
- package/src/utils/selections.ts +34 -28
package/esm/model-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model-loader.ts"],"names":["createContextCache","inArray","sql","getClient","getSchemaConfig","cacheKey","setLoaderMappings","selectionStateFromInfo","stateFromInfo","mergeSelection","selectionCompatible","selectionToQuery","ModelLoader","forModel","modelName","builder","columns","model","sqlForModel","values","map","key","columnName","name","Error","length","getSelection","info","parentType","path","queryCache","has","selection","config","context","set","query","get","getSelectionForField","typeName","loadSelection","result","stageQuery","mappings","loadSelectionForField","returnType","entry","staged","state","models","createResolvablePromise","promise","initLoad","Map","add","nextTick","client","then","api","findMany","where","selectSQL","keys","results","entries","find","row","
|
|
1
|
+
{"version":3,"sources":["../src/model-loader.ts"],"names":["createContextCache","inArray","sql","getClient","getSchemaConfig","cacheKey","setLoaderMappings","selectionStateFromInfo","stateFromInfo","mergeSelection","selectionCompatible","selectionToQuery","ModelLoader","forModel","modelName","builder","columns","model","sqlForModel","values","map","key","columnName","name","Error","length","getSelection","info","parentType","path","queryCache","has","selection","config","context","set","query","get","getSelectionForField","typeName","loadSelection","result","stageQuery","mappings","loadSelectionForField","returnType","entry","staged","state","models","createResolvablePromise","promise","initLoad","Map","add","nextTick","client","then","delete","api","findMany","where","RAW","table","selectSQL","keys","results","entries","find","row","primaryKey","every","resolve","reject","err","catch","setTimeout","constructor","Set","relations","tablesConfig","getPrimaryKey","column","Object","tblColumn","join","getSQL","resolveFn","rejectFn","Promise"],"mappings":"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"}
|
package/esm/node-ref.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SchemaTypes } from '@pothos/core';
|
|
2
2
|
import { DrizzleObjectRef } from './object-ref.js';
|
|
3
3
|
export declare const relayIDShapeKey: unique symbol;
|
|
4
|
-
export declare class DrizzleNodeRef<Types extends SchemaTypes, Table extends keyof Types["
|
|
4
|
+
export declare class DrizzleNodeRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"] = keyof Types["DrizzleRelationsConfig"], T = {}, IDShape = string> extends DrizzleObjectRef<Types, Table, T> {
|
|
5
5
|
[relayIDShapeKey]: IDShape;
|
|
6
6
|
parseId: ((id: string, ctx: object) => IDShape) | undefined;
|
|
7
7
|
constructor(name: string, tableName: string, options: {
|
package/esm/node-ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,cAAc,CACzB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,cAAc,CACzB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,wBAAwB,CAAC,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,EAC3F,CAAC,GAAG,EAAE,EACN,OAAO,GAAG,MAAM,CAChB,SAAQ,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC,eAAe,CAAC,EAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1D,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;KAChD;CAKJ"}
|
package/esm/object-ref.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ObjectRef, type SchemaTypes, abstractReturnShapeKey } from '@pothos/core';
|
|
2
2
|
import type { WithBrand } from './types.js';
|
|
3
3
|
export declare const drizzleTableKey: unique symbol;
|
|
4
|
-
export declare class DrizzleObjectRef<Types extends SchemaTypes, Table extends keyof Types["
|
|
5
|
-
[drizzleTableKey]: Types["
|
|
4
|
+
export declare class DrizzleObjectRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"] = keyof Types["DrizzleRelationsConfig"], T = {}> extends ObjectRef<Types, T> {
|
|
5
|
+
[drizzleTableKey]: Types["DrizzleRelationsConfig"][Table];
|
|
6
6
|
[abstractReturnShapeKey]: WithBrand<T>;
|
|
7
7
|
tableName: string;
|
|
8
8
|
constructor(name: string, tableName: string);
|
package/esm/object-ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,WAAW,EAChB,sBAAsB,EAGvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,WAAW,EAChB,sBAAsB,EAGvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,wBAAwB,CAAC,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,EAC3F,CAAC,GAAG,EAAE,CACN,SAAQ,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,CAAC;IAE3D,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAcrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
|
package/esm/schema-builder.js
CHANGED
|
@@ -9,7 +9,6 @@ import { getIDParser, getIDSerializer } from './utils/cursors.js';
|
|
|
9
9
|
import { getRefFromModel } from './utils/refs.js';
|
|
10
10
|
const schemaBuilderProto = SchemaBuilder.prototype;
|
|
11
11
|
schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, fields, ...options }) {
|
|
12
|
-
var _getSchemaConfig_schema;
|
|
13
12
|
var _options_variant, _ref;
|
|
14
13
|
const name = (_ref = (_options_variant = options.variant) !== null && _options_variant !== void 0 ? _options_variant : options.name) !== null && _ref !== void 0 ? _ref : table;
|
|
15
14
|
const ref = options.variant ? new DrizzleObjectRef(options.variant, name) : getRefFromModel(table, this, "object");
|
|
@@ -19,7 +18,7 @@ schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, field
|
|
|
19
18
|
extensions: {
|
|
20
19
|
...options.extensions,
|
|
21
20
|
pothosDrizzleModel: table,
|
|
22
|
-
pothosDrizzleTable:
|
|
21
|
+
pothosDrizzleTable: getSchemaConfig(this).relations.tablesConfig[table],
|
|
23
22
|
pothosDrizzleSelect: select !== null && select !== void 0 ? select : {},
|
|
24
23
|
pothosDrizzleLoader: ModelLoader.forModel(table, this)
|
|
25
24
|
},
|
|
@@ -29,17 +28,15 @@ schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, field
|
|
|
29
28
|
return ref;
|
|
30
29
|
};
|
|
31
30
|
schemaBuilderProto.drizzleInterface = function drizzleInterface(table, { select, fields, ...options }) {
|
|
32
|
-
var _getSchemaConfig_schema;
|
|
33
31
|
var _options_name;
|
|
34
32
|
const name = (_options_name = options.name) !== null && _options_name !== void 0 ? _options_name : table;
|
|
35
|
-
const ref =
|
|
36
|
-
ref.name = name !== null && name !== void 0 ? name : table;
|
|
33
|
+
const ref = new DrizzleInterfaceRef(name, table);
|
|
37
34
|
this.interfaceType(ref, {
|
|
38
35
|
...options,
|
|
39
36
|
extensions: {
|
|
40
37
|
...options.extensions,
|
|
41
38
|
pothosDrizzleModel: table,
|
|
42
|
-
pothosDrizzleTable:
|
|
39
|
+
pothosDrizzleTable: getSchemaConfig(this).relations.tablesConfig[table],
|
|
43
40
|
pothosDrizzleSelect: select !== null && select !== void 0 ? select : {},
|
|
44
41
|
pothosDrizzleLoader: ModelLoader.forModel(table, this)
|
|
45
42
|
},
|
|
@@ -51,7 +48,7 @@ schemaBuilderProto.drizzleInterface = function drizzleInterface(table, { select,
|
|
|
51
48
|
schemaBuilderProto.drizzleNode = function drizzleNode(table, { id: { column, ...idOptions }, name, variant, ...options }) {
|
|
52
49
|
var _this_nodeInterfaceRef, _this;
|
|
53
50
|
const schemaConfig = getSchemaConfig(this);
|
|
54
|
-
const tableConfig = schemaConfig.
|
|
51
|
+
const tableConfig = schemaConfig.relations.tablesConfig[table];
|
|
55
52
|
const idColumn = typeof column === "function" ? column(tableConfig.columns) : column;
|
|
56
53
|
const idColumns = Array.isArray(idColumn) ? idColumn : [
|
|
57
54
|
idColumn
|
|
@@ -62,7 +59,13 @@ schemaBuilderProto.drizzleNode = function drizzleNode(table, { id: { column, ...
|
|
|
62
59
|
var _ref;
|
|
63
60
|
const typeName = (_ref = variant !== null && variant !== void 0 ? variant : name) !== null && _ref !== void 0 ? _ref : table;
|
|
64
61
|
const nodeRef = new DrizzleNodeRef(typeName, table, {
|
|
65
|
-
parseId:
|
|
62
|
+
parseId: (id) => {
|
|
63
|
+
const parsed = idParser(id);
|
|
64
|
+
if (Array.isArray(idColumn)) {
|
|
65
|
+
return parsed;
|
|
66
|
+
}
|
|
67
|
+
return parsed[schemaConfig.columnToTsName(idColumn)];
|
|
68
|
+
}
|
|
66
69
|
});
|
|
67
70
|
const modelLoader = ModelLoader.forModel(table, this, idColumns);
|
|
68
71
|
if (!interfaceRef) {
|
|
@@ -134,61 +137,104 @@ schemaBuilderProto.drizzleInterfaceFields = function drizzleInterfaceFields(type
|
|
|
134
137
|
this.configStore.onTypeConfig(ref, ({ name }) => {
|
|
135
138
|
this.configStore.addFields(ref, () => fields(new DrizzleObjectFieldBuilder(name, this, ref.tableName, "Interface")));
|
|
136
139
|
});
|
|
137
|
-
};
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
140
|
+
}; // schemaBuilderProto.drizzleGraphQLOrderBy = function drizzleGraphQLOrderBy(
|
|
141
|
+
// this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
|
|
142
|
+
// table: string,
|
|
143
|
+
// type: GraphQLInputObjectType,
|
|
144
|
+
// options?: { extensions?: object },
|
|
145
|
+
// ) {
|
|
146
|
+
// return (
|
|
147
|
+
// this as typeof this & {
|
|
148
|
+
// addGraphQLInput: (
|
|
149
|
+
// type: GraphQLInputObjectType,
|
|
150
|
+
// options: Record<string, unknown>,
|
|
151
|
+
// ) => InputObjectRef<SchemaTypes, {}>;
|
|
152
|
+
// }
|
|
153
|
+
// ).addGraphQLInput(type, {
|
|
154
|
+
// ...options,
|
|
155
|
+
// extensions: {
|
|
156
|
+
// ...options?.extensions,
|
|
157
|
+
// drizzleGraphQL: {
|
|
158
|
+
// inputType: 'orderBy',
|
|
159
|
+
// table,
|
|
160
|
+
// tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
|
|
161
|
+
// } satisfies DrizzleGraphQLInputExtensions,
|
|
162
|
+
// },
|
|
163
|
+
// });
|
|
164
|
+
// } as never;
|
|
165
|
+
// schemaBuilderProto.drizzleGraphQLFilters = function drizzleGraphQLFilters(
|
|
166
|
+
// this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
|
|
167
|
+
// table: string,
|
|
168
|
+
// type: GraphQLInputObjectType,
|
|
169
|
+
// options?: { extensions?: object },
|
|
170
|
+
// ) {
|
|
171
|
+
// return (
|
|
172
|
+
// this as typeof this & {
|
|
173
|
+
// addGraphQLInput: (
|
|
174
|
+
// type: GraphQLInputObjectType,
|
|
175
|
+
// options: Record<string, unknown>,
|
|
176
|
+
// ) => InputObjectRef<SchemaTypes, {}>;
|
|
177
|
+
// }
|
|
178
|
+
// ).addGraphQLInput(type, {
|
|
179
|
+
// ...options,
|
|
180
|
+
// extensions: {
|
|
181
|
+
// ...options?.extensions,
|
|
182
|
+
// drizzleGraphQL: {
|
|
183
|
+
// inputType: 'filters',
|
|
184
|
+
// table,
|
|
185
|
+
// tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
|
|
186
|
+
// } satisfies DrizzleGraphQLInputExtensions,
|
|
187
|
+
// },
|
|
188
|
+
// });
|
|
189
|
+
// } as never;
|
|
190
|
+
// schemaBuilderProto.drizzleGraphQLInsert = function drizzleGraphQLInsert(
|
|
191
|
+
// this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
|
|
192
|
+
// table: string,
|
|
193
|
+
// type: GraphQLInputObjectType,
|
|
194
|
+
// options?: { extensions?: object },
|
|
195
|
+
// ) {
|
|
196
|
+
// return (
|
|
197
|
+
// this as typeof this & {
|
|
198
|
+
// addGraphQLInput: (
|
|
199
|
+
// type: GraphQLInputObjectType,
|
|
200
|
+
// options: Record<string, unknown>,
|
|
201
|
+
// ) => InputObjectRef<SchemaTypes, {}>;
|
|
202
|
+
// }
|
|
203
|
+
// ).addGraphQLInput(type, {
|
|
204
|
+
// ...options,
|
|
205
|
+
// extensions: {
|
|
206
|
+
// ...options?.extensions,
|
|
207
|
+
// drizzleGraphQL: {
|
|
208
|
+
// inputType: 'insert',
|
|
209
|
+
// table,
|
|
210
|
+
// tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
|
|
211
|
+
// } satisfies DrizzleGraphQLInputExtensions,
|
|
212
|
+
// },
|
|
213
|
+
// });
|
|
214
|
+
// } as never;
|
|
215
|
+
// schemaBuilderProto.drizzleGraphQLUpdate = function drizzleGraphQLUpdate(
|
|
216
|
+
// this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
|
|
217
|
+
// table: string,
|
|
218
|
+
// type: GraphQLInputObjectType,
|
|
219
|
+
// options?: { extensions?: object },
|
|
220
|
+
// ) {
|
|
221
|
+
// return (
|
|
222
|
+
// this as typeof this & {
|
|
223
|
+
// addGraphQLInput: (
|
|
224
|
+
// type: GraphQLInputObjectType,
|
|
225
|
+
// options: Record<string, unknown>,
|
|
226
|
+
// ) => InputObjectRef<SchemaTypes, {}>;
|
|
227
|
+
// }
|
|
228
|
+
// ).addGraphQLInput(type, {
|
|
229
|
+
// ...options,
|
|
230
|
+
// extensions: {
|
|
231
|
+
// ...options?.extensions,
|
|
232
|
+
// drizzleGraphQL: {
|
|
233
|
+
// inputType: 'update',
|
|
234
|
+
// table,
|
|
235
|
+
// tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
|
|
236
|
+
// } satisfies DrizzleGraphQLInputExtensions,
|
|
237
|
+
// },
|
|
238
|
+
// });
|
|
239
|
+
// } as never;
|
|
194
240
|
//# sourceMappingURL=schema-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema-builder.ts"],"names":["SchemaBuilder","brandWithType","completeValue","PothosError","DrizzleObjectFieldBuilder","DrizzleInterfaceRef","ModelLoader","DrizzleNodeRef","DrizzleObjectRef","getSchemaConfig","getIDParser","getIDSerializer","getRefFromModel","schemaBuilderProto","prototype","drizzleObject","table","select","fields","options","name","variant","ref","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","
|
|
1
|
+
{"version":3,"sources":["../src/schema-builder.ts"],"names":["SchemaBuilder","brandWithType","completeValue","PothosError","DrizzleObjectFieldBuilder","DrizzleInterfaceRef","ModelLoader","DrizzleNodeRef","DrizzleObjectRef","getSchemaConfig","getIDParser","getIDSerializer","getRefFromModel","schemaBuilderProto","prototype","drizzleObject","table","select","fields","options","name","variant","ref","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","relations","tablesConfig","pothosDrizzleSelect","pothosDrizzleLoader","forModel","undefined","drizzleInterface","interfaceType","drizzleNode","id","column","idOptions","schemaConfig","tableConfig","idColumn","columns","idColumns","Array","isArray","interfaceRef","nodeInterfaceRef","resolve","idParser","typeName","nodeRef","parseId","parsed","columnToTsName","modelLoader","extendedOptions","interfaces","loadWithoutCache","context","info","record","loadSelectionForField","addInterfaces","configStore","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","parent","type","associateParamWithRef","drizzleObjectField","fieldName","field","addFields","tableName","drizzleInterfaceField","drizzleObjectFields","drizzleInterfaceFields"],"mappings":"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"}
|
package/esm/types.d.ts
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { type ArgumentRef, type FieldKind, type FieldMap, type FieldNullability, type FieldOptionsFromKind, type InferredFieldOptionKeys, type InferredFieldOptionsByKind, type InputFieldMap, type InputFieldsFromShape, type InputShapeFromFields, type InterfaceParam, type InterfaceRef, type InterfaceTypeOptions, type ListResolveValue, type MaybePromise, type Normalize, type ObjectRef, type ObjectTypeOptions, type OutputShape, type OutputType, type SchemaTypes, type ShapeFromTypeParam, type TypeParam, typeBrandKey } from '@pothos/core';
|
|
2
|
-
import type { BuildQueryResult, Column, DBQueryConfig, Many, Relation,
|
|
2
|
+
import type { AnyRelations, BuildQueryResult, Column, DBQueryConfig, Many, Relation, Table, TableRelationalConfig } from 'drizzle-orm';
|
|
3
3
|
import type { FieldNode, GraphQLResolveInfo } from 'graphql';
|
|
4
4
|
import type { DrizzleObjectFieldBuilder } from './drizzle-field-builder.js';
|
|
5
5
|
import type { DrizzleRef } from './interface-ref.js';
|
|
6
6
|
import type { IndirectInclude } from './utils/map-query.js';
|
|
7
7
|
import type { SelectionMap } from './utils/selections.js';
|
|
8
8
|
export type DrizzleClient = {
|
|
9
|
-
_:
|
|
9
|
+
readonly _: {
|
|
10
|
+
readonly schema: unknown;
|
|
11
|
+
readonly fullSchema: Record<string, unknown>;
|
|
12
|
+
readonly tableNamesMap: Record<string, string>;
|
|
13
|
+
readonly relations: AnyRelations;
|
|
14
|
+
};
|
|
10
15
|
query: {};
|
|
11
16
|
};
|
|
12
17
|
export type DrizzlePluginOptions<Types extends SchemaTypes> = {
|
|
@@ -15,10 +20,22 @@ export type DrizzlePluginOptions<Types extends SchemaTypes> = {
|
|
|
15
20
|
skipDeferredFragments?: boolean;
|
|
16
21
|
} & ({
|
|
17
22
|
client: DrizzleClient;
|
|
18
|
-
|
|
23
|
+
getTableConfig: (table: Table) => {
|
|
24
|
+
primaryKeys: {
|
|
25
|
+
readonly columns: Column[];
|
|
26
|
+
}[];
|
|
27
|
+
readonly columns: Column[];
|
|
28
|
+
};
|
|
29
|
+
relations?: Types["DrizzleRelations"];
|
|
19
30
|
} | {
|
|
20
31
|
client: (ctx: Types["Context"]) => DrizzleClient;
|
|
21
|
-
|
|
32
|
+
getTableConfig: (table: Table) => {
|
|
33
|
+
primaryKeys: {
|
|
34
|
+
readonly columns: Column[];
|
|
35
|
+
}[];
|
|
36
|
+
readonly columns: Column[];
|
|
37
|
+
};
|
|
38
|
+
relations?: Types["DrizzleRelations"];
|
|
22
39
|
});
|
|
23
40
|
export declare const drizzleTableName: unique symbol;
|
|
24
41
|
type NameOrVariant = {
|
|
@@ -28,44 +45,51 @@ type NameOrVariant = {
|
|
|
28
45
|
name?: string;
|
|
29
46
|
variant?: never;
|
|
30
47
|
};
|
|
31
|
-
export type DrizzleObjectOptions<Types extends SchemaTypes, Table extends keyof Types["
|
|
48
|
+
export type DrizzleObjectOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<ObjectTypeOptions<Types, ObjectRef<Types, Shape>, Shape, Interfaces>, "fields"> & NameOrVariant & {
|
|
32
49
|
select?: Selection;
|
|
33
|
-
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["
|
|
50
|
+
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationsConfig"][Table], Shape & {
|
|
34
51
|
[drizzleTableName]?: Table;
|
|
35
52
|
}>) => FieldMap;
|
|
36
53
|
};
|
|
37
|
-
export type DrizzleInterfaceOptions<Types extends SchemaTypes, Table extends keyof Types["
|
|
54
|
+
export type DrizzleInterfaceOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<InterfaceTypeOptions<Types, InterfaceRef<Types, Shape>, Shape, Interfaces> & {
|
|
38
55
|
name: string;
|
|
39
56
|
select?: Selection;
|
|
40
57
|
}, "fields"> & NameOrVariant & {
|
|
41
|
-
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["
|
|
58
|
+
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationsConfig"][Table], Shape & {
|
|
42
59
|
[drizzleTableName]?: Table;
|
|
43
60
|
}>) => FieldMap;
|
|
44
61
|
};
|
|
45
|
-
export type DrizzleNodeOptions<Types extends SchemaTypes, Table extends keyof Types["
|
|
62
|
+
export type DrizzleNodeOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Shape, Selection, Interfaces extends InterfaceParam<Types>[], IDColumns> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, "fields" | "isTypeOf"> & {
|
|
46
63
|
id: Omit<FieldOptionsFromKind<Types, Shape, "ID", false, {}, "Object", OutputShape<Types, "ID">, MaybePromise<OutputShape<Types, "ID">>>, "args" | "nullable" | "type" | InferredFieldOptionKeys> & {
|
|
47
|
-
column:
|
|
64
|
+
column: IDColumns & (Column | Column[] | ((columns: Types["DrizzleRelationsConfig"][Table]["columns"]) => Column | Column[]));
|
|
48
65
|
};
|
|
49
66
|
name: string;
|
|
50
67
|
select?: Selection;
|
|
51
|
-
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["
|
|
68
|
+
fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationsConfig"][Table], Shape & {
|
|
52
69
|
[drizzleTableName]?: Table;
|
|
53
70
|
}>) => FieldMap;
|
|
54
71
|
};
|
|
55
|
-
export type
|
|
72
|
+
export type ShapeFromIdColumns<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], IDColumns> = IDColumns extends Column ? IDColumns["_"]["data"] : IDColumns extends Column[] ? {
|
|
73
|
+
[K in IDColumns[number]["_"]["name"]]: Extract<IDColumns[number], {
|
|
74
|
+
_: {
|
|
75
|
+
name: K;
|
|
76
|
+
};
|
|
77
|
+
}>["_"]["data"];
|
|
78
|
+
} : IDColumns extends ((...args: any[]) => infer R extends Column | Column[]) ? ShapeFromIdColumns<Types, Table, R> : never;
|
|
79
|
+
export type DrizzleFieldOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationsConfig"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param> = Omit<FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "resolve" | "type"> & {
|
|
56
80
|
type: Param;
|
|
57
81
|
resolve: (query: <T extends QueryForDrizzleField<Types, Param, Table>>(selection?: T) => T, parent: ParentShape, args: InputShapeFromFields<Args>, ctx: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, Type, Nullable>>;
|
|
58
82
|
};
|
|
59
|
-
export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["
|
|
83
|
+
export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationsConfig"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param, InputName extends string, Fields extends InputFieldMap, ArgRequired extends boolean> = Omit<DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args & {
|
|
60
84
|
[K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
|
|
61
85
|
}, Kind, ResolveShape, ResolveReturnShape, Param>, "args"> & PothosSchemaTypes.FieldWithInputBaseOptions<Types, Args, Fields, InputName, ArgRequired>;
|
|
62
|
-
export type DrizzleObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape, ShapeWithSelection = Normalize<Omit<unknown extends Select ? ParentShape : BuildQueryResult<Types["
|
|
63
|
-
select?: Select & (DBQueryConfig<"one",
|
|
86
|
+
export type DrizzleObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape, ShapeWithSelection = Normalize<Omit<unknown extends Select ? ParentShape : BuildQueryResult<Types["DrizzleRelationsConfig"], ExtractTable<Types, ParentShape>, Record<string, unknown> & (Select extends (...args: any[]) => infer R ? R : Select)> & ParentShape, typeof drizzleTableName>>> = PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & InferredFieldOptionsByKind<Types, Types["InferredFieldOptionsKind"], ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & {
|
|
87
|
+
select?: Select & (DBQueryConfig<"one", Types["DrizzleRelationsConfig"], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types["Context"], nestedSelection: <Selection extends boolean | {}>(selection?: Selection, path?: string[]) => Selection) => DBQueryConfig<"one", Types["DrizzleRelationsConfig"], ExtractTable<Types, ParentShape>>));
|
|
64
88
|
};
|
|
65
|
-
export type DrizzleFieldSelection = DBQueryConfig<"one"
|
|
89
|
+
export type DrizzleFieldSelection = DBQueryConfig<"one"> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object) => DBQueryConfig<"one">), path?: IndirectInclude | string[], type?: string) => DBQueryConfig<"one"> | boolean, resolveSelection: (path: string[]) => FieldNode | null) => SelectionMap);
|
|
66
90
|
export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
|
|
67
|
-
[drizzleTableName]?: keyof Types["
|
|
68
|
-
} ? Types["
|
|
91
|
+
[drizzleTableName]?: keyof Types["DrizzleRelationsConfig"];
|
|
92
|
+
} ? Types["DrizzleRelationsConfig"][NonNullable<Shape[typeof drizzleTableName]>] : never;
|
|
69
93
|
export type RelatedFieldOptions<Types extends SchemaTypes, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Shape> = Omit<DrizzleObjectFieldOptions<Types, Shape, RefForRelation<Types, Table["relations"][Field]>, Nullable, Args, {
|
|
70
94
|
columns: {};
|
|
71
95
|
with: {
|
|
@@ -76,37 +100,39 @@ export type RelatedFieldOptions<Types extends SchemaTypes, Table extends TableRe
|
|
|
76
100
|
type?: ObjectRef<Types, TypesForRelation<Types, Table["relations"][Field]>>;
|
|
77
101
|
query?: QueryForField<Types, Args, Table["relations"][Field]>;
|
|
78
102
|
};
|
|
79
|
-
export type VariantFieldOptions<Types extends SchemaTypes, Table extends keyof Types["
|
|
80
|
-
isNull?: isNull & ((parent: Normalize<Omit<unknown extends ResolveShape ? Shape : BuildQueryResult<Types["
|
|
103
|
+
export type VariantFieldOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Variant extends DrizzleRef<any, Table> | Table, Args extends InputFieldMap, isNull, Shape, ResolveShape, ResolveReturnShape> = Omit<FieldOptionsFromKind<Types, Shape, Variant extends DrizzleRef<any> ? Variant : DrizzleRef<any, Table>, unknown extends isNull ? false : true, Args, "DrizzleObject", ResolveShape, ResolveReturnShape>, InferredFieldOptionKeys | "type"> & {
|
|
104
|
+
isNull?: isNull & ((parent: Normalize<Omit<unknown extends ResolveShape ? Shape : BuildQueryResult<Types["DrizzleRelationsConfig"], ExtractTable<Types, Shape>, Record<string, unknown> & (ResolveShape extends (...args: any[]) => infer R ? R : ResolveShape)> & Shape, typeof drizzleTableName>>, args: InputShapeFromFields<Args>, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<boolean>);
|
|
81
105
|
};
|
|
82
106
|
export type RefForRelation<Types extends SchemaTypes, Rel extends Relation> = Rel extends {
|
|
83
107
|
$relationBrand: "One";
|
|
84
108
|
} ? ObjectRef<Types, TypesForRelation<Types, Rel>> : [
|
|
85
109
|
ObjectRef<Types, TypesForRelation<Types, Rel>>
|
|
86
110
|
];
|
|
87
|
-
export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types["
|
|
111
|
+
export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Rel["targetTable"]["_"]["name"]], true>;
|
|
88
112
|
export type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Rel extends Relation> = (Rel extends {
|
|
89
113
|
$relationBrand: "One";
|
|
90
|
-
} ? Omit<DBQueryConfig<"one",
|
|
91
|
-
export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types["
|
|
114
|
+
} ? Omit<DBQueryConfig<"one", Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Rel["targetTable"]["_"]["name"]]>, "columns" | "extra" | "with"> : Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Rel["targetTable"]["_"]["name"]]>, "columns" | "extra" | "with">) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types["Context"]) => QueryConfig) : never;
|
|
115
|
+
export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types["DrizzleRelationsConfig"]> = Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Table], true>, Param extends [
|
|
92
116
|
unknown
|
|
93
117
|
] ? never : "limit">;
|
|
94
|
-
export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<"many",
|
|
95
|
-
orderBy?: ConnectionOrderBy | ((columns: Table["columns"]) => ConnectionOrderBy);
|
|
118
|
+
export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Table>, "limit" | "offset" | "columns" | "extra" | "with" | "orderBy"> & {
|
|
119
|
+
orderBy?: ConnectionOrderBy<Table> | ((columns: Table["columns"]) => ConnectionOrderBy<Table>);
|
|
96
120
|
} extends infer QueryConfig ? QueryConfig | ((args: Args, context: Types["Context"]) => QueryConfig) : never;
|
|
97
|
-
export type QueryForDrizzleConnection<Types extends SchemaTypes, Table extends TableRelationalConfig> = Omit<DBQueryConfig<"many",
|
|
98
|
-
orderBy?: ConnectionOrderBy | ((columns: Table["columns"]) => ConnectionOrderBy);
|
|
121
|
+
export type QueryForDrizzleConnection<Types extends SchemaTypes, Table extends TableRelationalConfig> = Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Table>, "limit" | "offset" | "orderBy"> & {
|
|
122
|
+
orderBy?: ConnectionOrderBy<Table> | ((columns: Table["columns"]) => ConnectionOrderBy<Table>);
|
|
99
123
|
};
|
|
100
124
|
export type ListRelation<T extends TableRelationalConfig> = {
|
|
101
|
-
[K in keyof T["relations"]]: T["relations"][K] extends Many<string> ? K : never;
|
|
125
|
+
[K in keyof T["relations"]]: T["relations"][K] extends Many<string, string> ? K : never;
|
|
102
126
|
}[keyof T["relations"]];
|
|
103
127
|
export type DrizzleConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends // biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
104
|
-
DrizzleRef<any, keyof Types["
|
|
128
|
+
DrizzleRef<any, keyof Types["DrizzleRelationsConfig"]> | keyof Types["DrizzleRelationsConfig"], TableConfig extends TableRelationalConfig, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "Arg"> & (InputFieldMap extends Args ? {} : Args), Kind, ParentShape, ResolveReturnShape>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
|
|
105
129
|
type: Type;
|
|
106
130
|
defaultSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
107
131
|
maxSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
108
132
|
resolve: (query: <T extends QueryForRelatedConnection<Types, TableConfig, ConnectionArgs>>(selection?: T) => Omit<T, "orderBy"> & {
|
|
109
|
-
orderBy:
|
|
133
|
+
orderBy: {
|
|
134
|
+
[K in keyof TableConfig["columns"]]?: "asc" | "desc" | undefined;
|
|
135
|
+
};
|
|
110
136
|
}, parent: ParentShape, args: ConnectionArgs, context: Types["Context"], info: GraphQLResolveInfo) => ShapeFromTypeParam<Types, [
|
|
111
137
|
Param
|
|
112
138
|
], Nullable> extends infer Shape ? [
|
|
@@ -117,24 +143,18 @@ DrizzleRef<any, keyof Types["DrizzleRelationSchema"]> | keyof Types["DrizzleRela
|
|
|
117
143
|
]
|
|
118
144
|
] ? ListResolveValue<Shape, Item, ResolveReturnShape> : MaybePromise<Shape> : never;
|
|
119
145
|
} : never);
|
|
120
|
-
export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, NodeTable extends TableRelationalConfig = Types["
|
|
146
|
+
export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, NodeTable extends TableRelationalConfig = Types["DrizzleRelationsConfig"][Table["relations"][Field]["targetTable"]["_"]["name"]]> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ObjectRef<Types, unknown>, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "InputObject"> & (InputFieldMap extends Args ? {} : Args), unknown>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Shape, ObjectRef<Types, unknown>, false, false, Nullable, Args, unknown>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
|
|
121
147
|
resolve?: (parent: Shape, args: ConnectionArgs, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, [
|
|
122
148
|
ObjectRef<Types, TypesForRelation<Types, Table["relations"][Field]>>
|
|
123
149
|
], Nullable>>;
|
|
124
150
|
query?: QueryForRelatedConnection<Types, NodeTable, ConnectionArgs>;
|
|
125
|
-
type?: DrizzleRef<any, Table["relations"][Field]["
|
|
151
|
+
type?: DrizzleRef<any, Table["relations"][Field]["targetTable"]["_"]["name"]>;
|
|
126
152
|
defaultSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
127
153
|
maxSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
|
|
128
154
|
} : never);
|
|
129
|
-
export type ConnectionOrderBy = Column | {
|
|
130
|
-
asc
|
|
131
|
-
}
|
|
132
|
-
desc: Column;
|
|
133
|
-
} | (Column | {
|
|
134
|
-
asc: Column;
|
|
135
|
-
} | {
|
|
136
|
-
desc: Column;
|
|
137
|
-
})[];
|
|
155
|
+
export type ConnectionOrderBy<T extends TableRelationalConfig> = Column | Column[] | {
|
|
156
|
+
[K in keyof T["columns"]]?: "asc" | "desc" | undefined;
|
|
157
|
+
};
|
|
138
158
|
export type ShapeFromConnection<T> = T extends {
|
|
139
159
|
shape: unknown;
|
|
140
160
|
} ? T["shape"] : never;
|