@pothos/plugin-drizzle 0.14.0 → 0.16.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 +17 -0
- package/README.md +417 -49
- package/dts/drizzle-field-builder.d.ts +14 -3
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/types.d.ts +6 -0
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/cursors.d.ts +6 -2
- package/dts/utils/cursors.d.ts.map +1 -1
- package/dts/utils/map-query.d.ts.map +1 -1
- package/esm/drizzle-field-builder.d.ts +16 -3
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +115 -7
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/field-builder.js +33 -2
- package/esm/field-builder.js.map +1 -1
- package/esm/types.d.ts +6 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js.map +1 -1
- package/esm/utils/cursors.d.ts +6 -2
- package/esm/utils/cursors.d.ts.map +1 -1
- package/esm/utils/cursors.js +18 -2
- package/esm/utils/cursors.js.map +1 -1
- package/esm/utils/map-query.d.ts.map +1 -1
- package/esm/utils/map-query.js +25 -6
- package/esm/utils/map-query.js.map +1 -1
- package/lib/drizzle-field-builder.js +113 -5
- package/lib/drizzle-field-builder.js.map +1 -1
- package/lib/field-builder.js +33 -2
- package/lib/field-builder.js.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/cursors.js +18 -2
- package/lib/utils/cursors.js.map +1 -1
- package/lib/utils/map-query.js +24 -6
- package/lib/utils/map-query.js.map +1 -1
- package/package.json +4 -4
- package/src/drizzle-field-builder.ts +207 -3
- package/src/field-builder.ts +40 -1
- package/src/types.ts +20 -1
- package/src/utils/cursors.ts +24 -3
- package/src/utils/map-query.ts +26 -6
package/lib/field-builder.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
5
|
const _core = require("@pothos/core");
|
|
6
|
+
const _graphql = require("graphql");
|
|
6
7
|
const _config = require("./utils/config");
|
|
7
8
|
const _cursors = require("./utils/cursors");
|
|
8
9
|
const _mapquery = require("./utils/map-query");
|
|
@@ -47,7 +48,7 @@ fieldBuilderProto.drizzleFieldWithInput = function drizzleFieldWithInput({ type,
|
|
|
47
48
|
}
|
|
48
49
|
});
|
|
49
50
|
};
|
|
50
|
-
fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, resolve, ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
51
|
+
fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize = (_this_builder_options_drizzle = this.builder.options.drizzle) === null || _this_builder_options_drizzle === void 0 ? void 0 : _this_builder_options_drizzle.maxConnectionSize, defaultSize = (_this_builder_options_drizzle1 = this.builder.options.drizzle) === null || _this_builder_options_drizzle1 === void 0 ? void 0 : _this_builder_options_drizzle1.defaultConnectionSize, resolve, totalCount, ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
51
52
|
const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this.builder) : type;
|
|
52
53
|
const typeName = this.builder.configStore.getTypeConfig(ref).name;
|
|
53
54
|
const tableName = typeof type === 'string' ? type : ref.tableName;
|
|
@@ -55,12 +56,26 @@ fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize
|
|
|
55
56
|
...options,
|
|
56
57
|
type: ref,
|
|
57
58
|
resolve: (parent, args, context, info)=>{
|
|
59
|
+
const returnType = info.returnType;
|
|
60
|
+
const fields = (0, _graphql.isObjectType)(returnType) || (0, _graphql.isInterfaceType)(returnType) ? returnType.getFields() : {};
|
|
61
|
+
const selections = info.fieldNodes;
|
|
62
|
+
const totalCountOnly = selections.every((selection)=>{
|
|
63
|
+
var _selection_selectionSet;
|
|
64
|
+
return (_selection_selectionSet = selection.selectionSet) === null || _selection_selectionSet === void 0 ? void 0 : _selection_selectionSet.selections.every((s)=>{
|
|
65
|
+
var _fields_s_name_value_extensions, _fields_s_name_value;
|
|
66
|
+
return s.kind === _graphql.Kind.FIELD && (((_fields_s_name_value = fields[s.name.value]) === null || _fields_s_name_value === void 0 ? void 0 : (_fields_s_name_value_extensions = _fields_s_name_value.extensions) === null || _fields_s_name_value_extensions === void 0 ? void 0 : _fields_s_name_value_extensions.pothosDrizzleTotalCount) || s.name.value === '__typename');
|
|
67
|
+
});
|
|
68
|
+
});
|
|
58
69
|
return (0, _cursors.resolveDrizzleCursorConnection)(tableName, info, typeName, (0, _config.getSchemaConfig)(this.builder), {
|
|
59
70
|
ctx: context,
|
|
60
71
|
maxSize,
|
|
61
72
|
defaultSize,
|
|
62
|
-
args
|
|
73
|
+
args,
|
|
74
|
+
totalCount: totalCount && (()=>totalCount(parent, args, context, info))
|
|
63
75
|
}, (q)=>{
|
|
76
|
+
if (totalCountOnly) {
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
64
79
|
// return checkIfQueryIsUsed(
|
|
65
80
|
// this.builder,
|
|
66
81
|
// query,
|
|
@@ -71,6 +86,22 @@ fieldBuilderProto.drizzleConnection = function drizzleConnection({ type, maxSize
|
|
|
71
86
|
}
|
|
72
87
|
}, connectionOptions instanceof _core.ObjectRef ? connectionOptions : {
|
|
73
88
|
...connectionOptions,
|
|
89
|
+
fields: totalCount ? (t)=>{
|
|
90
|
+
var _connectionOptions_fields;
|
|
91
|
+
return {
|
|
92
|
+
totalCount: t.int({
|
|
93
|
+
nullable: false,
|
|
94
|
+
extensions: {
|
|
95
|
+
pothosDrizzleTotalCount: true
|
|
96
|
+
},
|
|
97
|
+
resolve: (parent)=>{
|
|
98
|
+
var _parent_totalCount;
|
|
99
|
+
return (_parent_totalCount = parent.totalCount) === null || _parent_totalCount === void 0 ? void 0 : _parent_totalCount.call(parent);
|
|
100
|
+
}
|
|
101
|
+
}),
|
|
102
|
+
...(_connectionOptions_fields = connectionOptions.fields) === null || _connectionOptions_fields === void 0 ? void 0 : _connectionOptions_fields.call(connectionOptions, t)
|
|
103
|
+
};
|
|
104
|
+
} : connectionOptions.fields,
|
|
74
105
|
extensions: {
|
|
75
106
|
...connectionOptions === null || connectionOptions === void 0 ? void 0 : connectionOptions.extensions
|
|
76
107
|
}
|
package/lib/field-builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","drizzleField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","select","queryFromInfo","config","getSchemaConfig","drizzleFieldWithInput","fieldWithInput","drizzleConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","tableName","fieldRef","connection","resolveDrizzleCursorConnection","ctx","q","ObjectRef","
|
|
1
|
+
{"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","drizzleField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","select","queryFromInfo","config","getSchemaConfig","drizzleFieldWithInput","fieldWithInput","drizzleConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","totalCount","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","tableName","fieldRef","connection","returnType","fields","isObjectType","isInterfaceType","getFields","selections","fieldNodes","totalCountOnly","every","selection","selectionSet","s","kind","Kind","FIELD","value","extensions","pothosDrizzleTotalCount","resolveDrizzleCursorConnection","ctx","q","ObjectRef","t","int","nullable"],"mappings":"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"}
|
package/lib/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/types.ts"],"names":["DrizzleObjectRef","drizzleTableName","Symbol","for"],"mappings":";;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"names":["DrizzleObjectRef","drizzleTableName","Symbol","for"],"mappings":";;;;;;;;;;;QAssBSA;eAAAA,2BAAgB;;QAnnBZC;eAAAA;;;2BAmnBoB;AAnnB1B,MAAMA,mBAAmBC,OAAOC,GAAG,CAAC"}
|
package/lib/utils/cursors.js
CHANGED
|
@@ -415,7 +415,7 @@ function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, d
|
|
|
415
415
|
} : whereClauses[0]
|
|
416
416
|
};
|
|
417
417
|
}
|
|
418
|
-
function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent) {
|
|
418
|
+
function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent, totalCount) {
|
|
419
419
|
var _edges_, _edges_1;
|
|
420
420
|
const gotFullResults = results.length === Math.abs(limit);
|
|
421
421
|
const hasNextPage = args.before ? true : args.last ? false : gotFullResults;
|
|
@@ -424,6 +424,7 @@ function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent)
|
|
|
424
424
|
const connection = {
|
|
425
425
|
parent,
|
|
426
426
|
args,
|
|
427
|
+
totalCount,
|
|
427
428
|
edges: [],
|
|
428
429
|
pageInfo: {
|
|
429
430
|
startCursor: null,
|
|
@@ -498,7 +499,22 @@ async function resolveDrizzleCursorConnection(tableName, info, typeName, config,
|
|
|
498
499
|
if (!results) {
|
|
499
500
|
return results;
|
|
500
501
|
}
|
|
501
|
-
|
|
502
|
+
// Handle totalCountOnly case where resolve returns [] without calling query function
|
|
503
|
+
if (!query) {
|
|
504
|
+
return {
|
|
505
|
+
parent,
|
|
506
|
+
args: options.args,
|
|
507
|
+
totalCount: options.totalCount,
|
|
508
|
+
edges: [],
|
|
509
|
+
pageInfo: {
|
|
510
|
+
startCursor: null,
|
|
511
|
+
endCursor: null,
|
|
512
|
+
hasPreviousPage: false,
|
|
513
|
+
hasNextPage: false
|
|
514
|
+
}
|
|
515
|
+
};
|
|
516
|
+
}
|
|
517
|
+
return wrapConnectionResult(results, options.args, query.limit, formatter, undefined, parent, options.totalCount);
|
|
502
518
|
}
|
|
503
519
|
|
|
504
520
|
//# sourceMappingURL=cursors.js.map
|
package/lib/utils/cursors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/cursors.ts"],"names":["drizzleCursorConnectionQuery","formatCursorChunk","formatDrizzleCursor","formatIDChunk","getColumnParser","getColumnSerializer","getCursorFormatter","getCursorParser","getIDParser","getIDSerializer","parseDrizzleCursor","parseSerializedDrizzleColumn","parseSerializedIDColumn","resolveDrizzleCursorConnection","wrapConnectionResult","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","PothosValidationError","record","fields","config","length","map","field","keyAsName","JSON","stringify","col","columnToTsName","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","dataType","error","name","parsed","Array","isArray","forEach","i","parseOrderBy","table","orderBy","invert","entries","columns","normalized","asc","desc","push","direction","column","tableColumns","getColumns","Object","fromEntries","args","ctx","maxSize","defaultSize","where","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","cursorParser","parsedCursor","parts","index","columnName","compare","gt","lt","AND","c","OR","cursorColumns","results","resolveNode","parent","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","tableName","info","typeName","options","resolve","relations","query","formatter","q","connectionQuery","getPrimaryKey","queryFromInfo","context","select","paths","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/cursors.ts"],"names":["drizzleCursorConnectionQuery","formatCursorChunk","formatDrizzleCursor","formatIDChunk","getColumnParser","getColumnSerializer","getCursorFormatter","getCursorParser","getIDParser","getIDSerializer","parseDrizzleCursor","parseSerializedDrizzleColumn","parseSerializedIDColumn","resolveDrizzleCursorConnection","wrapConnectionResult","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","PothosValidationError","record","fields","config","length","map","field","keyAsName","JSON","stringify","col","columnToTsName","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","dataType","error","name","parsed","Array","isArray","forEach","i","parseOrderBy","table","orderBy","invert","entries","columns","normalized","asc","desc","push","direction","column","tableColumns","getColumns","Object","fromEntries","args","ctx","maxSize","defaultSize","where","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","inverted","parsedOrderBy","whereClauses","cursorParser","parsedCursor","parts","index","columnName","compare","gt","lt","AND","c","OR","cursorColumns","results","resolveNode","parent","totalCount","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","tableName","info","typeName","options","resolve","relations","query","formatter","q","connectionQuery","getPrimaryKey","queryFromInfo","context","select","paths","undefined"],"mappings":"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"}
|
package/lib/utils/map-query.js
CHANGED
|
@@ -196,13 +196,31 @@ function addFieldSelection(config, type, context, info, state, selection, indire
|
|
|
196
196
|
var _selection_alias;
|
|
197
197
|
(0, _selections.mergeSelection)(config, state, fieldSelectionMap);
|
|
198
198
|
var _selection_alias_value;
|
|
199
|
-
state.mappings
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
199
|
+
state.mappings = mergeMappings(state.mappings, {
|
|
200
|
+
[(_selection_alias_value = (_selection_alias = selection.alias) === null || _selection_alias === void 0 ? void 0 : _selection_alias.value) !== null && _selection_alias_value !== void 0 ? _selection_alias_value : selection.name.value]: {
|
|
201
|
+
field: selection.name.value,
|
|
202
|
+
type: type.name,
|
|
203
|
+
mappings,
|
|
204
|
+
indirectPath
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function mergeMappings(existing, incoming) {
|
|
210
|
+
const result = {
|
|
211
|
+
...existing
|
|
212
|
+
};
|
|
213
|
+
for (const [key, value] of Object.entries(incoming)){
|
|
214
|
+
if (result[key]) {
|
|
215
|
+
result[key] = {
|
|
216
|
+
...result[key],
|
|
217
|
+
mappings: mergeMappings(result[key].mappings, value.mappings)
|
|
218
|
+
};
|
|
219
|
+
} else {
|
|
220
|
+
result[key] = value;
|
|
221
|
+
}
|
|
205
222
|
}
|
|
223
|
+
return result;
|
|
206
224
|
}
|
|
207
225
|
function queryFromInfo({ withUsageCheck, ...options }) {
|
|
208
226
|
const state = stateFromInfo(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/utils/map-query.ts"],"names":["getIndirectType","normalizeInclude","queryFromInfo","selectionStateFromInfo","stateFromInfo","addTypeSelectionsForField","config","type","context","info","state","selection","indirectPath","deferred","name","value","startsWith","pothosDrizzleSelect","pothosIndirectInclude","extensions","path","length","paths","resolveIndirectIncludePaths","resolvedType","field","schema","getType","isObjectType","isInterfaceType","mergeSelection","selectionSet","skipDeferredFragments","addNestedSelections","pathPrefix","includePaths","resolve","includePath","resolveIndirectInclude","include","rest","sel","selections","kind","Kind","FIELD","fieldSkipped","returnType","getNamedType","getFields","alias","FRAGMENT_SPREAD","fragments","typeCondition","isDeferredFragment","INLINE_FRAGMENT","PothosValidationError","parentType","addFieldSelection","pothosDrizzleModel","fieldSelect","fieldSelectionMap","mappings","args","getMappedArgumentValues","rawQuery","indirectInclude","expectedType","query","normalizedIndirectInclude","Array","isArray","undefined","fieldState","createStateForSelection","Object","keys","columns","resolvedField","selectionToQuery","node","map","_","selectionCompatible","mergeMappings","existing","incoming","result","key","entries","withUsageCheck","options","setLoaderMappings","wrapWithUsageCheck","typeName","select","getTypeMap","initialSelection","fieldNodes","indirectType","indirectField","subPath","p","n","nested","parent","initialSelections","targetType","pothosDrizzleTable","createState","currentType","normalized","fieldName","push","skip","getDirectiveValues","GraphQLSkipDirective","variableValues","if","GraphQLIncludeDirective","deferDirective","getDirective","defer"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pothos/plugin-drizzle",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "A Pothos plugin for drizzle",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./dts/index.d.ts",
|
|
@@ -39,17 +39,17 @@
|
|
|
39
39
|
"graphql": "^16.10.0"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@libsql/client": "^0.15.
|
|
42
|
+
"@libsql/client": "^0.15.15",
|
|
43
43
|
"drizzle-graphql": "^0.8.5",
|
|
44
44
|
"drizzle-kit": "1.0.0-beta.2-b705c25",
|
|
45
45
|
"drizzle-orm": "1.0.0-beta.2-b705c25",
|
|
46
|
-
"graphql-scalars": "^1.
|
|
46
|
+
"graphql-scalars": "^1.25.0",
|
|
47
47
|
"graphql-tag": "^2.12.6",
|
|
48
48
|
"postgres": "^3.4.7",
|
|
49
49
|
"@pothos/core": "4.10.0",
|
|
50
|
-
"@pothos/plugin-add-graphql": "4.2.4",
|
|
51
50
|
"@pothos/plugin-errors": "4.8.0",
|
|
52
51
|
"@pothos/plugin-scope-auth": "4.1.6",
|
|
52
|
+
"@pothos/plugin-add-graphql": "4.2.4",
|
|
53
53
|
"@pothos/plugin-relay": "4.6.2",
|
|
54
54
|
"@pothos/plugin-with-input": "4.1.4",
|
|
55
55
|
"@pothos/test-utils": "2.1.3"
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
type FieldRef,
|
|
6
6
|
type InferredFieldOptionKeys,
|
|
7
7
|
type InputFieldMap,
|
|
8
|
+
type InputShapeFromFields,
|
|
8
9
|
type InterfaceParam,
|
|
9
10
|
isThenable,
|
|
10
11
|
type MaybePromise,
|
|
@@ -17,18 +18,30 @@ import {
|
|
|
17
18
|
type ShapeFromTypeParam,
|
|
18
19
|
type TypeParam,
|
|
19
20
|
} from '@pothos/core';
|
|
20
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
and,
|
|
23
|
+
type BuildQueryResult,
|
|
24
|
+
type DBQueryConfig,
|
|
25
|
+
eq,
|
|
26
|
+
type InferSelectModel,
|
|
27
|
+
Many,
|
|
28
|
+
type SQL,
|
|
29
|
+
type Table,
|
|
30
|
+
type TableRelationalConfig,
|
|
31
|
+
} from 'drizzle-orm';
|
|
32
|
+
import type { FieldNode } from 'graphql';
|
|
21
33
|
import type { DrizzleRef } from './interface-ref';
|
|
22
34
|
import type {
|
|
23
35
|
DrizzleConnectionShape,
|
|
24
36
|
ListRelation,
|
|
25
37
|
RelatedConnectionOptions,
|
|
38
|
+
RelatedCountOptions,
|
|
26
39
|
RelatedFieldOptions,
|
|
27
40
|
ShapeFromConnection,
|
|
28
41
|
TypesForRelation,
|
|
29
42
|
VariantFieldOptions,
|
|
30
43
|
} from './types';
|
|
31
|
-
import { getSchemaConfig } from './utils/config';
|
|
44
|
+
import { getClient, getSchemaConfig } from './utils/config';
|
|
32
45
|
import {
|
|
33
46
|
drizzleCursorConnectionQuery,
|
|
34
47
|
getCursorFormatter,
|
|
@@ -156,6 +169,7 @@ export class DrizzleObjectFieldBuilder<
|
|
|
156
169
|
resolve: _,
|
|
157
170
|
extensions,
|
|
158
171
|
description,
|
|
172
|
+
totalCount,
|
|
159
173
|
...options
|
|
160
174
|
}: {
|
|
161
175
|
type?: ObjectRef<Types, unknown, unknown>;
|
|
@@ -164,6 +178,7 @@ export class DrizzleObjectFieldBuilder<
|
|
|
164
178
|
extensions?: {};
|
|
165
179
|
description?: string;
|
|
166
180
|
query?: ((args: {}, ctx: {}) => {}) | {};
|
|
181
|
+
totalCount?: boolean;
|
|
167
182
|
resolve?: (
|
|
168
183
|
query: {},
|
|
169
184
|
parent: unknown,
|
|
@@ -188,6 +203,15 @@ export class DrizzleObjectFieldBuilder<
|
|
|
188
203
|
const ref = options.type ?? getRefFromModel(relationField.targetTableName, this.builder);
|
|
189
204
|
let typeName: string | undefined;
|
|
190
205
|
|
|
206
|
+
const buildCountFilter = (parentTable: TableConfig['table']): SQL => {
|
|
207
|
+
const { sourceColumns, targetColumns } = relationField;
|
|
208
|
+
return and(
|
|
209
|
+
...sourceColumns.map((sourceCol: { name: string }, i: number) =>
|
|
210
|
+
eq(targetColumns[i], parentTable[sourceCol.name as never]),
|
|
211
|
+
),
|
|
212
|
+
)!;
|
|
213
|
+
};
|
|
214
|
+
|
|
191
215
|
const getQuery = (args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => {
|
|
192
216
|
const { limit, orderBy, where, ...fieldQuery } =
|
|
193
217
|
(typeof query === 'function' ? query(args, ctx) : query) ?? {};
|
|
@@ -223,8 +247,31 @@ export class DrizzleObjectFieldBuilder<
|
|
|
223
247
|
args: object,
|
|
224
248
|
context: object,
|
|
225
249
|
nestedQuery: (query: unknown, path?: unknown) => { select?: object },
|
|
250
|
+
getSelection: (path: string[]) => FieldNode | null,
|
|
226
251
|
) => {
|
|
227
252
|
typeName ??= this.builder.configStore.getTypeConfig(ref).name;
|
|
253
|
+
|
|
254
|
+
const hasTotalCount = totalCount && !!getSelection(['totalCount']);
|
|
255
|
+
const hasEdges = !!getSelection(['edges']);
|
|
256
|
+
const hasNodes = !!getSelection(['nodes']);
|
|
257
|
+
const hasPageInfo = !!getSelection(['pageInfo']);
|
|
258
|
+
const totalCountOnly = hasTotalCount && !hasEdges && !hasNodes && !hasPageInfo;
|
|
259
|
+
const countSelection = {
|
|
260
|
+
[`_${name as string}_count`]: (parent: TableConfig['table']) =>
|
|
261
|
+
getClient(this.builder, context).$count(
|
|
262
|
+
relatedTable.table as Table,
|
|
263
|
+
buildCountFilter(parent),
|
|
264
|
+
),
|
|
265
|
+
};
|
|
266
|
+
|
|
267
|
+
if (totalCountOnly) {
|
|
268
|
+
return {
|
|
269
|
+
columns: {},
|
|
270
|
+
with: {},
|
|
271
|
+
extras: countSelection,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
|
|
228
275
|
const nested = nestedQuery(getQuery(args, context).select, {
|
|
229
276
|
getType: () => typeName!,
|
|
230
277
|
paths: [[{ name: 'nodes' }], [{ name: 'edges' }, { name: 'node' }]],
|
|
@@ -235,6 +282,7 @@ export class DrizzleObjectFieldBuilder<
|
|
|
235
282
|
with: {
|
|
236
283
|
[name]: nested,
|
|
237
284
|
},
|
|
285
|
+
extras: hasTotalCount ? countSelection : {},
|
|
238
286
|
};
|
|
239
287
|
};
|
|
240
288
|
const fieldRef = (
|
|
@@ -255,14 +303,37 @@ export class DrizzleObjectFieldBuilder<
|
|
|
255
303
|
args: PothosSchemaTypes.DefaultConnectionArguments,
|
|
256
304
|
context: {},
|
|
257
305
|
) => {
|
|
306
|
+
const countKey = `_${name as string}_count`;
|
|
307
|
+
const parentRecord = parent as Record<string, unknown>;
|
|
308
|
+
const countValue = totalCount
|
|
309
|
+
? (parentRecord[countKey] as number | undefined)
|
|
310
|
+
: undefined;
|
|
311
|
+
|
|
312
|
+
if (!(name in parentRecord)) {
|
|
313
|
+
return {
|
|
314
|
+
parent,
|
|
315
|
+
args,
|
|
316
|
+
totalCount: countValue,
|
|
317
|
+
edges: [],
|
|
318
|
+
pageInfo: {
|
|
319
|
+
startCursor: null,
|
|
320
|
+
endCursor: null,
|
|
321
|
+
hasPreviousPage: false,
|
|
322
|
+
hasNextPage: false,
|
|
323
|
+
},
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
|
|
258
327
|
const { select, cursorColumns } = getQuery(args, context);
|
|
328
|
+
|
|
259
329
|
return wrapConnectionResult(
|
|
260
|
-
|
|
330
|
+
parentRecord[name] as readonly {}[],
|
|
261
331
|
args,
|
|
262
332
|
select.limit,
|
|
263
333
|
getCursorFormatter(cursorColumns, schemaConfig),
|
|
264
334
|
undefined,
|
|
265
335
|
parent,
|
|
336
|
+
countValue,
|
|
266
337
|
);
|
|
267
338
|
},
|
|
268
339
|
},
|
|
@@ -270,6 +341,17 @@ export class DrizzleObjectFieldBuilder<
|
|
|
270
341
|
? connectionOptions
|
|
271
342
|
: {
|
|
272
343
|
...connectionOptions,
|
|
344
|
+
fields: totalCount
|
|
345
|
+
? (
|
|
346
|
+
t: PothosSchemaTypes.ObjectFieldBuilder<SchemaTypes, { totalCount?: number }>,
|
|
347
|
+
) => ({
|
|
348
|
+
totalCount: t.int({
|
|
349
|
+
nullable: false,
|
|
350
|
+
resolve: (connection) => connection.totalCount,
|
|
351
|
+
}),
|
|
352
|
+
...(connectionOptions as { fields?: (t: unknown) => {} }).fields?.(t),
|
|
353
|
+
})
|
|
354
|
+
: (connectionOptions as { fields: undefined }).fields,
|
|
273
355
|
},
|
|
274
356
|
edgeOptions,
|
|
275
357
|
);
|
|
@@ -406,6 +488,128 @@ export class DrizzleObjectFieldBuilder<
|
|
|
406
488
|
} as never) as never;
|
|
407
489
|
}
|
|
408
490
|
|
|
491
|
+
relatedField<
|
|
492
|
+
Field extends keyof TableConfig['relations'],
|
|
493
|
+
Type extends TypeParam<Types>,
|
|
494
|
+
Nullable extends boolean,
|
|
495
|
+
Args extends InputFieldMap,
|
|
496
|
+
Select extends DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>,
|
|
497
|
+
ShapeWithSelection = Shape &
|
|
498
|
+
BuildQueryResult<Types['DrizzleRelations'], TableConfig, Select & { columns: {} }>,
|
|
499
|
+
>(
|
|
500
|
+
relationName: Field,
|
|
501
|
+
options: {
|
|
502
|
+
type: Type;
|
|
503
|
+
nullable?: Nullable;
|
|
504
|
+
args?: Args;
|
|
505
|
+
description?: string;
|
|
506
|
+
select: (
|
|
507
|
+
buildFilter: (parentTable: TableConfig['table']) => SQL,
|
|
508
|
+
args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {},
|
|
509
|
+
ctx: Types['Context'],
|
|
510
|
+
nestedQuery: (
|
|
511
|
+
query: DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>,
|
|
512
|
+
) => DBQueryConfig<'many', Types['DrizzleRelations'], TableConfig>,
|
|
513
|
+
) => Select;
|
|
514
|
+
resolve: (
|
|
515
|
+
parent: ShapeWithSelection,
|
|
516
|
+
args: Args extends InputFieldMap ? InputShapeFromFields<Args> : {},
|
|
517
|
+
ctx: Types['Context'],
|
|
518
|
+
info: unknown,
|
|
519
|
+
) => ShapeFromTypeParam<Types, Type, Nullable>;
|
|
520
|
+
},
|
|
521
|
+
): FieldRef<Types, ShapeFromTypeParam<Types, Type, Nullable>, 'DrizzleObject'> {
|
|
522
|
+
const schemaConfig = getSchemaConfig(this.builder);
|
|
523
|
+
const relationField = schemaConfig.relations?.[this.table].relations[relationName as string];
|
|
524
|
+
|
|
525
|
+
if (!relationField) {
|
|
526
|
+
throw new PothosSchemaError(
|
|
527
|
+
`Could not find relation ${relationName as string} on table ${this.table}`,
|
|
528
|
+
);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
const buildFilter = (parentTable: TableConfig['table']): SQL => {
|
|
532
|
+
const { sourceColumns, targetColumns } = relationField;
|
|
533
|
+
|
|
534
|
+
return and(
|
|
535
|
+
...sourceColumns.map((sourceCol, i) =>
|
|
536
|
+
eq(targetColumns[i], parentTable[sourceCol.name as never]),
|
|
537
|
+
),
|
|
538
|
+
)!;
|
|
539
|
+
};
|
|
540
|
+
|
|
541
|
+
const relationSelect = (
|
|
542
|
+
args: object,
|
|
543
|
+
context: Types['Context'],
|
|
544
|
+
nestedQuery: (query: unknown) => unknown,
|
|
545
|
+
) => {
|
|
546
|
+
const selection = options.select(
|
|
547
|
+
buildFilter as never,
|
|
548
|
+
args as never,
|
|
549
|
+
context,
|
|
550
|
+
nestedQuery as never,
|
|
551
|
+
) as Select & { with?: unknown };
|
|
552
|
+
return {
|
|
553
|
+
columns: selection.columns ?? {},
|
|
554
|
+
extras: selection.extras,
|
|
555
|
+
with: selection.with,
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
|
|
559
|
+
return this.field({
|
|
560
|
+
type: options.type,
|
|
561
|
+
nullable: options.nullable,
|
|
562
|
+
args: options.args,
|
|
563
|
+
description: options.description,
|
|
564
|
+
extensions: {
|
|
565
|
+
pothosDrizzleSelect: relationSelect as never,
|
|
566
|
+
},
|
|
567
|
+
resolve: options.resolve as never,
|
|
568
|
+
} as never) as never;
|
|
569
|
+
}
|
|
570
|
+
|
|
571
|
+
relatedCount<
|
|
572
|
+
Field extends keyof TableConfig['relations'],
|
|
573
|
+
Args extends InputFieldMap,
|
|
574
|
+
Where extends SQL | undefined,
|
|
575
|
+
>(
|
|
576
|
+
relationName: Field,
|
|
577
|
+
...allArgs: NormalizeArgs<[options: RelatedCountOptions<Types, Shape, Args, Where>]>
|
|
578
|
+
): FieldRef<Types, number, 'DrizzleObject'> {
|
|
579
|
+
const [{ where, ...options } = {} as never] = allArgs;
|
|
580
|
+
const countKey = `_${relationName as string}_count`;
|
|
581
|
+
const schemaConfig = getSchemaConfig(this.builder);
|
|
582
|
+
const relationField = schemaConfig.relations?.[this.table].relations[relationName as string];
|
|
583
|
+
const relatedTable = schemaConfig.relations[relationField.targetTableName];
|
|
584
|
+
|
|
585
|
+
return this.relatedField(relationName, {
|
|
586
|
+
...options,
|
|
587
|
+
type: 'Int' as never,
|
|
588
|
+
nullable: false,
|
|
589
|
+
select: (
|
|
590
|
+
buildFilter: (parent: TableConfig['table']) => SQL,
|
|
591
|
+
args: object,
|
|
592
|
+
ctx: Types['Context'],
|
|
593
|
+
) => {
|
|
594
|
+
const whereClause =
|
|
595
|
+
typeof where === 'function'
|
|
596
|
+
? (where as (args: unknown, ctx: unknown) => SQL | undefined)(args, ctx)
|
|
597
|
+
: where;
|
|
598
|
+
|
|
599
|
+
return {
|
|
600
|
+
extras: {
|
|
601
|
+
[countKey]: (parent: TableConfig['table']) =>
|
|
602
|
+
getClient(this.builder, ctx).$count(
|
|
603
|
+
relatedTable.table as Table,
|
|
604
|
+
whereClause ? and(buildFilter(parent), whereClause) : buildFilter(parent),
|
|
605
|
+
),
|
|
606
|
+
},
|
|
607
|
+
} as never;
|
|
608
|
+
},
|
|
609
|
+
resolve: (parent: Record<string, number>) => parent[countKey],
|
|
610
|
+
} as never) as FieldRef<Types, number, 'DrizzleObject'>;
|
|
611
|
+
}
|
|
612
|
+
|
|
409
613
|
expose<
|
|
410
614
|
Type extends TypeParam<Types>,
|
|
411
615
|
Nullable extends boolean,
|