@pothos/plugin-drizzle 0.3.0 → 0.4.1
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 +12 -0
- package/dts/drizzle-field-builder.d.ts +2 -1
- package/dts/drizzle-field-builder.d.ts.map +1 -1
- package/dts/global-types.d.ts +8 -2
- package/dts/global-types.d.ts.map +1 -1
- package/dts/node-ref.d.ts +7 -1
- package/dts/node-ref.d.ts.map +1 -1
- package/dts/types.d.ts +3 -3
- package/dts/types.d.ts.map +1 -1
- package/dts/utils/cursors.d.ts +4 -1
- package/dts/utils/cursors.d.ts.map +1 -1
- package/esm/drizzle-field-builder.d.ts +2 -1
- package/esm/drizzle-field-builder.d.ts.map +1 -1
- package/esm/drizzle-field-builder.js +18 -28
- package/esm/drizzle-field-builder.js.map +1 -1
- package/esm/global-types.d.ts +8 -2
- package/esm/global-types.d.ts.map +1 -1
- package/esm/global-types.js.map +1 -1
- package/esm/interface-ref.js +1 -3
- package/esm/interface-ref.js.map +1 -1
- package/esm/node-ref.d.ts +7 -1
- package/esm/node-ref.d.ts.map +1 -1
- package/esm/node-ref.js +20 -0
- package/esm/node-ref.js.map +1 -1
- package/esm/object-ref.js +1 -4
- package/esm/object-ref.js.map +1 -1
- package/esm/schema-builder.js +6 -4
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +3 -3
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/cursors.d.ts +4 -1
- package/esm/utils/cursors.d.ts.map +1 -1
- package/esm/utils/cursors.js +80 -22
- package/esm/utils/cursors.js.map +1 -1
- package/lib/drizzle-field-builder.js +18 -28
- package/lib/drizzle-field-builder.js.map +1 -1
- package/lib/interface-ref.js +1 -3
- package/lib/interface-ref.js.map +1 -1
- package/lib/node-ref.js +30 -3
- package/lib/node-ref.js.map +1 -1
- package/lib/object-ref.js +1 -4
- package/lib/object-ref.js.map +1 -1
- package/lib/schema-builder.js +5 -3
- package/lib/schema-builder.js.map +1 -1
- package/lib/utils/cursors.js +90 -25
- package/lib/utils/cursors.js.map +1 -1
- package/package.json +7 -7
- package/src/drizzle-field-builder.ts +16 -19
- package/src/global-types.ts +11 -2
- package/src/node-ref.ts +18 -1
- package/src/schema-builder.ts +15 -5
- package/src/types.ts +5 -4
- package/src/utils/cursors.ts +98 -22
package/lib/node-ref.js
CHANGED
|
@@ -2,14 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
DrizzleNodeRef: function() {
|
|
8
13
|
return DrizzleNodeRef;
|
|
14
|
+
},
|
|
15
|
+
relayIDShapeKey: function() {
|
|
16
|
+
return relayIDShapeKey;
|
|
9
17
|
}
|
|
10
18
|
});
|
|
11
19
|
const _objectref = require("./object-ref");
|
|
20
|
+
function _define_property(obj, key, value) {
|
|
21
|
+
if (key in obj) {
|
|
22
|
+
Object.defineProperty(obj, key, {
|
|
23
|
+
value: value,
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true
|
|
27
|
+
});
|
|
28
|
+
} else {
|
|
29
|
+
obj[key] = value;
|
|
30
|
+
}
|
|
31
|
+
return obj;
|
|
32
|
+
}
|
|
33
|
+
const relayIDShapeKey = Symbol.for('Pothos.relayIDShapeKey');
|
|
34
|
+
let _relayIDShapeKey = relayIDShapeKey;
|
|
12
35
|
class DrizzleNodeRef extends _objectref.DrizzleObjectRef {
|
|
36
|
+
constructor(name, tableName, options){
|
|
37
|
+
super(name, tableName), _define_property(this, _relayIDShapeKey, void 0), _define_property(this, "parseId", void 0);
|
|
38
|
+
this.parseId = options.parseId;
|
|
39
|
+
}
|
|
13
40
|
}
|
|
14
41
|
|
|
15
42
|
//# sourceMappingURL=node-ref.js.map
|
package/lib/node-ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/node-ref.ts"],"names":["DrizzleNodeRef","DrizzleObjectRef"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/node-ref.ts"],"names":["DrizzleNodeRef","relayIDShapeKey","Symbol","for","DrizzleObjectRef","constructor","name","tableName","options","parseId"],"mappings":";;;;;;;;;;;IAKaA,cAAc;eAAdA;;IAFAC,eAAe;eAAfA;;;2BAFoB;;;;;;;;;;;;;;AAE1B,MAAMA,kBAAkBC,OAAOC,GAAG,CAAC;IAQvCF,mBAAAA;AANI,MAAMD,uBAKHI,2BAAgB;IAIxBC,YACEC,IAAY,EACZC,SAAiB,EACjBC,OAEC,CACD;QACA,KAAK,CAACF,MAAMC,YAVd,uBAACN,kBAAD,KAAA,IACAQ,uBAAAA,WAAAA,KAAAA;QAUE,IAAI,CAACA,OAAO,GAAGD,QAAQC,OAAO;IAChC;AACF"}
|
package/lib/object-ref.js
CHANGED
|
@@ -47,10 +47,7 @@ class DrizzleObjectRef extends _core.ObjectRef {
|
|
|
47
47
|
return typeof value === 'object' && value !== null && _core.typeBrandKey in value && value[_core.typeBrandKey] === this.name;
|
|
48
48
|
}
|
|
49
49
|
constructor(name, tableName){
|
|
50
|
-
super(name);
|
|
51
|
-
_define_property(this, _drizzleTableKey, void 0);
|
|
52
|
-
_define_property(this, _abstractReturnShapeKey, void 0);
|
|
53
|
-
_define_property(this, "tableName", void 0);
|
|
50
|
+
super(name), _define_property(this, _drizzleTableKey, void 0), _define_property(this, _abstractReturnShapeKey, void 0), _define_property(this, "tableName", void 0);
|
|
54
51
|
this.tableName = tableName;
|
|
55
52
|
}
|
|
56
53
|
}
|
package/lib/object-ref.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/object-ref.ts"],"names":["DrizzleObjectRef","drizzleTableKey","Symbol","for","abstractReturnShapeKey","ObjectRef","addBrand","value","Array","isArray","val","brandWithType","name","hasBrand","typeBrandKey","constructor","tableName"],"mappings":";;;;;;;;;;;IAWaA,gBAAgB;eAAhBA;;IAFAC,eAAe;eAAfA;;;sBAHN;;;;;;;;;;;;;;AAGA,MAAMA,kBAAkBC,OAAOC,GAAG,CAAC;IAOvCF,mBAAAA,iBAEAG,0BAAAA,4BAAsB;AAPlB,MAAMJ,yBAIHK,eAAS;IAajBC,SACEC,KAAQ,EAC4D;QACpE,IAAIC,MAAMC,OAAO,CAACF,QAAQ;YACxB,KAAK,MAAMG,OAAOH,MAAO;gBACvBI,IAAAA,mBAAa,EAACD,KAAK,IAAI,CAACE,IAAI;YAC9B;YAEA,OAAOL;QACT;QAEAI,IAAAA,mBAAa,EAACJ,OAAO,IAAI,CAACK,IAAI;QAE9B,OAAOL;IACT;IAEAM,SAASN,KAAc,EAAE;QACvB,OACE,OAAOA,UAAU,YACjBA,UAAU,QACVO,kBAAY,IAAIP,SAChB,AAACA,KAAsC,CAACO,kBAAY,CAAC,KAAK,IAAI,CAACF,IAAI;IAEvE;IA7BAG,YAAYH,IAAY,EAAEI,SAAiB,CAAE;QAC3C,KAAK,CAACJ
|
|
1
|
+
{"version":3,"sources":["../src/object-ref.ts"],"names":["DrizzleObjectRef","drizzleTableKey","Symbol","for","abstractReturnShapeKey","ObjectRef","addBrand","value","Array","isArray","val","brandWithType","name","hasBrand","typeBrandKey","constructor","tableName"],"mappings":";;;;;;;;;;;IAWaA,gBAAgB;eAAhBA;;IAFAC,eAAe;eAAfA;;;sBAHN;;;;;;;;;;;;;;AAGA,MAAMA,kBAAkBC,OAAOC,GAAG,CAAC;IAOvCF,mBAAAA,iBAEAG,0BAAAA,4BAAsB;AAPlB,MAAMJ,yBAIHK,eAAS;IAajBC,SACEC,KAAQ,EAC4D;QACpE,IAAIC,MAAMC,OAAO,CAACF,QAAQ;YACxB,KAAK,MAAMG,OAAOH,MAAO;gBACvBI,IAAAA,mBAAa,EAACD,KAAK,IAAI,CAACE,IAAI;YAC9B;YAEA,OAAOL;QACT;QAEAI,IAAAA,mBAAa,EAACJ,OAAO,IAAI,CAACK,IAAI;QAE9B,OAAOL;IACT;IAEAM,SAASN,KAAc,EAAE;QACvB,OACE,OAAOA,UAAU,YACjBA,UAAU,QACVO,kBAAY,IAAIP,SAChB,AAACA,KAAsC,CAACO,kBAAY,CAAC,KAAK,IAAI,CAACF,IAAI;IAEvE;IA7BAG,YAAYH,IAAY,EAAEI,SAAiB,CAAE;QAC3C,KAAK,CAACJ,OAPR,uBAACX,kBAAD,KAAA,IAEA,uBAACG,yBAAD,KAAA,IAEAY,uBAAAA,aAAAA,KAAAA;QAKE,IAAI,CAACA,SAAS,GAAGA;IACnB;AA0BF"}
|
package/lib/schema-builder.js
CHANGED
|
@@ -101,11 +101,13 @@ schemaBuilderProto.drizzleNode = function drizzleNode(table, { id: { column, ...
|
|
|
101
101
|
idColumn
|
|
102
102
|
];
|
|
103
103
|
const interfaceRef = (_this_nodeInterfaceRef = (_this = this).nodeInterfaceRef) === null || _this_nodeInterfaceRef === void 0 ? void 0 : _this_nodeInterfaceRef.call(_this);
|
|
104
|
-
const resolve = (0, _cursors.
|
|
105
|
-
const idParser = (0, _cursors.
|
|
104
|
+
const resolve = (0, _cursors.getIDSerializer)(idColumns);
|
|
105
|
+
const idParser = (0, _cursors.getIDParser)(idColumns);
|
|
106
106
|
var _ref;
|
|
107
107
|
const typeName = (_ref = variant !== null && variant !== void 0 ? variant : name) !== null && _ref !== void 0 ? _ref : table;
|
|
108
|
-
const nodeRef = new _noderef.DrizzleNodeRef(typeName, table
|
|
108
|
+
const nodeRef = new _noderef.DrizzleNodeRef(typeName, table, {
|
|
109
|
+
parseId: idParser
|
|
110
|
+
});
|
|
109
111
|
const modelLoader = _modelloader.ModelLoader.forModel(table, this, idColumns);
|
|
110
112
|
if (!interfaceRef) {
|
|
111
113
|
throw new _core.PothosError('builder.drizzleNode requires @pothos/plugin-relay to be installed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/schema-builder.ts"],"names":["schemaBuilderProto","SchemaBuilder","prototype","drizzleObject","table","select","fields","options","getSchemaConfig","name","variant","ref","DrizzleObjectRef","getRefFromModel","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","schema","pothosDrizzleSelect","pothosDrizzleLoader","ModelLoader","forModel","DrizzleObjectFieldBuilder","undefined","drizzleInterface","DrizzleInterfaceRef","interfaceType","drizzleNode","id","column","idOptions","tableConfig","idColumn","columns","idColumns","Array","isArray","interfaceRef","nodeInterfaceRef","resolve","
|
|
1
|
+
{"version":3,"sources":["../src/schema-builder.ts"],"names":["schemaBuilderProto","SchemaBuilder","prototype","drizzleObject","table","select","fields","options","getSchemaConfig","name","variant","ref","DrizzleObjectRef","getRefFromModel","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","schema","pothosDrizzleSelect","pothosDrizzleLoader","ModelLoader","forModel","DrizzleObjectFieldBuilder","undefined","drizzleInterface","DrizzleInterfaceRef","interfaceType","drizzleNode","id","column","idOptions","tableConfig","idColumn","columns","idColumns","Array","isArray","interfaceRef","nodeInterfaceRef","resolve","getIDSerializer","idParser","getIDParser","typeName","nodeRef","DrizzleNodeRef","parseId","modelLoader","PothosError","extendedOptions","interfaces","loadWithoutCache","context","info","record","loadSelectionForField","brandWithType","addInterfaces","configStore","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","parent","completeValue","type","associateParamWithRef","drizzleObjectField","fieldName","field","addFields","tableName","drizzleInterfaceField","drizzleObjectFields","drizzleInterfaceFields","drizzleGraphQLOrderBy","addGraphQLInput","drizzleGraphQL","inputType","drizzleGraphQLFilters","drizzleGraphQLInsert","drizzleGraphQLUpdate"],"mappings":"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"}
|
package/lib/utils/cursors.js
CHANGED
|
@@ -18,6 +18,9 @@ _export(exports, {
|
|
|
18
18
|
formatDrizzleCursor: function() {
|
|
19
19
|
return formatDrizzleCursor;
|
|
20
20
|
},
|
|
21
|
+
formatIDChunk: function() {
|
|
22
|
+
return formatIDChunk;
|
|
23
|
+
},
|
|
21
24
|
getColumnParser: function() {
|
|
22
25
|
return getColumnParser;
|
|
23
26
|
},
|
|
@@ -30,15 +33,21 @@ _export(exports, {
|
|
|
30
33
|
getCursorParser: function() {
|
|
31
34
|
return getCursorParser;
|
|
32
35
|
},
|
|
36
|
+
getIDParser: function() {
|
|
37
|
+
return getIDParser;
|
|
38
|
+
},
|
|
39
|
+
getIDSerializer: function() {
|
|
40
|
+
return getIDSerializer;
|
|
41
|
+
},
|
|
33
42
|
parseDrizzleCursor: function() {
|
|
34
43
|
return parseDrizzleCursor;
|
|
35
44
|
},
|
|
36
|
-
parseID: function() {
|
|
37
|
-
return parseID;
|
|
38
|
-
},
|
|
39
45
|
parseSerializedDrizzleColumn: function() {
|
|
40
46
|
return parseSerializedDrizzleColumn;
|
|
41
47
|
},
|
|
48
|
+
parseSerializedIDColumn: function() {
|
|
49
|
+
return parseSerializedIDColumn;
|
|
50
|
+
},
|
|
42
51
|
resolveDrizzleCursorConnection: function() {
|
|
43
52
|
return resolveDrizzleCursorConnection;
|
|
44
53
|
},
|
|
@@ -69,6 +78,30 @@ function formatCursorChunk(value) {
|
|
|
69
78
|
function formatDrizzleCursor(record, fields) {
|
|
70
79
|
return getCursorFormatter(fields)(record);
|
|
71
80
|
}
|
|
81
|
+
function formatIDChunk(value) {
|
|
82
|
+
if (value instanceof Date) {
|
|
83
|
+
return `${String(Number(value))}`;
|
|
84
|
+
}
|
|
85
|
+
switch(typeof value){
|
|
86
|
+
case 'number':
|
|
87
|
+
case 'string':
|
|
88
|
+
case 'bigint':
|
|
89
|
+
return `${value}`;
|
|
90
|
+
default:
|
|
91
|
+
throw new _core.PothosValidationError(`Unsupported ID type ${typeof value}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
function getIDSerializer(fields) {
|
|
95
|
+
if (fields.length === 0) {
|
|
96
|
+
throw new _core.PothosValidationError('Column serializer must have at least one field');
|
|
97
|
+
}
|
|
98
|
+
return (value)=>{
|
|
99
|
+
if (fields.length > 1) {
|
|
100
|
+
return `${JSON.stringify(fields.map((col)=>value[col.name]))}`;
|
|
101
|
+
}
|
|
102
|
+
return `${formatIDChunk(value[fields[0].name])}`;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
72
105
|
function getColumnSerializer(fields) {
|
|
73
106
|
if (fields.length === 0) {
|
|
74
107
|
throw new _core.PothosValidationError('Column serializer must have at least one field');
|
|
@@ -127,32 +160,61 @@ function parseSerializedDrizzleColumn(value) {
|
|
|
127
160
|
throw new _core.PothosValidationError(`Invalid serialized data: ${value}`);
|
|
128
161
|
}
|
|
129
162
|
}
|
|
130
|
-
function
|
|
163
|
+
function parseSerializedIDColumn(id, field) {
|
|
131
164
|
if (!id) {
|
|
132
165
|
return id;
|
|
133
166
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
default:
|
|
153
|
-
return id;
|
|
167
|
+
try {
|
|
168
|
+
switch(field.dataType){
|
|
169
|
+
case 'date':
|
|
170
|
+
return new Date(id);
|
|
171
|
+
case 'string':
|
|
172
|
+
return id;
|
|
173
|
+
case 'number':
|
|
174
|
+
return Number.parseInt(id, 10);
|
|
175
|
+
case 'bigint':
|
|
176
|
+
return BigInt(id);
|
|
177
|
+
default:
|
|
178
|
+
throw new _core.PothosValidationError(`Unsupported ID type ${field.dataType}`);
|
|
179
|
+
}
|
|
180
|
+
} catch (error) {
|
|
181
|
+
if (error instanceof _core.PothosValidationError) {
|
|
182
|
+
throw error;
|
|
183
|
+
}
|
|
184
|
+
throw new _core.PothosValidationError(`Invalid serialized ID: ${id}`);
|
|
154
185
|
}
|
|
155
186
|
}
|
|
187
|
+
function getIDParser(fields) {
|
|
188
|
+
if (fields.length === 0) {
|
|
189
|
+
throw new _core.PothosValidationError('Column parser must have at least one field');
|
|
190
|
+
}
|
|
191
|
+
return (value)=>{
|
|
192
|
+
if (fields.length === 1) {
|
|
193
|
+
return {
|
|
194
|
+
[fields[0].name]: parseSerializedIDColumn(value, fields[0])
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
try {
|
|
198
|
+
const parsed = JSON.parse(value);
|
|
199
|
+
if (!Array.isArray(parsed)) {
|
|
200
|
+
throw new _core.PothosValidationError(`Expected compound ID to contain an array, but got ${value}`);
|
|
201
|
+
}
|
|
202
|
+
if (parsed.length !== fields.length) {
|
|
203
|
+
throw new _core.PothosValidationError(`Expected compound ID to contain ${fields.length} elements, but got ${parsed.length}`);
|
|
204
|
+
}
|
|
205
|
+
const record = {};
|
|
206
|
+
fields.forEach((field, i)=>{
|
|
207
|
+
record[field.name] = parsed[i];
|
|
208
|
+
});
|
|
209
|
+
return record;
|
|
210
|
+
} catch (error) {
|
|
211
|
+
if (error instanceof _core.PothosValidationError) {
|
|
212
|
+
throw error;
|
|
213
|
+
}
|
|
214
|
+
throw new _core.PothosValidationError(`Invalid serialized ID: ${value}`);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
}
|
|
156
218
|
function getColumnParser(fields) {
|
|
157
219
|
if (fields.length === 0) {
|
|
158
220
|
throw new _core.PothosValidationError('Column parser must have at least one field');
|
|
@@ -167,6 +229,9 @@ function getColumnParser(fields) {
|
|
|
167
229
|
if (!Array.isArray(parsed)) {
|
|
168
230
|
throw new _core.PothosValidationError(`Expected compound cursor to contain an array, but got ${parsed}`);
|
|
169
231
|
}
|
|
232
|
+
if (parsed.length !== fields.length) {
|
|
233
|
+
throw new _core.PothosValidationError(`Expected compound cursor to contain ${fields.length} elements, but got ${parsed.length}`);
|
|
234
|
+
}
|
|
170
235
|
const record = {};
|
|
171
236
|
fields.forEach((field, i)=>{
|
|
172
237
|
record[field.name] = parsed[i];
|
|
@@ -322,7 +387,7 @@ function wrapConnectionResult(results, args, limit, cursor, resolveNode) {
|
|
|
322
387
|
async function resolveDrizzleCursorConnection(table, info, typeName, config, options, resolve) {
|
|
323
388
|
let query;
|
|
324
389
|
let formatter;
|
|
325
|
-
const results = await resolve((q)=>{
|
|
390
|
+
const results = await resolve((q = {})=>{
|
|
326
391
|
const { cursorColumns, ...connectionQuery } = drizzleCursorConnectionQuery({
|
|
327
392
|
...options,
|
|
328
393
|
orderBy: q.orderBy ? typeof q.orderBy === 'function' ? q.orderBy(table.columns) : q.orderBy : table.primaryKey
|
package/lib/utils/cursors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/cursors.ts"],"names":["drizzleCursorConnectionQuery","formatCursorChunk","formatDrizzleCursor","getColumnParser","getColumnSerializer","getCursorFormatter","getCursorParser","parseDrizzleCursor","parseID","parseSerializedDrizzleColumn","resolveDrizzleCursorConnection","wrapConnectionResult","DEFAULT_MAX_SIZE","DEFAULT_SIZE","value","Date","String","Number","PothosValidationError","record","fields","length","JSON","stringify","map","col","name","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","dataType","parseFloat","Buffer","from","parsed","Array","isArray","forEach","field","i","orderByOps","getOrderByOperators","parseOrderBy","orderBy","invert","asc","desc","normalized","direction","column","columns","sql","ops","getOperators","args","ctx","maxSize","defaultSize","where","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","parsedOrderBy","whereClauses","cursorParser","parsedCursor","push","or","index","compare","gt","lt","and","c","eq","cursorColumns","offset","results","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","table","info","typeName","config","options","resolve","query","formatter","q","connectionQuery","primaryKey","queryFromInfo","context","select","paths"],"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","length","JSON","stringify","map","col","name","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","field","dataType","error","parsed","Array","isArray","forEach","i","orderByOps","getOrderByOperators","parseOrderBy","orderBy","invert","asc","desc","normalized","direction","column","columns","sql","ops","getOperators","args","ctx","maxSize","defaultSize","where","before","after","first","last","maxSizeForConnection","defaultSizeForConnection","limit","Math","min","parsedOrderBy","whereClauses","cursorParser","parsedCursor","push","or","index","compare","gt","lt","and","c","eq","cursorColumns","offset","results","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","table","info","typeName","config","options","resolve","query","formatter","q","connectionQuery","primaryKey","queryFromInfo","context","select","paths"],"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.4.1",
|
|
4
4
|
"description": "A Pothos plugin for drizzle",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./dts/index.d.ts",
|
|
@@ -38,18 +38,18 @@
|
|
|
38
38
|
"graphql": ">=16.6.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@libsql/client": "^0.
|
|
42
|
-
"drizzle-graphql": "^0.8.
|
|
43
|
-
"drizzle-kit": "^0.
|
|
44
|
-
"drizzle-orm": "^0.
|
|
41
|
+
"@libsql/client": "^0.10.0",
|
|
42
|
+
"drizzle-graphql": "^0.8.5",
|
|
43
|
+
"drizzle-kit": "^0.24.2",
|
|
44
|
+
"drizzle-orm": "^0.33.0",
|
|
45
45
|
"graphql": "^16.8.1",
|
|
46
46
|
"graphql-scalars": "^1.23.0",
|
|
47
47
|
"graphql-tag": "^2.12.6",
|
|
48
48
|
"postgres": "^3.4.4",
|
|
49
|
-
"@pothos/core": "4.
|
|
49
|
+
"@pothos/core": "4.2.0",
|
|
50
50
|
"@pothos/plugin-add-graphql": "4.1.0",
|
|
51
|
-
"@pothos/plugin-relay": "4.1.0",
|
|
52
51
|
"@pothos/plugin-scope-auth": "4.1.0",
|
|
52
|
+
"@pothos/plugin-relay": "4.2.1",
|
|
53
53
|
"@pothos/plugin-with-input": "4.1.0",
|
|
54
54
|
"@pothos/test-utils": "2.1.0"
|
|
55
55
|
},
|
|
@@ -91,9 +91,9 @@ export class DrizzleObjectFieldBuilder<
|
|
|
91
91
|
EdgeInterfaces extends InterfaceParam<Types>[] = [],
|
|
92
92
|
>(
|
|
93
93
|
field: Field,
|
|
94
|
-
options: RelatedConnectionOptions<Types, Shape, TableConfig, Field, Nullable, Args>,
|
|
95
94
|
...args: NormalizeArgs<
|
|
96
95
|
[
|
|
96
|
+
options: RelatedConnectionOptions<Types, Shape, TableConfig, Field, Nullable, Args>,
|
|
97
97
|
connectionOptions:
|
|
98
98
|
| ObjectRef<
|
|
99
99
|
Types,
|
|
@@ -182,34 +182,31 @@ export class DrizzleObjectFieldBuilder<
|
|
|
182
182
|
type?: ObjectRef<Types, unknown, unknown>;
|
|
183
183
|
maxSize?: number | ((args: {}, ctx: {}) => number);
|
|
184
184
|
defaultSize?: number | ((args: {}, ctx: {}) => number);
|
|
185
|
-
extensions
|
|
185
|
+
extensions?: {};
|
|
186
186
|
description?: string;
|
|
187
|
-
query
|
|
188
|
-
resolve
|
|
187
|
+
query?: ((args: {}, ctx: {}) => {}) | {};
|
|
188
|
+
resolve?: (
|
|
189
189
|
query: {},
|
|
190
190
|
parent: unknown,
|
|
191
191
|
args: {},
|
|
192
192
|
ctx: {},
|
|
193
193
|
info: {},
|
|
194
194
|
) => MaybePromise<readonly {}[]>;
|
|
195
|
-
},
|
|
195
|
+
} = {},
|
|
196
196
|
connectionOptions = {},
|
|
197
197
|
edgeOptions = {},
|
|
198
198
|
) {
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
];
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
]!;
|
|
205
|
-
|
|
206
|
-
if (!relationField) {
|
|
199
|
+
const schemaConfig = getSchemaConfig(this.builder);
|
|
200
|
+
const relationField = schemaConfig.schema?.[this.table].relations[name as string];
|
|
201
|
+
const relatedModel = schemaConfig.dbToSchema[relationField?.referencedTableName];
|
|
202
|
+
|
|
203
|
+
if (!relatedModel) {
|
|
207
204
|
throw new PothosSchemaError(
|
|
208
205
|
`Could not find relation ${name as string} on table ${this.table}`,
|
|
209
206
|
);
|
|
210
207
|
}
|
|
211
208
|
|
|
212
|
-
const ref = options.type ?? getRefFromModel(
|
|
209
|
+
const ref = options.type ?? getRefFromModel(relatedModel.tsName, this.builder);
|
|
213
210
|
let typeName: string | undefined;
|
|
214
211
|
|
|
215
212
|
const getQuery = (args: PothosSchemaTypes.DefaultConnectionArguments, ctx: {}) => {
|
|
@@ -384,17 +381,17 @@ export class DrizzleObjectFieldBuilder<
|
|
|
384
381
|
>
|
|
385
382
|
): FieldRef<Types, TypesForRelation<Types, TableConfig['relations'][Field]>, 'Object'> {
|
|
386
383
|
const [options = {} as never] = allArgs;
|
|
387
|
-
const
|
|
388
|
-
|
|
389
|
-
];
|
|
384
|
+
const schemaConfig = getSchemaConfig(this.builder);
|
|
385
|
+
const relationField = schemaConfig.schema?.[this.table].relations[name as string];
|
|
386
|
+
const relatedModel = schemaConfig.dbToSchema[relationField?.referencedTableName];
|
|
390
387
|
|
|
391
|
-
if (!
|
|
388
|
+
if (!relatedModel) {
|
|
392
389
|
throw new PothosSchemaError(
|
|
393
390
|
`Could not find relation ${name as string} on table ${this.table}`,
|
|
394
391
|
);
|
|
395
392
|
}
|
|
396
393
|
|
|
397
|
-
const ref = options.type ?? getRefFromModel(
|
|
394
|
+
const ref = options.type ?? getRefFromModel(relatedModel.tsName, this.builder);
|
|
398
395
|
|
|
399
396
|
const { query = {}, extensions, ...rest } = options;
|
|
400
397
|
|
package/src/global-types.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type {
|
|
|
14
14
|
} from '@pothos/core';
|
|
15
15
|
import type {
|
|
16
16
|
BuildQueryResult,
|
|
17
|
+
Column,
|
|
17
18
|
DBQueryConfig,
|
|
18
19
|
ExtractTablesWithRelations,
|
|
19
20
|
SQL,
|
|
@@ -116,6 +117,7 @@ declare global {
|
|
|
116
117
|
Types['DrizzleRelationSchema'][Table]
|
|
117
118
|
>
|
|
118
119
|
| true,
|
|
120
|
+
IDColumn extends Column,
|
|
119
121
|
Shape = BuildQueryResult<
|
|
120
122
|
Types['DrizzleRelationSchema'],
|
|
121
123
|
Types['DrizzleRelationSchema'][Table],
|
|
@@ -123,8 +125,15 @@ declare global {
|
|
|
123
125
|
>,
|
|
124
126
|
>(
|
|
125
127
|
table: Table,
|
|
126
|
-
options: DrizzleNodeOptions<Types, Table, Shape, Selection, Interfaces>,
|
|
127
|
-
) => DrizzleNodeRef<
|
|
128
|
+
options: DrizzleNodeOptions<Types, Table, Shape, Selection, Interfaces, IDColumn>,
|
|
129
|
+
) => DrizzleNodeRef<
|
|
130
|
+
Types,
|
|
131
|
+
Table,
|
|
132
|
+
Shape,
|
|
133
|
+
{
|
|
134
|
+
[K in IDColumn['_']['name']]: Extract<IDColumn, { _: { name: K } }>['_']['data'];
|
|
135
|
+
}
|
|
136
|
+
>
|
|
128
137
|
: '@pothos/plugin-relay is required to use this method';
|
|
129
138
|
|
|
130
139
|
drizzleObjectField: <
|
package/src/node-ref.ts
CHANGED
|
@@ -1,8 +1,25 @@
|
|
|
1
1
|
import type { SchemaTypes } from '@pothos/core';
|
|
2
2
|
import { DrizzleObjectRef } from './object-ref';
|
|
3
3
|
|
|
4
|
+
export const relayIDShapeKey = Symbol.for('Pothos.relayIDShapeKey');
|
|
5
|
+
|
|
4
6
|
export class DrizzleNodeRef<
|
|
5
7
|
Types extends SchemaTypes,
|
|
6
8
|
Table extends keyof Types['DrizzleRelationSchema'] = keyof Types['DrizzleRelationSchema'],
|
|
7
9
|
T = {},
|
|
8
|
-
|
|
10
|
+
IDShape = string,
|
|
11
|
+
> extends DrizzleObjectRef<Types, Table, T> {
|
|
12
|
+
[relayIDShapeKey]!: IDShape;
|
|
13
|
+
parseId: ((id: string, ctx: object) => IDShape) | undefined;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
name: string,
|
|
17
|
+
tableName: string,
|
|
18
|
+
options: {
|
|
19
|
+
parseId?: (id: string, ctx: object) => IDShape;
|
|
20
|
+
},
|
|
21
|
+
) {
|
|
22
|
+
super(name, tableName);
|
|
23
|
+
this.parseId = options.parseId;
|
|
24
|
+
}
|
|
25
|
+
}
|
package/src/schema-builder.ts
CHANGED
|
@@ -9,6 +9,7 @@ import SchemaBuilder, {
|
|
|
9
9
|
type FieldRef,
|
|
10
10
|
type InputObjectRef,
|
|
11
11
|
} from '@pothos/core';
|
|
12
|
+
import type { Column } from 'drizzle-orm';
|
|
12
13
|
import type { GraphQLInputObjectType, GraphQLResolveInfo } from 'graphql';
|
|
13
14
|
import { DrizzleObjectFieldBuilder } from './drizzle-field-builder';
|
|
14
15
|
import { DrizzleInterfaceRef } from './interface-ref';
|
|
@@ -17,7 +18,7 @@ import { DrizzleNodeRef } from './node-ref';
|
|
|
17
18
|
import { DrizzleObjectRef } from './object-ref';
|
|
18
19
|
import type { DrizzleGraphQLInputExtensions, DrizzleNodeOptions } from './types';
|
|
19
20
|
import { getSchemaConfig } from './utils/config';
|
|
20
|
-
import {
|
|
21
|
+
import { getIDParser, getIDSerializer } from './utils/cursors';
|
|
21
22
|
import { getRefFromModel } from './utils/refs';
|
|
22
23
|
|
|
23
24
|
const schemaBuilderProto = SchemaBuilder.prototype as PothosSchemaTypes.SchemaBuilder<SchemaTypes>;
|
|
@@ -87,16 +88,25 @@ schemaBuilderProto.drizzleNode = function drizzleNode(
|
|
|
87
88
|
name,
|
|
88
89
|
variant,
|
|
89
90
|
...options
|
|
90
|
-
}: DrizzleNodeOptions<
|
|
91
|
+
}: DrizzleNodeOptions<
|
|
92
|
+
SchemaTypes,
|
|
93
|
+
keyof SchemaTypes['DrizzleRelationSchema'],
|
|
94
|
+
{},
|
|
95
|
+
{},
|
|
96
|
+
[],
|
|
97
|
+
Column
|
|
98
|
+
>,
|
|
91
99
|
) {
|
|
92
100
|
const tableConfig = getSchemaConfig(this).schema![table];
|
|
93
101
|
const idColumn = typeof column === 'function' ? column(tableConfig.columns) : column;
|
|
94
102
|
const idColumns = Array.isArray(idColumn) ? idColumn : [idColumn];
|
|
95
103
|
const interfaceRef = this.nodeInterfaceRef?.();
|
|
96
|
-
const resolve =
|
|
97
|
-
const idParser =
|
|
104
|
+
const resolve = getIDSerializer(idColumns);
|
|
105
|
+
const idParser = getIDParser(idColumns);
|
|
98
106
|
const typeName = variant ?? name ?? table;
|
|
99
|
-
const nodeRef = new DrizzleNodeRef(typeName, table
|
|
107
|
+
const nodeRef = new DrizzleNodeRef(typeName, table, {
|
|
108
|
+
parseId: idParser,
|
|
109
|
+
});
|
|
100
110
|
const modelLoader = ModelLoader.forModel(table, this, idColumns);
|
|
101
111
|
|
|
102
112
|
if (!interfaceRef) {
|
package/src/types.ts
CHANGED
|
@@ -119,6 +119,7 @@ export type DrizzleNodeOptions<
|
|
|
119
119
|
Shape,
|
|
120
120
|
Selection,
|
|
121
121
|
Interfaces extends InterfaceParam<Types>[],
|
|
122
|
+
IDColumn extends Column,
|
|
122
123
|
> = NameOrVariant &
|
|
123
124
|
Omit<
|
|
124
125
|
| PothosSchemaTypes.ObjectTypeOptions<Types, Shape>
|
|
@@ -139,9 +140,9 @@ export type DrizzleNodeOptions<
|
|
|
139
140
|
'args' | 'nullable' | 'type' | InferredFieldOptionKeys
|
|
140
141
|
> & {
|
|
141
142
|
column:
|
|
142
|
-
|
|
|
143
|
-
|
|
|
144
|
-
| ((columns: Types['DrizzleRelationSchema'][Table]['columns']) =>
|
|
143
|
+
| IDColumn
|
|
144
|
+
| IDColumn[]
|
|
145
|
+
| ((columns: Types['DrizzleRelationSchema'][Table]['columns']) => IDColumn | IDColumn[]);
|
|
145
146
|
};
|
|
146
147
|
name: string;
|
|
147
148
|
select?: Selection;
|
|
@@ -588,7 +589,7 @@ export type RelatedConnectionOptions<
|
|
|
588
589
|
Nullable
|
|
589
590
|
>
|
|
590
591
|
>;
|
|
591
|
-
query
|
|
592
|
+
query?: QueryForRelatedConnection<Types, NodeTable, ConnectionArgs>;
|
|
592
593
|
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
|
|
593
594
|
type?: DrizzleRef<any, Table['relations'][Field]['referencedTable']['_']['name']>;
|
|
594
595
|
|