@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DBQueryConfig, type
|
|
1
|
+
import { type DBQueryConfig, type TableRelationalConfig } from 'drizzle-orm';
|
|
2
2
|
import type { PothosDrizzleSchemaConfig } from './config.js';
|
|
3
3
|
import type { LoaderMappings } from './loader-map.js';
|
|
4
4
|
export interface SelectionState {
|
|
@@ -7,17 +7,17 @@ export interface SelectionState {
|
|
|
7
7
|
allColumns: boolean;
|
|
8
8
|
columns: Set<string>;
|
|
9
9
|
with: Map<string, SelectionState>;
|
|
10
|
-
extras: Map<string,
|
|
10
|
+
extras: Map<string, NonNullable<SelectionMap["extras"]>[string]>;
|
|
11
11
|
mappings: LoaderMappings;
|
|
12
12
|
parent?: SelectionState;
|
|
13
13
|
depth: number;
|
|
14
14
|
skipDeferredFragments: boolean;
|
|
15
15
|
}
|
|
16
|
-
export type SelectionMap = DBQueryConfig<"one"
|
|
16
|
+
export type SelectionMap = DBQueryConfig<"one">;
|
|
17
17
|
export declare function selectionCompatible(state: SelectionState, selectionMap: SelectionMap | boolean, ignoreQuery?: boolean): boolean;
|
|
18
18
|
export declare function stateCompatible(state: SelectionState, newState: SelectionState, ignoreQuery?: boolean): boolean;
|
|
19
19
|
export declare function mergeState(state: SelectionState, newState: SelectionState): void;
|
|
20
20
|
export declare function createState(table: TableRelationalConfig, skipDeferredFragments: boolean, parent?: SelectionState): SelectionState;
|
|
21
|
-
export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState,
|
|
22
|
-
export declare function selectionToQuery(state: SelectionState): SelectionMap;
|
|
21
|
+
export declare function mergeSelection(config: PothosDrizzleSchemaConfig, state: SelectionState, selection: SelectionMap | boolean): void;
|
|
22
|
+
export declare function selectionToQuery(config: PothosDrizzleSchemaConfig, state: SelectionState): SelectionMap;
|
|
23
23
|
//# sourceMappingURL=selections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"selections.d.ts","sourceRoot":"","sources":["../../src/utils/selections.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAIlB,KAAK,qBAAqB,EAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAEhD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,cAAc,EACrB,YAAY,EAAE,YAAY,GAAG,OAAO,EACpC,WAAW,UAAQ,GAClB,OAAO,CA+BT;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,cAAc,EACxB,WAAW,UAAQ,GAClB,OAAO,CAQT;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,QAoBzE;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,qBAAqB,EAC5B,qBAAqB,EAAE,OAAO,EAC9B,MAAM,CAAC,EAAE,cAAc,GACtB,cAAc,CAahB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,YAAY,GAAG,OAAO,QAyDlC;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,cAAc,GACpB,YAAY,CAgCd"}
|
package/esm/utils/selections.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PothosValidationError } from '@pothos/core';
|
|
2
|
-
import {
|
|
2
|
+
import { getTableUniqueName } from 'drizzle-orm';
|
|
3
3
|
import { deepEqual } from './deep-equal.js';
|
|
4
4
|
export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
|
|
5
5
|
if (typeof selectionMap === "boolean") {
|
|
@@ -10,10 +10,9 @@ export function selectionCompatible(state, selectionMap, ignoreQuery = false) {
|
|
|
10
10
|
!selectionCompatible(state.with.get(key), value))) {
|
|
11
11
|
return false;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return sql && (sql.sql !== value.sql || sql.fieldAlias !== value.fieldAlias);
|
|
13
|
+
if (extras && Object.entries(extras).some(([key, value]) => {
|
|
14
|
+
const existing = state.extras.get(key);
|
|
15
|
+
return existing && existing !== value;
|
|
17
16
|
})) {
|
|
18
17
|
return false;
|
|
19
18
|
}
|
|
@@ -61,22 +60,24 @@ export function createState(table, skipDeferredFragments, parent) {
|
|
|
61
60
|
depth: parent ? parent.depth + 1 : 0
|
|
62
61
|
};
|
|
63
62
|
}
|
|
64
|
-
export function mergeSelection(config, state,
|
|
63
|
+
export function mergeSelection(config, state, selection) {
|
|
64
|
+
const { with: withSelection, extras, columns, ...query } = typeof selection === "boolean" ? {} : selection;
|
|
65
65
|
if (withSelection) {
|
|
66
66
|
for (const [key, value] of Object.entries(withSelection)) {
|
|
67
67
|
const relation = state.table.relations[key];
|
|
68
68
|
if (!relation) {
|
|
69
69
|
throw new PothosValidationError(`Relation ${key} does not exist on ${state.table.dbName}`);
|
|
70
70
|
}
|
|
71
|
-
|
|
71
|
+
const tableUniqueName = getTableUniqueName(relation.targetTable);
|
|
72
|
+
const tableName = config.relations.tableNamesMap[tableUniqueName];
|
|
73
|
+
merge(config.relations.tablesConfig[tableName], key, value);
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
if (Object.keys(query).length > 0) {
|
|
75
77
|
state.query = query;
|
|
76
78
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
for (const [key, value] of Object.entries(resolvedExtras)) {
|
|
79
|
+
if (extras) {
|
|
80
|
+
for (const [key, value] of Object.entries(extras)) {
|
|
80
81
|
state.extras.set(key, value);
|
|
81
82
|
}
|
|
82
83
|
}
|
|
@@ -88,25 +89,24 @@ export function mergeSelection(config, state, { with: withSelection, extras, col
|
|
|
88
89
|
state.columns.add(key);
|
|
89
90
|
}
|
|
90
91
|
}
|
|
91
|
-
else {
|
|
92
|
+
else if (selection === true) {
|
|
92
93
|
state.allColumns = true;
|
|
93
94
|
}
|
|
94
95
|
function merge(table, key, value) {
|
|
95
96
|
if (!value) {
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
|
-
const selection = value === true ? {} : value;
|
|
99
99
|
if (state.with.has(key)) {
|
|
100
|
-
mergeSelection(config, state.with.get(key),
|
|
100
|
+
mergeSelection(config, state.with.get(key), value);
|
|
101
101
|
}
|
|
102
102
|
else {
|
|
103
103
|
const relatedState = createState(table, state.skipDeferredFragments, state);
|
|
104
|
-
mergeSelection(config, relatedState,
|
|
104
|
+
mergeSelection(config, relatedState, value);
|
|
105
105
|
state.with.set(key, relatedState);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
export function selectionToQuery(state) {
|
|
109
|
+
export function selectionToQuery(config, state) {
|
|
110
110
|
const query = {
|
|
111
111
|
...state.query,
|
|
112
112
|
with: {},
|
|
@@ -122,15 +122,16 @@ export function selectionToQuery(state) {
|
|
|
122
122
|
for (const key of state.columns) {
|
|
123
123
|
query.columns[key] = true;
|
|
124
124
|
}
|
|
125
|
-
for (const
|
|
126
|
-
|
|
125
|
+
for (const column of config.getPrimaryKey(state.table.tsName)) {
|
|
126
|
+
const tsName = config.columnToTsName(column);
|
|
127
|
+
query.columns[tsName] = true;
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
for (const [key, value] of state.extras) {
|
|
130
131
|
query.extras[key] = value;
|
|
131
132
|
}
|
|
132
133
|
state.with.forEach((sel, relation) => {
|
|
133
|
-
query.with[relation] = selectionToQuery(sel);
|
|
134
|
+
query.with[relation] = selectionToQuery(config, sel);
|
|
134
135
|
});
|
|
135
136
|
return query;
|
|
136
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/selections.ts"],"names":["PothosValidationError","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/selections.ts"],"names":["PothosValidationError","getTableUniqueName","deepEqual","selectionCompatible","state","selectionMap","ignoreQuery","Object","keys","query","length","with","withSelection","extras","columns","entries","some","key","value","has","get","existing","stateCompatible","newState","name","relationState","mergeState","allColumns","add","set","createState","table","skipDeferredFragments","parent","Set","Map","mappings","depth","mergeSelection","config","selection","relation","relations","dbName","tableUniqueName","targetTable","tableName","tableNamesMap","merge","tablesConfig","relatedState","selectionToQuery","column","getPrimaryKey","tsName","columnToTsName","forEach","sel"],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "drizzleConnectionHelpers", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return drizzleConnectionHelpers;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _config = require("./utils/config");
|
|
12
|
+
const _cursors = require("./utils/cursors");
|
|
13
|
+
const _refs = require("./utils/refs");
|
|
14
|
+
const _selections = require("./utils/selections");
|
|
15
|
+
var _builder_options_drizzle, _builder_options_drizzle1;
|
|
16
|
+
function drizzleConnectionHelpers(builder, refOrType, { select, resolveNode, query, args: createArgs, maxSize = (_builder_options_drizzle = builder.options.drizzle) === null || _builder_options_drizzle === void 0 ? void 0 : _builder_options_drizzle.maxConnectionSize, defaultSize = (_builder_options_drizzle1 = builder.options.drizzle) === null || _builder_options_drizzle1 === void 0 ? void 0 : _builder_options_drizzle1.defaultConnectionSize }) {
|
|
17
|
+
const config = (0, _config.getSchemaConfig)(builder);
|
|
18
|
+
const tableName = typeof refOrType === 'string' ? refOrType : refOrType.tableName;
|
|
19
|
+
function resolve(list, args, ctx, parent) {
|
|
20
|
+
const { select, cursorColumns } = getQueryArgs(args, ctx);
|
|
21
|
+
const formatCursor = (0, _cursors.getCursorFormatter)(cursorColumns, config);
|
|
22
|
+
return (0, _cursors.wrapConnectionResult)(list, args, select.limit, formatCursor, resolveNode !== null && resolveNode !== void 0 ? resolveNode : (edge)=>edge, parent);
|
|
23
|
+
}
|
|
24
|
+
const getQueryArgs = (args, ctx)=>{
|
|
25
|
+
var _ref;
|
|
26
|
+
const { limit, orderBy, where, ...fieldQuery } = (_ref = typeof query === 'function' ? query(args, ctx) : query) !== null && _ref !== void 0 ? _ref : {};
|
|
27
|
+
const table = config.relations.tablesConfig[tableName];
|
|
28
|
+
var _ref1;
|
|
29
|
+
const { cursorColumns, columns, ...connectionQuery } = (0, _cursors.drizzleCursorConnectionQuery)({
|
|
30
|
+
ctx,
|
|
31
|
+
maxSize,
|
|
32
|
+
defaultSize: typeof defaultSize === 'function' ? defaultSize(args, ctx) : defaultSize,
|
|
33
|
+
args,
|
|
34
|
+
orderBy: (_ref1 = typeof orderBy === 'function' ? orderBy(table) : orderBy) !== null && _ref1 !== void 0 ? _ref1 : (0, _config.getSchemaConfig)(builder).getPrimaryKey(tableName),
|
|
35
|
+
where,
|
|
36
|
+
config,
|
|
37
|
+
table
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
select: {
|
|
41
|
+
...fieldQuery,
|
|
42
|
+
...connectionQuery,
|
|
43
|
+
columns: {
|
|
44
|
+
...fieldQuery.columns,
|
|
45
|
+
...columns
|
|
46
|
+
},
|
|
47
|
+
limit: Math.abs(limit !== null && limit !== void 0 ? limit : connectionQuery.limit)
|
|
48
|
+
},
|
|
49
|
+
cursorColumns
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
function getQuery(args, ctx, nestedSelection) {
|
|
53
|
+
var _builder_options_drizzle;
|
|
54
|
+
const nestedSelect = select ? select((sel)=>nestedSelection(sel, [
|
|
55
|
+
'edges',
|
|
56
|
+
'node'
|
|
57
|
+
]), args, ctx) : nestedSelection(true, [
|
|
58
|
+
'edges',
|
|
59
|
+
'node'
|
|
60
|
+
]);
|
|
61
|
+
const queryArgs = getQueryArgs(args, ctx);
|
|
62
|
+
var _builder_options_drizzle_skipDeferredFragments;
|
|
63
|
+
const selectState = (0, _selections.createState)(config.relations.tablesConfig[tableName], (_builder_options_drizzle_skipDeferredFragments = (_builder_options_drizzle = builder.options.drizzle) === null || _builder_options_drizzle === void 0 ? void 0 : _builder_options_drizzle.skipDeferredFragments) !== null && _builder_options_drizzle_skipDeferredFragments !== void 0 ? _builder_options_drizzle_skipDeferredFragments : true);
|
|
64
|
+
(0, _selections.mergeSelection)(config, selectState, queryArgs.select);
|
|
65
|
+
if (typeof nestedSelect === 'object' && nestedSelect) {
|
|
66
|
+
(0, _selections.mergeSelection)(config, selectState, nestedSelect);
|
|
67
|
+
}
|
|
68
|
+
const baseQuery = typeof query === 'function' ? query(args, ctx) : query !== null && query !== void 0 ? query : {};
|
|
69
|
+
const queryResult = (0, _selections.selectionToQuery)(config, selectState);
|
|
70
|
+
return {
|
|
71
|
+
...baseQuery,
|
|
72
|
+
...queryResult
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const getArgs = ()=>createArgs ? builder.args(createArgs) : {};
|
|
76
|
+
return {
|
|
77
|
+
ref: typeof refOrType === 'string' ? (0, _refs.getRefFromModel)(refOrType, builder) : refOrType,
|
|
78
|
+
resolve,
|
|
79
|
+
select: select !== null && select !== void 0 ? select : {},
|
|
80
|
+
getQuery,
|
|
81
|
+
getArgs
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=connection-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/connection-helpers.ts"],"names":["drizzleConnectionHelpers","builder","refOrType","select","resolveNode","query","args","createArgs","maxSize","options","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","config","getSchemaConfig","tableName","resolve","list","ctx","parent","cursorColumns","getQueryArgs","formatCursor","getCursorFormatter","wrapConnectionResult","limit","edge","orderBy","where","fieldQuery","table","relations","tablesConfig","columns","connectionQuery","drizzleCursorConnectionQuery","getPrimaryKey","Math","abs","getQuery","nestedSelection","nestedSelect","sel","queryArgs","selectState","createState","skipDeferredFragments","mergeSelection","baseQuery","queryResult","selectionToQuery","getArgs","ref","getRefFromModel"],"mappings":"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"}
|
|
@@ -28,12 +28,14 @@ function _define_property(obj, key, value) {
|
|
|
28
28
|
}
|
|
29
29
|
// Workaround for FieldKind not being extended on Builder classes
|
|
30
30
|
const RootBuilder = _core.RootFieldBuilder;
|
|
31
|
-
const ops = (0, _drizzleorm.getOperators)();
|
|
32
31
|
class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
33
32
|
variant(variant, ...allArgs) {
|
|
34
33
|
const [{ isNull, nullable, ...options } = {}] = allArgs;
|
|
35
34
|
const ref = typeof variant === 'string' ? (0, _refs.getRefFromModel)(variant, this.builder) : variant;
|
|
36
|
-
const selfSelect = (_args, _context, nestedQuery)=>
|
|
35
|
+
const selfSelect = (_args, _context, nestedQuery)=>{
|
|
36
|
+
var _options_select;
|
|
37
|
+
return nestedQuery((_options_select = options.select) !== null && _options_select !== void 0 ? _options_select : {});
|
|
38
|
+
};
|
|
37
39
|
return this.field({
|
|
38
40
|
...options,
|
|
39
41
|
type: ref,
|
|
@@ -55,16 +57,18 @@ class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
59
|
relation(name, ...allArgs) {
|
|
58
|
-
var
|
|
60
|
+
var _schemaConfig_relations_tablesConfig;
|
|
59
61
|
const [options = {}] = allArgs;
|
|
60
62
|
const schemaConfig = (0, _config.getSchemaConfig)(this.builder);
|
|
61
|
-
const relationField = (
|
|
62
|
-
const
|
|
63
|
+
const relationField = (_schemaConfig_relations_tablesConfig = schemaConfig.relations.tablesConfig) === null || _schemaConfig_relations_tablesConfig === void 0 ? void 0 : _schemaConfig_relations_tablesConfig[this.table].relations[name];
|
|
64
|
+
const tableUniqueName = (0, _drizzleorm.getTableUniqueName)(relationField.targetTable);
|
|
65
|
+
const tableName = schemaConfig.relations.tableNamesMap[tableUniqueName];
|
|
66
|
+
const relatedModel = schemaConfig.relations.tables[tableName];
|
|
63
67
|
if (!relatedModel) {
|
|
64
68
|
throw new _core.PothosSchemaError(`Could not find relation ${name} on table ${this.table}`);
|
|
65
69
|
}
|
|
66
70
|
var _options_type;
|
|
67
|
-
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(
|
|
71
|
+
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(tableName, this.builder);
|
|
68
72
|
const { query = {}, extensions, ...rest } = options;
|
|
69
73
|
const relationSelect = (args, context, nestedQuery)=>{
|
|
70
74
|
const relQuery = {
|
|
@@ -93,7 +97,7 @@ class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
93
97
|
expose(...args) {
|
|
94
98
|
var _typeConfig_extensions;
|
|
95
99
|
const [name, options = {}] = args;
|
|
96
|
-
const typeConfig = this.builder.configStore.getTypeConfig(this.typename,
|
|
100
|
+
const typeConfig = this.builder.configStore.getTypeConfig(this.typename, this.graphqlKind);
|
|
97
101
|
const usingSelect = !!((_typeConfig_extensions = typeConfig.extensions) === null || _typeConfig_extensions === void 0 ? void 0 : _typeConfig_extensions.pothosDrizzleSelect);
|
|
98
102
|
return this.exposeField(name, {
|
|
99
103
|
...options,
|
|
@@ -130,26 +134,33 @@ class DrizzleObjectFieldBuilder extends RootBuilder {
|
|
|
130
134
|
])), _define_property(this, "exposeStringList", this.createExpose([
|
|
131
135
|
'String'
|
|
132
136
|
])), _define_property(this, "table", void 0), _define_property(this, "typename", void 0), _define_property(this, "relatedConnection", function relatedConnection(name, { 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, query, resolve, extensions, description, ...options } = {}, connectionOptions = {}, edgeOptions = {}) {
|
|
133
|
-
var
|
|
137
|
+
var _schemaConfig_relations_tablesConfig;
|
|
134
138
|
const schemaConfig = (0, _config.getSchemaConfig)(this.builder);
|
|
135
|
-
const relationField = (
|
|
136
|
-
const
|
|
139
|
+
const relationField = (_schemaConfig_relations_tablesConfig = schemaConfig.relations.tablesConfig) === null || _schemaConfig_relations_tablesConfig === void 0 ? void 0 : _schemaConfig_relations_tablesConfig[this.table].relations[name];
|
|
140
|
+
const tableUniqueName = (0, _drizzleorm.getTableUniqueName)(relationField.targetTable);
|
|
141
|
+
const tableName = schemaConfig.relations.tableNamesMap[tableUniqueName];
|
|
142
|
+
const relatedModel = schemaConfig.relations.tables[tableName];
|
|
137
143
|
if (!relatedModel) {
|
|
138
144
|
throw new _core.PothosSchemaError(`Could not find relation ${name} on table ${this.table}`);
|
|
139
145
|
}
|
|
140
146
|
var _options_type;
|
|
141
|
-
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(
|
|
147
|
+
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _refs.getRefFromModel)(tableName, this.builder);
|
|
142
148
|
let typeName;
|
|
143
149
|
const getQuery = (args, ctx)=>{
|
|
144
150
|
var _ref;
|
|
145
151
|
const { limit, orderBy, where, ...fieldQuery } = (_ref = typeof query === 'function' ? query(args, ctx) : query) !== null && _ref !== void 0 ? _ref : {};
|
|
152
|
+
const tableUniqueName = (0, _drizzleorm.getTableUniqueName)(relatedModel);
|
|
153
|
+
const tableName = schemaConfig.relations.tableNamesMap[tableUniqueName];
|
|
154
|
+
var _ref1;
|
|
146
155
|
const { cursorColumns, columns, ...connectionQuery } = (0, _cursors.drizzleCursorConnectionQuery)({
|
|
147
156
|
ctx,
|
|
148
157
|
maxSize,
|
|
149
158
|
defaultSize,
|
|
150
159
|
args,
|
|
151
|
-
orderBy:
|
|
152
|
-
where
|
|
160
|
+
orderBy: (_ref1 = typeof orderBy === 'function' ? orderBy(relatedModel) : orderBy) !== null && _ref1 !== void 0 ? _ref1 : (0, _config.getSchemaConfig)(this.builder).getPrimaryKey(tableName),
|
|
161
|
+
where,
|
|
162
|
+
config: schemaConfig,
|
|
163
|
+
table: schemaConfig.relations.tablesConfig[tableName]
|
|
153
164
|
});
|
|
154
165
|
return {
|
|
155
166
|
select: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["DrizzleObjectFieldBuilder","RootBuilder","RootFieldBuilder","
|
|
1
|
+
{"version":3,"sources":["../src/drizzle-field-builder.ts"],"names":["DrizzleObjectFieldBuilder","RootBuilder","RootFieldBuilder","variant","allArgs","isNull","nullable","options","ref","getRefFromModel","builder","selfSelect","_args","_context","nestedQuery","select","field","type","extensions","pothosDrizzleSelect","resolve","parent","args","context","info","parentIsNull","isThenable","then","resolved","relation","name","schemaConfig","getSchemaConfig","relationField","relations","tablesConfig","table","tableUniqueName","getTableUniqueName","targetTable","tableName","tableNamesMap","relatedModel","tables","PothosSchemaError","query","rest","relationSelect","relQuery","columns","with","Many","expose","typeConfig","configStore","getTypeConfig","typename","graphqlKind","usingSelect","exposeField","pothosDrizzleVariant","createExpose","description","constructor","exposeBoolean","exposeFloat","exposeInt","exposeID","exposeString","exposeBooleanList","exposeFloatList","exposeIntList","exposeIDList","exposeStringList","relatedConnection","maxSize","drizzle","maxConnectionSize","defaultSize","defaultConnectionSize","connectionOptions","edgeOptions","typeName","getQuery","ctx","limit","orderBy","where","fieldQuery","cursorColumns","connectionQuery","drizzleCursorConnectionQuery","getPrimaryKey","config","Math","abs","nested","getType","paths","fieldRef","connection","wrapConnectionResult","getCursorFormatter","ObjectRef"],"mappings":"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"}
|
package/lib/field-builder.js
CHANGED
|
@@ -50,13 +50,12 @@ fieldBuilderProto.drizzleFieldWithInput = function drizzleFieldWithInput({ type,
|
|
|
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
51
|
const ref = typeof type === 'string' ? (0, _refs.getRefFromModel)(type, this.builder) : type;
|
|
52
52
|
const typeName = this.builder.configStore.getTypeConfig(ref).name;
|
|
53
|
+
const tableName = typeof type === 'string' ? type : ref.tableName;
|
|
53
54
|
const fieldRef = this.connection({
|
|
54
55
|
...options,
|
|
55
56
|
type: ref,
|
|
56
57
|
resolve: (parent, args, context, info)=>{
|
|
57
|
-
|
|
58
|
-
const drizzleModel = (_getSchemaConfig_schema = (0, _config.getSchemaConfig)(this.builder).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[typeof type === 'string' ? type : ref.tableName];
|
|
59
|
-
return (0, _cursors.resolveDrizzleCursorConnection)(drizzleModel, info, typeName, (0, _config.getSchemaConfig)(this.builder), {
|
|
58
|
+
return (0, _cursors.resolveDrizzleCursorConnection)(tableName, info, typeName, (0, _config.getSchemaConfig)(this.builder), {
|
|
60
59
|
ctx: context,
|
|
61
60
|
maxSize,
|
|
62
61
|
defaultSize,
|
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","
|
|
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","extensions"],"mappings":"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"}
|