@pothos/plugin-drizzle 0.19.1 → 0.19.2
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 +7 -0
- package/dts/utils/adapter.d.ts +1 -1
- package/dts/utils/adapter.d.ts.map +1 -1
- package/esm/utils/adapter.d.ts +1 -1
- package/esm/utils/adapter.d.ts.map +1 -1
- package/esm/utils/adapter.js +12 -2
- package/esm/utils/adapter.js.map +1 -1
- package/lib/utils/adapter.js +12 -2
- package/lib/utils/adapter.js.map +1 -1
- package/package.json +6 -6
- package/src/utils/adapter.ts +12 -3
package/CHANGELOG.md
CHANGED
package/dts/utils/adapter.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Node, NodeAdapter, type Plan, type PlayedPlan, type QueryVisitor, type SelectFn } from '@pothos/selection-mapper';
|
|
2
|
-
import type
|
|
2
|
+
import { type TableRelationalConfig } from 'drizzle-orm';
|
|
3
3
|
import type { GraphQLField, GraphQLNamedType } from 'graphql';
|
|
4
4
|
import type { PothosDrizzleSchemaConfig } from './config.js';
|
|
5
5
|
import { type SelectionMap } from './selections.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/utils/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,EACT,WAAW,EACX,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/utils/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,EACT,WAAW,EACX,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAChF,KAAK,cAAc,GAAG,YAAY,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAKxE;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAQtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1B,qBAAqB,EAAE,OAAO,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IAEJ,YAA6B,MAAM,EAAE,yBAAyB,EAG7D;IAGD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GACiB,qBAAqB,GAAG,SAAS,CAChF;IAED,aAAa,CAAC,IAAI,EAAE,gBAAgB,4BAKnC;IAED,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,mFAyCnD;IAED,UAAU,CACR,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,EAC/D,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,cAAc,QA8BtB;IAED;;;OAGG;IACM,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,WAE9F;IAED,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA6BvC;IAED,oEAAoE;IACpE,OAAO,CAAC,aAAa;CAyBtB;AAED,eAAO,MAAM,cAAc,oFAE1B,CAAC"}
|
package/esm/utils/adapter.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Node, NodeAdapter, type Plan, type PlayedPlan, type QueryVisitor, type SelectFn } from '@pothos/selection-mapper';
|
|
2
|
-
import type
|
|
2
|
+
import { type TableRelationalConfig } from 'drizzle-orm';
|
|
3
3
|
import type { GraphQLField, GraphQLNamedType } from 'graphql';
|
|
4
4
|
import type { PothosDrizzleSchemaConfig } from './config.js';
|
|
5
5
|
import { type SelectionMap } from './selections.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/utils/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,EACT,WAAW,EACX,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/utils/adapter.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,IAAI,EACT,WAAW,EACX,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAA0B,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEvE,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAChF,KAAK,cAAc,GAAG,YAAY,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;AAKxE;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAQtE,OAAO,CAAC,QAAQ,CAAC,MAAM;IAP1B,qBAAqB,EAAE,OAAO,CAAC;IAExC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IAEJ,YAA6B,MAAM,EAAE,yBAAyB,EAG7D;IAGD,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GACiB,qBAAqB,GAAG,SAAS,CAChF;IAED,aAAa,CAAC,IAAI,EAAE,gBAAgB,4BAKnC;IAED,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,mFAyCnD;IAED,UAAU,CACR,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,YAAY,EAC/D,KAAK,EAAE,qBAAqB,EAC5B,KAAK,EAAE,cAAc,QA8BtB;IAED;;;OAGG;IACM,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,WAE9F;IAED,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,YAAY,CA6BvC;IAED,oEAAoE;IACpE,OAAO,CAAC,aAAa;CAyBtB;AAED,eAAO,MAAM,cAAc,oFAE1B,CAAC"}
|
package/esm/utils/adapter.js
CHANGED
|
@@ -13,6 +13,7 @@ function _define_property(obj, key, value) {
|
|
|
13
13
|
}
|
|
14
14
|
import { createContextCache, PothosValidationError } from '@pothos/core';
|
|
15
15
|
import { NodeAdapter } from '@pothos/selection-mapper';
|
|
16
|
+
import { getColumns } from 'drizzle-orm';
|
|
16
17
|
import { pathInfoFor } from './path-info.js';
|
|
17
18
|
import { omitUndefinedKeys } from './selections.js';
|
|
18
19
|
/** A map without `columns`: every column. Shared and never mutated. */ const ALL = Object.freeze({});
|
|
@@ -76,10 +77,19 @@ import { omitUndefinedKeys } from './selections.js';
|
|
|
76
77
|
visit.allColumns();
|
|
77
78
|
return;
|
|
78
79
|
}
|
|
79
|
-
|
|
80
|
-
|
|
80
|
+
const selected = Object.keys(columns).filter((key)=>columns[key]);
|
|
81
|
+
if (selected.length > 0) {
|
|
82
|
+
for (const key of selected){
|
|
81
83
|
visit.column(key);
|
|
82
84
|
}
|
|
85
|
+
} else if (Object.values(columns).some((value)=>value === false)) {
|
|
86
|
+
// An exclusion-only projection selects every other column. Resolve it before
|
|
87
|
+
// merging so another field can still request a column excluded here.
|
|
88
|
+
for (const key of Object.keys(getColumns(model.table))){
|
|
89
|
+
if (columns[key] !== false) {
|
|
90
|
+
visit.column(key);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
83
93
|
}
|
|
84
94
|
}
|
|
85
95
|
/**
|
package/esm/utils/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/adapter.ts"],"names":["createContextCache","PothosValidationError","NodeAdapter","pathInfoFor","omitUndefinedKeys","ALL","Object","freeze","DrizzleAdapter","modelFor","type","extensions","pothosDrizzleTable","typeSelection","selection","pothosDrizzleSelect","undefined","fieldSelection","field","compiled","fieldSelections","get","args","context","nested","selected","position","resolvedPath","pathInfo","path","segments","query","set","visitQuery","columns","with","withSelection","extras","model","visit","readRelations","key","keys","computed","allColumns","column","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/adapter.ts"],"names":["createContextCache","PothosValidationError","NodeAdapter","getColumns","pathInfoFor","omitUndefinedKeys","ALL","Object","freeze","DrizzleAdapter","modelFor","type","extensions","pothosDrizzleTable","typeSelection","selection","pothosDrizzleSelect","undefined","fieldSelection","field","compiled","fieldSelections","get","args","context","nested","selected","position","resolvedPath","pathInfo","path","segments","query","set","visitQuery","columns","with","withSelection","extras","model","visit","readRelations","key","keys","computed","allColumns","filter","length","column","values","some","value","table","computedConflicts","name","has","toQuery","node","config","getPrimaryKey","columnToTsName","child","relations","relationConfig","relation","targetTableName","skipDeferredFragments","WeakMap","drizzleAdapter"],"mappings":"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"}
|
package/lib/utils/adapter.js
CHANGED
|
@@ -18,6 +18,7 @@ _export(exports, {
|
|
|
18
18
|
});
|
|
19
19
|
const _core = require("@pothos/core");
|
|
20
20
|
const _selectionmapper = require("@pothos/selection-mapper");
|
|
21
|
+
const _drizzleorm = require("drizzle-orm");
|
|
21
22
|
const _pathinfo = require("./path-info.js");
|
|
22
23
|
const _selections = require("./selections.js");
|
|
23
24
|
function _define_property(obj, key, value) {
|
|
@@ -86,10 +87,19 @@ class DrizzleAdapter extends _selectionmapper.NodeAdapter {
|
|
|
86
87
|
visit.allColumns();
|
|
87
88
|
return;
|
|
88
89
|
}
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
const selected = Object.keys(columns).filter((key)=>columns[key]);
|
|
91
|
+
if (selected.length > 0) {
|
|
92
|
+
for (const key of selected){
|
|
91
93
|
visit.column(key);
|
|
92
94
|
}
|
|
95
|
+
} else if (Object.values(columns).some((value)=>value === false)) {
|
|
96
|
+
// An exclusion-only projection selects every other column. Resolve it before
|
|
97
|
+
// merging so another field can still request a column excluded here.
|
|
98
|
+
for (const key of Object.keys((0, _drizzleorm.getColumns)(model.table))){
|
|
99
|
+
if (columns[key] !== false) {
|
|
100
|
+
visit.column(key);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
93
103
|
}
|
|
94
104
|
}
|
|
95
105
|
/**
|
package/lib/utils/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/adapter.ts"],"names":["DrizzleAdapter","drizzleAdapter","ALL","Object","freeze","NodeAdapter","modelFor","type","extensions","pothosDrizzleTable","typeSelection","selection","pothosDrizzleSelect","undefined","fieldSelection","field","compiled","fieldSelections","get","args","context","nested","selected","position","resolvedPath","pathInfo","path","pathInfoFor","segments","query","set","visitQuery","columns","with","withSelection","extras","model","visit","readRelations","omitUndefinedKeys","key","keys","computed","allColumns","column","
|
|
1
|
+
{"version":3,"sources":["../../src/utils/adapter.ts"],"names":["DrizzleAdapter","drizzleAdapter","ALL","Object","freeze","NodeAdapter","modelFor","type","extensions","pothosDrizzleTable","typeSelection","selection","pothosDrizzleSelect","undefined","fieldSelection","field","compiled","fieldSelections","get","args","context","nested","selected","position","resolvedPath","pathInfo","path","pathInfoFor","segments","query","set","visitQuery","columns","with","withSelection","extras","model","visit","readRelations","omitUndefinedKeys","key","keys","computed","allColumns","filter","length","column","values","some","value","getColumns","table","computedConflicts","name","has","toQuery","node","config","getPrimaryKey","columnToTsName","child","relations","relationConfig","PothosValidationError","relation","targetTableName","skipDeferredFragments","WeakMap","createContextCache"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pothos/plugin-drizzle",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.2",
|
|
4
4
|
"description": "A Pothos plugin for drizzle",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./dts/index.d.ts",
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
"graphql-scalars": "^1.25.0",
|
|
49
49
|
"graphql-tag": "^2.12.6",
|
|
50
50
|
"postgres": "^3.4.9",
|
|
51
|
-
"@pothos/core": "4.15.
|
|
52
|
-
"@pothos/plugin-add-graphql": "4.3.
|
|
53
|
-
"@pothos/plugin-errors": "4.9.
|
|
54
|
-
"@pothos/plugin-relay": "4.8.
|
|
55
|
-
"@pothos/plugin-scope-auth": "4.2.
|
|
51
|
+
"@pothos/core": "4.15.1",
|
|
52
|
+
"@pothos/plugin-add-graphql": "4.3.3",
|
|
53
|
+
"@pothos/plugin-errors": "4.9.3",
|
|
54
|
+
"@pothos/plugin-relay": "4.8.1",
|
|
55
|
+
"@pothos/plugin-scope-auth": "4.2.1",
|
|
56
56
|
"@pothos/plugin-with-input": "4.1.5",
|
|
57
57
|
"@pothos/test-utils": "2.2.1"
|
|
58
58
|
},
|
package/src/utils/adapter.ts
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
type QueryVisitor,
|
|
8
8
|
type SelectFn,
|
|
9
9
|
} from '@pothos/selection-mapper';
|
|
10
|
-
import type
|
|
10
|
+
import { getColumns, type Table, type TableRelationalConfig } from 'drizzle-orm';
|
|
11
11
|
import type { GraphQLField, GraphQLNamedType } from 'graphql';
|
|
12
12
|
import type { DrizzleFieldSelection, PathInfo } from '../types.js';
|
|
13
13
|
import type { PothosDrizzleSchemaConfig } from './config.js';
|
|
@@ -118,10 +118,19 @@ export class DrizzleAdapter extends NodeAdapter<TableRelationalConfig, Selection
|
|
|
118
118
|
return;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
|
|
122
|
-
|
|
121
|
+
const selected = Object.keys(columns).filter((key) => columns[key]);
|
|
122
|
+
if (selected.length > 0) {
|
|
123
|
+
for (const key of selected) {
|
|
123
124
|
visit.column(key);
|
|
124
125
|
}
|
|
126
|
+
} else if (Object.values(columns).some((value) => value === false)) {
|
|
127
|
+
// An exclusion-only projection selects every other column. Resolve it before
|
|
128
|
+
// merging so another field can still request a column excluded here.
|
|
129
|
+
for (const key of Object.keys(getColumns(model.table as Table))) {
|
|
130
|
+
if (columns[key] !== false) {
|
|
131
|
+
visit.column(key);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
125
134
|
}
|
|
126
135
|
}
|
|
127
136
|
|