@pothos/plugin-drizzle 0.8.1 → 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 +92 -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 +17 -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 +17 -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 +32 -17
- package/src/node-ref.ts +1 -1
- package/src/object-ref.ts +2 -2
- package/src/schema-builder.ts +114 -111
- package/src/types.ts +95 -62
- package/src/utils/config.ts +39 -30
- package/src/utils/cursors.ts +134 -101
- package/src/utils/drizzle-graphql.ts +273 -274
- package/src/utils/map-query.ts +19 -7
- package/src/utils/selections.ts +34 -28
package/lib/utils/config.js
CHANGED
|
@@ -22,23 +22,21 @@ _export(exports, {
|
|
|
22
22
|
const _core = require("@pothos/core");
|
|
23
23
|
const _drizzleorm = require("drizzle-orm");
|
|
24
24
|
const configCache = (0, _core.createContextCache)((builder)=>{
|
|
25
|
-
let
|
|
26
|
-
if (builder.options.drizzle.
|
|
27
|
-
|
|
28
|
-
config = {
|
|
29
|
-
fullSchema: builder.options.drizzle.schema,
|
|
30
|
-
schema: tablesConfig.tables,
|
|
31
|
-
tableNamesMap: tablesConfig.tableNamesMap
|
|
32
|
-
};
|
|
25
|
+
let relations;
|
|
26
|
+
if (builder.options.drizzle.relations) {
|
|
27
|
+
relations = builder.options.drizzle.relations;
|
|
33
28
|
} else {
|
|
34
|
-
|
|
29
|
+
relations = builder.options.drizzle.client._.relations;
|
|
35
30
|
}
|
|
36
|
-
const dbToSchema = Object.values(
|
|
37
|
-
|
|
31
|
+
const dbToSchema = Object.values(relations.tables).reduce((acc, table)=>{
|
|
32
|
+
const tableName = (0, _drizzleorm.getTableName)(table);
|
|
33
|
+
if (tableName) {
|
|
34
|
+
acc[tableName] = table;
|
|
35
|
+
}
|
|
38
36
|
return acc;
|
|
39
37
|
}, {});
|
|
40
38
|
const columnMappings = Object.values(dbToSchema).reduce((acc, table)=>{
|
|
41
|
-
acc[table
|
|
39
|
+
acc[(0, _drizzleorm.getTableName)(table)] = Object.entries(table).reduce((acc, [name, column])=>{
|
|
42
40
|
acc[column.name] = name;
|
|
43
41
|
return acc;
|
|
44
42
|
}, {});
|
|
@@ -47,7 +45,6 @@ const configCache = (0, _core.createContextCache)((builder)=>{
|
|
|
47
45
|
var _builder_options_drizzle_skipDeferredFragments;
|
|
48
46
|
return {
|
|
49
47
|
skipDeferredFragments: (_builder_options_drizzle_skipDeferredFragments = builder.options.drizzle.skipDeferredFragments) !== null && _builder_options_drizzle_skipDeferredFragments !== void 0 ? _builder_options_drizzle_skipDeferredFragments : true,
|
|
50
|
-
dbToSchema,
|
|
51
48
|
columnToTsName: (column)=>{
|
|
52
49
|
const tableName = (0, _drizzleorm.getTableName)(column.table);
|
|
53
50
|
const table = columnMappings[tableName];
|
|
@@ -57,7 +54,27 @@ const configCache = (0, _core.createContextCache)((builder)=>{
|
|
|
57
54
|
}
|
|
58
55
|
return columnName;
|
|
59
56
|
},
|
|
60
|
-
|
|
57
|
+
getPrimaryKey: (tableName)=>{
|
|
58
|
+
const tableConfig = builder.options.drizzle.getTableConfig(relations.tables[tableName]);
|
|
59
|
+
const primaryKey = tableConfig.columns.find((column)=>column.primary);
|
|
60
|
+
if (primaryKey) {
|
|
61
|
+
return [
|
|
62
|
+
primaryKey
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
const primaryKeys = tableConfig.primaryKeys.find((key)=>key.columns.length > 0);
|
|
66
|
+
if (primaryKeys) {
|
|
67
|
+
return primaryKeys.columns;
|
|
68
|
+
}
|
|
69
|
+
const uniqueColumn = tableConfig.columns.find((column)=>column.isUnique);
|
|
70
|
+
if (uniqueColumn) {
|
|
71
|
+
return [
|
|
72
|
+
uniqueColumn
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`Could not find primary key for table ${tableName}`);
|
|
76
|
+
},
|
|
77
|
+
relations
|
|
61
78
|
};
|
|
62
79
|
});
|
|
63
80
|
const drizzleClientCache = (0, _core.createContextCache)((builder)=>{
|
package/lib/utils/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/config.ts"],"names":["drizzleClientCache","getClient","getSchemaConfig","configCache","createContextCache","builder","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/config.ts"],"names":["drizzleClientCache","getClient","getSchemaConfig","configCache","createContextCache","builder","relations","options","drizzle","client","_","dbToSchema","Object","values","tables","reduce","acc","table","tableName","getTableName","columnMappings","entries","name","column","skipDeferredFragments","columnToTsName","columnName","Error","getPrimaryKey","tableConfig","getTableConfig","primaryKey","columns","find","primary","primaryKeys","key","length","uniqueColumn","isUnique","clientConfig","ctx","_ctx","context"],"mappings":";;;;;;;;;;;IAqFaA,kBAAkB;eAAlBA;;IAsBGC,SAAS;eAATA;;IANAC,eAAe;eAAfA;;;sBArGqC;4BACoB;AASzE,MAAMC,cAAcC,IAAAA,wBAAkB,EACpC,CAACC;IACC,IAAIC;IACJ,IAAID,QAAQE,OAAO,CAACC,OAAO,CAACF,SAAS,EAAE;QACrCA,YAAYD,QAAQE,OAAO,CAACC,OAAO,CAACF,SAAS;IAC/C,OAAO;QACLA,YAAY,AAACD,QAAQE,OAAO,CAACC,OAAO,CAACC,MAAM,CAAmBC,CAAC,CAACJ,SAAS;IAC3E;IAEA,MAAMK,aAAaC,OAAOC,MAAM,CAACP,UAAUQ,MAAM,EAAEC,MAAM,CACvD,CAACC,KAAKC;QACJ,MAAMC,YAAYC,IAAAA,wBAAY,EAACF;QAC/B,IAAIC,WAAW;YACbF,GAAG,CAACE,UAAU,GAAGD;QACnB;QACA,OAAOD;IACT,GACA,CAAC;IAGH,MAAMI,iBAAiBR,OAAOC,MAAM,CAACF,YAAYI,MAAM,CACrD,CAACC,KAAKC;QACJD,GAAG,CAACG,IAAAA,wBAAY,EAACF,OAAO,GAAGL,OAAOS,OAAO,CAACJ,OAAOF,MAAM,CACrD,CAACC,KAAK,CAACM,MAAMC,OAAO;YAClBP,GAAG,CAAC,AAACO,OAAkBD,IAAI,CAAC,GAAGA;YAC/B,OAAON;QACT,GACA,CAAC;QAEH,OAAOA;IACT,GACA,CAAC;QAIsBX;IADzB,OAAO;QACLmB,uBAAuBnB,CAAAA,iDAAAA,QAAQE,OAAO,CAACC,OAAO,CAACgB,qBAAqB,cAA7CnB,4DAAAA,iDAAiD;QACxEoB,gBAAgB,CAACF;YACf,MAAML,YAAYC,IAAAA,wBAAY,EAACI,OAAON,KAAK;YAC3C,MAAMA,QAAQG,cAAc,CAACF,UAAU;YACvC,MAAMQ,aAAaT,kBAAAA,4BAAAA,KAAO,CAACM,OAAOD,IAAI,CAAC;YAEvC,IAAI,CAACI,YAAY;gBACf,MAAM,IAAIC,MAAM,CAAC,kCAAkC,EAAET,UAAU,CAAC,EAAEK,OAAOD,IAAI,EAAE;YACjF;YAEA,OAAOI;QACT;QACAE,eAAe,CAACV;YACd,MAAMW,cAAcxB,QAAQE,OAAO,CAACC,OAAO,CAACsB,cAAc,CAACxB,UAAUQ,MAAM,CAACI,UAAU;YAEtF,MAAMa,aAAaF,YAAYG,OAAO,CAACC,IAAI,CAAC,CAACV,SAAWA,OAAOW,OAAO;YAEtE,IAAIH,YAAY;gBACd,OAAO;oBAACA;iBAAW;YACrB;YAEA,MAAMI,cAAcN,YAAYM,WAAW,CAACF,IAAI,CAAC,CAACG,MAAQA,IAAIJ,OAAO,CAACK,MAAM,GAAG;YAE/E,IAAIF,aAAa;gBACf,OAAOA,YAAYH,OAAO;YAC5B;YAEA,MAAMM,eAAeT,YAAYG,OAAO,CAACC,IAAI,CAAC,CAACV,SAAWA,OAAOgB,QAAQ;YAEzE,IAAID,cAAc;gBAChB,OAAO;oBAACA;iBAAa;YACvB;YAEA,MAAM,IAAIX,MAAM,CAAC,qCAAqC,EAAET,WAAW;QACrE;QACAZ;IACF;AACF;AAGK,MAAMN,qBAAqBI,IAAAA,wBAAkB,EAClD,CAACC;IACC,MAAMmC,eAAenC,QAAQE,OAAO,CAACC,OAAO,CAACC,MAAM;IACnD,MAAMR,YACJ,OAAOuC,iBAAiB,aACpBpC,IAAAA,wBAAkB,EAAC,CAACqC,MAAQD,aAAaC,QACzC,CAACC,OAAiBF;IAExB,OAAOpC,IAAAA,wBAAkB,EAAC,CAACuC;QACzB,MAAMlC,SAASR,UAAU0C;QAEzB,OAAOlC;IACT;AACF;AAGK,SAASP,gBACdG,OAA+C;IAE/C,OAAOF,YAAYE;AACrB;AAEO,SAASJ,UACdI,OAA+C,EAC/CsC,OAAe;IAEf,OAAO3C,mBAAmBK,SAAkBsC;AAC9C"}
|
package/lib/utils/cursors.js
CHANGED
|
@@ -56,7 +56,6 @@ _export(exports, {
|
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
const _core = require("@pothos/core");
|
|
59
|
-
const _drizzleorm = require("drizzle-orm");
|
|
60
59
|
const _mapquery = require("./map-query");
|
|
61
60
|
const DEFAULT_MAX_SIZE = 100;
|
|
62
61
|
const DEFAULT_SIZE = 20;
|
|
@@ -100,6 +99,7 @@ function getIDSerializer(fields, config) {
|
|
|
100
99
|
}
|
|
101
100
|
return (value)=>{
|
|
102
101
|
if (fields.length > 1) {
|
|
102
|
+
fields.map((field)=>field.keyAsName);
|
|
103
103
|
return `${JSON.stringify(fields.map((col)=>value[config.columnToTsName(col)]))}`;
|
|
104
104
|
}
|
|
105
105
|
return `${formatIDChunk(value[config.columnToTsName(fields[0])])}`;
|
|
@@ -263,41 +263,58 @@ function getCursorParser(fields) {
|
|
|
263
263
|
return record;
|
|
264
264
|
};
|
|
265
265
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
orderBy
|
|
271
|
-
], invert);
|
|
272
|
-
}
|
|
266
|
+
function parseOrderBy(config, table, orderBy, invert) {
|
|
267
|
+
const entries = [];
|
|
268
|
+
const columns = [];
|
|
269
|
+
const normalized = [];
|
|
273
270
|
const asc = invert ? 'desc' : 'asc';
|
|
274
271
|
const desc = invert ? 'asc' : 'desc';
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
272
|
+
if ('table' in orderBy && orderBy.table && typeof orderBy.table === 'object') {
|
|
273
|
+
entries.push([
|
|
274
|
+
config.columnToTsName(orderBy),
|
|
275
|
+
asc
|
|
276
|
+
]);
|
|
277
|
+
columns.push(orderBy);
|
|
278
|
+
normalized.push({
|
|
279
|
+
direction: 'asc',
|
|
280
|
+
column: orderBy
|
|
281
|
+
});
|
|
282
|
+
} else if (Array.isArray(orderBy)) {
|
|
283
|
+
for (const field of orderBy){
|
|
284
|
+
entries.push([
|
|
285
|
+
config.columnToTsName(field),
|
|
286
|
+
asc
|
|
287
|
+
]);
|
|
288
|
+
columns.push(field);
|
|
289
|
+
normalized.push({
|
|
290
|
+
direction: 'asc',
|
|
291
|
+
column: field
|
|
292
|
+
});
|
|
287
293
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
294
|
+
} else {
|
|
295
|
+
// biome-ignore lint/complexity/noForEach: <explanation>
|
|
296
|
+
Object.entries(orderBy).forEach(([name, direction])=>{
|
|
297
|
+
if (direction) {
|
|
298
|
+
const column = table.columns[name];
|
|
299
|
+
columns.push(column);
|
|
300
|
+
entries.push([
|
|
301
|
+
name,
|
|
302
|
+
direction === 'asc' ? asc : desc
|
|
303
|
+
]);
|
|
304
|
+
normalized.push({
|
|
305
|
+
direction: direction,
|
|
306
|
+
column
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
}
|
|
293
311
|
return {
|
|
294
312
|
normalized,
|
|
295
|
-
columns
|
|
296
|
-
|
|
313
|
+
columns,
|
|
314
|
+
orderBy: Object.fromEntries(entries)
|
|
297
315
|
};
|
|
298
316
|
}
|
|
299
|
-
|
|
300
|
-
function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, orderBy, where }) {
|
|
317
|
+
function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, defaultSize = DEFAULT_SIZE, orderBy, where, config, table }) {
|
|
301
318
|
const { before, after, first, last } = args;
|
|
302
319
|
if (first != null && first < 0) {
|
|
303
320
|
throw new _core.PothosValidationError('Argument "first" must be a non-negative integer');
|
|
@@ -305,58 +322,105 @@ function drizzleCursorConnectionQuery({ args, ctx, maxSize = DEFAULT_MAX_SIZE, d
|
|
|
305
322
|
if (last != null && last < 0) {
|
|
306
323
|
throw new _core.PothosValidationError('Argument "last" must be a non-negative integer');
|
|
307
324
|
}
|
|
308
|
-
if (
|
|
309
|
-
throw new _core.PothosValidationError('Arguments "
|
|
310
|
-
}
|
|
311
|
-
if (before != null && first != null) {
|
|
312
|
-
throw new _core.PothosValidationError('Arguments "before" and "first" are not supported at the same time');
|
|
325
|
+
if (first != null && last != null) {
|
|
326
|
+
throw new _core.PothosValidationError('Arguments "first" and "last" are not supported at the same time');
|
|
313
327
|
}
|
|
314
|
-
if (after != null && last != null) {
|
|
315
|
-
throw new _core.PothosValidationError('Arguments "after" and "last" are not supported at the same time');
|
|
316
|
-
}
|
|
317
|
-
const cursor = before !== null && before !== void 0 ? before : after;
|
|
318
328
|
const maxSizeForConnection = typeof maxSize === 'function' ? maxSize(args, ctx) : maxSize;
|
|
319
329
|
const defaultSizeForConnection = typeof defaultSize === 'function' ? defaultSize(args, ctx) : defaultSize;
|
|
320
330
|
var _ref;
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
const parsedOrderBy = parseOrderBy(orderBy, limit < 0);
|
|
331
|
+
const limit = Math.min((_ref = first !== null && first !== void 0 ? first : last) !== null && _ref !== void 0 ? _ref : defaultSizeForConnection, maxSizeForConnection) + 1;
|
|
332
|
+
const inverted = !first && !!last;
|
|
333
|
+
const parsedOrderBy = parseOrderBy(config, table, orderBy, inverted);
|
|
326
334
|
const columns = {};
|
|
327
335
|
for (const column of parsedOrderBy.columns){
|
|
328
|
-
columns[column
|
|
336
|
+
columns[config.columnToTsName(column)] = true;
|
|
329
337
|
}
|
|
330
|
-
const whereClauses =
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
338
|
+
const whereClauses = [];
|
|
339
|
+
if (where) {
|
|
340
|
+
whereClauses.push(where);
|
|
341
|
+
}
|
|
342
|
+
if (after) {
|
|
343
|
+
const cursorParser = getCursorParser(parsedOrderBy.columns);
|
|
344
|
+
const parsedCursor = cursorParser(after);
|
|
345
|
+
const parts = parsedOrderBy.normalized.map(({ direction, column }, index)=>{
|
|
346
|
+
const columnName = config.columnToTsName(column);
|
|
347
|
+
const compare = direction === 'asc' ? {
|
|
348
|
+
[columnName]: {
|
|
349
|
+
gt: parsedCursor[column.name]
|
|
350
|
+
}
|
|
351
|
+
} : {
|
|
352
|
+
[columnName]: {
|
|
353
|
+
lt: parsedCursor[column.name]
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
if (index === 0) {
|
|
357
|
+
return compare;
|
|
358
|
+
}
|
|
359
|
+
return {
|
|
360
|
+
AND: [
|
|
361
|
+
...parsedOrderBy.normalized.slice(0, index).map(({ column: c })=>{
|
|
362
|
+
return {
|
|
363
|
+
[config.columnToTsName(c)]: parsedCursor[c.name]
|
|
364
|
+
};
|
|
365
|
+
}),
|
|
366
|
+
compare
|
|
367
|
+
]
|
|
368
|
+
};
|
|
369
|
+
});
|
|
370
|
+
whereClauses.push(parts.length > 1 ? {
|
|
371
|
+
OR: parts
|
|
372
|
+
} : parts[0]);
|
|
373
|
+
}
|
|
374
|
+
if (before) {
|
|
334
375
|
const cursorParser = getCursorParser(parsedOrderBy.columns);
|
|
335
|
-
const parsedCursor = cursorParser(
|
|
336
|
-
|
|
337
|
-
const
|
|
376
|
+
const parsedCursor = cursorParser(before);
|
|
377
|
+
const parts = parsedOrderBy.normalized.map(({ direction, column }, index)=>{
|
|
378
|
+
const columnName = config.columnToTsName(column);
|
|
379
|
+
const compare = direction === 'desc' ? {
|
|
380
|
+
[columnName]: {
|
|
381
|
+
gt: parsedCursor[column.name]
|
|
382
|
+
}
|
|
383
|
+
} : {
|
|
384
|
+
[columnName]: {
|
|
385
|
+
lt: parsedCursor[column.name]
|
|
386
|
+
}
|
|
387
|
+
};
|
|
338
388
|
if (index === 0) {
|
|
339
389
|
return compare;
|
|
340
390
|
}
|
|
341
|
-
return
|
|
342
|
-
|
|
391
|
+
return {
|
|
392
|
+
AND: [
|
|
393
|
+
...parsedOrderBy.normalized.slice(0, index).map(({ column: c })=>{
|
|
394
|
+
return {
|
|
395
|
+
[config.columnToTsName(c)]: parsedCursor[c.name]
|
|
396
|
+
};
|
|
397
|
+
}),
|
|
398
|
+
compare
|
|
399
|
+
]
|
|
400
|
+
};
|
|
401
|
+
});
|
|
402
|
+
whereClauses.push(parts.length > 1 ? {
|
|
403
|
+
OR: parts
|
|
404
|
+
} : parts[0]);
|
|
343
405
|
}
|
|
344
406
|
return {
|
|
345
407
|
cursorColumns: parsedOrderBy.columns,
|
|
346
408
|
columns,
|
|
347
|
-
orderBy: parsedOrderBy.
|
|
409
|
+
orderBy: parsedOrderBy.orderBy,
|
|
348
410
|
limit,
|
|
349
|
-
where:
|
|
411
|
+
where: whereClauses.length > 1 ? {
|
|
412
|
+
AND: whereClauses
|
|
413
|
+
} : whereClauses[0]
|
|
350
414
|
};
|
|
351
415
|
}
|
|
352
|
-
function wrapConnectionResult(results, args, limit, cursor, resolveNode) {
|
|
416
|
+
function wrapConnectionResult(results, args, limit, cursor, resolveNode, parent) {
|
|
353
417
|
var _edges_, _edges_1;
|
|
354
418
|
const gotFullResults = results.length === Math.abs(limit);
|
|
355
419
|
const hasNextPage = args.before ? true : args.last ? false : gotFullResults;
|
|
356
|
-
|
|
357
|
-
const
|
|
358
|
-
const nodes = gotFullResults ? results.slice(limit < 0 ? 1 : 0, limit < 0 ? results.length : -1) : results;
|
|
420
|
+
const hasPreviousPage = args.after ? true : !args.first && !!args.last ? gotFullResults : false;
|
|
421
|
+
const nodes = gotFullResults ? results.slice(0, -1) : results;
|
|
359
422
|
const connection = {
|
|
423
|
+
parent,
|
|
360
424
|
args,
|
|
361
425
|
edges: [],
|
|
362
426
|
pageInfo: {
|
|
@@ -386,16 +450,19 @@ function wrapConnectionResult(results, args, limit, cursor, resolveNode) {
|
|
|
386
450
|
connection.pageInfo.endCursor = (_edges__cursor1 = (_edges_1 = edges[edges.length - 1]) === null || _edges_1 === void 0 ? void 0 : _edges_1.cursor) !== null && _edges__cursor1 !== void 0 ? _edges__cursor1 : null;
|
|
387
451
|
return connection;
|
|
388
452
|
}
|
|
389
|
-
async function resolveDrizzleCursorConnection(
|
|
453
|
+
async function resolveDrizzleCursorConnection(tableName, info, typeName, config, options, resolve) {
|
|
454
|
+
const table = config.relations.tablesConfig[tableName];
|
|
390
455
|
let query;
|
|
391
456
|
let formatter;
|
|
392
457
|
const results = await resolve((q = {})=>{
|
|
458
|
+
var _ref;
|
|
393
459
|
const { cursorColumns, ...connectionQuery } = drizzleCursorConnectionQuery({
|
|
394
460
|
...options,
|
|
395
|
-
|
|
461
|
+
config,
|
|
462
|
+
orderBy: (_ref = typeof q.orderBy === 'function' ? q.orderBy(table.columns) : q.orderBy) !== null && _ref !== void 0 ? _ref : config.getPrimaryKey(table.tsName),
|
|
463
|
+
table
|
|
396
464
|
});
|
|
397
465
|
formatter = getCursorFormatter(cursorColumns, config);
|
|
398
|
-
const where = typeof q.where === 'function' ? q.where(table.columns, (0, _drizzleorm.getOperators)()) : q.where;
|
|
399
466
|
query = (0, _mapquery.queryFromInfo)({
|
|
400
467
|
context: options.ctx,
|
|
401
468
|
info,
|
|
@@ -405,7 +472,12 @@ async function resolveDrizzleCursorConnection(table, info, typeName, config, opt
|
|
|
405
472
|
...q.columns,
|
|
406
473
|
...connectionQuery.columns
|
|
407
474
|
},
|
|
408
|
-
where:
|
|
475
|
+
where: connectionQuery.where && q.where ? {
|
|
476
|
+
AND: [
|
|
477
|
+
q.where,
|
|
478
|
+
connectionQuery.where
|
|
479
|
+
]
|
|
480
|
+
} : q.where || connectionQuery.where
|
|
409
481
|
},
|
|
410
482
|
paths: [
|
|
411
483
|
[
|
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","JSON","stringify","map","col","columnToTsName","serializer","encodeBase64","cursor","decoded","decodeBase64","startsWith","slice","type","rawValue","match","parseInt","parse","BigInt","id","field","dataType","error","name","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","results","resolveNode","edges","gotFullResults","abs","hasNextPage","hasPreviousPage","nodes","connection","pageInfo","startCursor","endCursor","node","reverse","table","info","typeName","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","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","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","tablesConfig","query","formatter","q","connectionQuery","getPrimaryKey","tsName","queryFromInfo","context","select","paths"],"mappings":"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"}
|