@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.
Files changed (122) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/TODO.md +25 -4
  3. package/dts/connection-helpers.d.ts +32 -0
  4. package/dts/connection-helpers.d.ts.map +1 -0
  5. package/dts/drizzle-field-builder.d.ts +18 -53
  6. package/dts/drizzle-field-builder.d.ts.map +1 -1
  7. package/dts/global-types.d.ts +22 -41
  8. package/dts/global-types.d.ts.map +1 -1
  9. package/dts/index.d.ts +4 -2
  10. package/dts/index.d.ts.map +1 -1
  11. package/dts/interface-ref.d.ts +3 -2
  12. package/dts/interface-ref.d.ts.map +1 -1
  13. package/dts/model-loader.d.ts +3 -2
  14. package/dts/model-loader.d.ts.map +1 -1
  15. package/dts/node-ref.d.ts +1 -1
  16. package/dts/node-ref.d.ts.map +1 -1
  17. package/dts/object-ref.d.ts +2 -2
  18. package/dts/object-ref.d.ts.map +1 -1
  19. package/dts/types.d.ts +61 -41
  20. package/dts/types.d.ts.map +1 -1
  21. package/dts/utils/config.d.ts +4 -3
  22. package/dts/utils/config.d.ts.map +1 -1
  23. package/dts/utils/cursors.d.ts +13 -7
  24. package/dts/utils/cursors.d.ts.map +1 -1
  25. package/dts/utils/drizzle-graphql.d.ts +0 -17
  26. package/dts/utils/drizzle-graphql.d.ts.map +1 -1
  27. package/dts/utils/map-query.d.ts.map +1 -1
  28. package/dts/utils/selections.d.ts +5 -5
  29. package/dts/utils/selections.d.ts.map +1 -1
  30. package/esm/connection-helpers.d.ts +34 -0
  31. package/esm/connection-helpers.d.ts.map +1 -0
  32. package/esm/connection-helpers.js +74 -0
  33. package/esm/connection-helpers.js.map +1 -0
  34. package/esm/drizzle-field-builder.d.ts +18 -73
  35. package/esm/drizzle-field-builder.d.ts.map +1 -1
  36. package/esm/drizzle-field-builder.js +25 -14
  37. package/esm/drizzle-field-builder.js.map +1 -1
  38. package/esm/field-builder.js +2 -3
  39. package/esm/field-builder.js.map +1 -1
  40. package/esm/global-types.d.ts +35 -60
  41. package/esm/global-types.d.ts.map +1 -1
  42. package/esm/global-types.js.map +1 -1
  43. package/esm/index.d.ts +4 -2
  44. package/esm/index.d.ts.map +1 -1
  45. package/esm/index.js +70 -61
  46. package/esm/index.js.map +1 -1
  47. package/esm/interface-ref.d.ts +3 -2
  48. package/esm/interface-ref.d.ts.map +1 -1
  49. package/esm/interface-ref.js.map +1 -1
  50. package/esm/model-loader.d.ts +3 -2
  51. package/esm/model-loader.d.ts.map +1 -1
  52. package/esm/model-loader.js +18 -10
  53. package/esm/model-loader.js.map +1 -1
  54. package/esm/node-ref.d.ts +1 -1
  55. package/esm/node-ref.d.ts.map +1 -1
  56. package/esm/object-ref.d.ts +2 -2
  57. package/esm/object-ref.d.ts.map +1 -1
  58. package/esm/schema-builder.js +111 -65
  59. package/esm/schema-builder.js.map +1 -1
  60. package/esm/types.d.ts +61 -41
  61. package/esm/types.d.ts.map +1 -1
  62. package/esm/types.js.map +1 -1
  63. package/esm/utils/config.d.ts +4 -3
  64. package/esm/utils/config.d.ts.map +1 -1
  65. package/esm/utils/config.js +32 -15
  66. package/esm/utils/config.js.map +1 -1
  67. package/esm/utils/cursors.d.ts +13 -7
  68. package/esm/utils/cursors.d.ts.map +1 -1
  69. package/esm/utils/cursors.js +137 -63
  70. package/esm/utils/cursors.js.map +1 -1
  71. package/esm/utils/drizzle-graphql.d.ts +0 -17
  72. package/esm/utils/drizzle-graphql.d.ts.map +1 -1
  73. package/esm/utils/drizzle-graphql.js +230 -198
  74. package/esm/utils/drizzle-graphql.js.map +1 -1
  75. package/esm/utils/map-query.d.ts.map +1 -1
  76. package/esm/utils/map-query.js +9 -5
  77. package/esm/utils/map-query.js.map +1 -1
  78. package/esm/utils/selections.d.ts +5 -5
  79. package/esm/utils/selections.d.ts.map +1 -1
  80. package/esm/utils/selections.js +19 -18
  81. package/esm/utils/selections.js.map +1 -1
  82. package/lib/connection-helpers.js +85 -0
  83. package/lib/connection-helpers.js.map +1 -0
  84. package/lib/drizzle-field-builder.js +24 -13
  85. package/lib/drizzle-field-builder.js.map +1 -1
  86. package/lib/field-builder.js +2 -3
  87. package/lib/field-builder.js.map +1 -1
  88. package/lib/index.js +75 -60
  89. package/lib/index.js.map +1 -1
  90. package/lib/interface-ref.js.map +1 -1
  91. package/lib/model-loader.js +18 -10
  92. package/lib/model-loader.js.map +1 -1
  93. package/lib/schema-builder.js +111 -65
  94. package/lib/schema-builder.js.map +1 -1
  95. package/lib/types.js.map +1 -1
  96. package/lib/utils/config.js +31 -14
  97. package/lib/utils/config.js.map +1 -1
  98. package/lib/utils/cursors.js +135 -63
  99. package/lib/utils/cursors.js.map +1 -1
  100. package/lib/utils/drizzle-graphql.js +230 -221
  101. package/lib/utils/drizzle-graphql.js.map +1 -1
  102. package/lib/utils/map-query.js +9 -5
  103. package/lib/utils/map-query.js.map +1 -1
  104. package/lib/utils/selections.js +18 -17
  105. package/lib/utils/selections.js.map +1 -1
  106. package/package.json +14 -14
  107. package/src/connection-helpers.ts +184 -0
  108. package/src/drizzle-field-builder.ts +30 -26
  109. package/src/field-builder.ts +4 -7
  110. package/src/global-types.ts +112 -119
  111. package/src/index.ts +90 -68
  112. package/src/interface-ref.ts +7 -3
  113. package/src/model-loader.ts +33 -17
  114. package/src/node-ref.ts +1 -1
  115. package/src/object-ref.ts +2 -2
  116. package/src/schema-builder.ts +114 -111
  117. package/src/types.ts +95 -62
  118. package/src/utils/config.ts +39 -30
  119. package/src/utils/cursors.ts +134 -101
  120. package/src/utils/drizzle-graphql.ts +273 -274
  121. package/src/utils/map-query.ts +19 -7
  122. package/src/utils/selections.ts +34 -28
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/model-loader.ts"],"names":["createContextCache","inArray","sql","getClient","getSchemaConfig","cacheKey","setLoaderMappings","selectionStateFromInfo","stateFromInfo","mergeSelection","selectionCompatible","selectionToQuery","ModelLoader","forModel","modelName","builder","columns","model","sqlForModel","values","map","key","columnName","name","Error","length","getSelection","info","parentType","path","queryCache","has","selection","config","context","set","query","get","getSelectionForField","typeName","loadSelection","result","stageQuery","mappings","loadSelectionForField","returnType","entry","staged","state","models","createResolvablePromise","promise","initLoad","Map","add","nextTick","client","then","api","findMany","where","selectSQL","keys","results","entries","find","row","table","primaryKey","every","resolve","reject","err","catch","setTimeout","constructor","Set","schema","join","getSQL","resolveFn","rejectFn","Promise"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/model-loader.ts"],"names":["createContextCache","inArray","sql","getClient","getSchemaConfig","cacheKey","setLoaderMappings","selectionStateFromInfo","stateFromInfo","mergeSelection","selectionCompatible","selectionToQuery","ModelLoader","forModel","modelName","builder","columns","model","sqlForModel","values","map","key","columnName","name","Error","length","getSelection","info","parentType","path","queryCache","has","selection","config","context","set","query","get","getSelectionForField","typeName","loadSelection","result","stageQuery","mappings","loadSelectionForField","returnType","entry","staged","state","models","createResolvablePromise","promise","initLoad","Map","add","nextTick","client","then","delete","api","findMany","where","RAW","table","selectSQL","keys","results","entries","find","row","primaryKey","every","resolve","reject","err","catch","setTimeout","constructor","Set","relations","tablesConfig","getPrimaryKey","column","Object","tblColumn","join","getSQL","resolveFn","rejectFn","Promise"],"mappings":"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"}
package/esm/node-ref.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { SchemaTypes } from '@pothos/core';
2
2
  import { DrizzleObjectRef } from './object-ref.js';
3
3
  export declare const relayIDShapeKey: unique symbol;
4
- export declare class DrizzleNodeRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"] = keyof Types["DrizzleRelationSchema"], T = {}, IDShape = string> extends DrizzleObjectRef<Types, Table, T> {
4
+ export declare class DrizzleNodeRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"] = keyof Types["DrizzleRelationsConfig"], T = {}, IDShape = string> extends DrizzleObjectRef<Types, Table, T> {
5
5
  [relayIDShapeKey]: IDShape;
6
6
  parseId: ((id: string, ctx: object) => IDShape) | undefined;
7
7
  constructor(name: string, tableName: string, options: {
@@ -1 +1 @@
1
- {"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,cAAc,CACzB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,EACN,OAAO,GAAG,MAAM,CAChB,SAAQ,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC,eAAe,CAAC,EAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1D,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;KAChD;CAKJ"}
1
+ {"version":3,"file":"node-ref.d.ts","sourceRoot":"","sources":["../src/node-ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,cAAc,CACzB,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,wBAAwB,CAAC,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,EAC3F,CAAC,GAAG,EAAE,EACN,OAAO,GAAG,MAAM,CAChB,SAAQ,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACzC,CAAC,eAAe,CAAC,EAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;gBAG1D,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;KAChD;CAKJ"}
@@ -1,8 +1,8 @@
1
1
  import { ObjectRef, type SchemaTypes, abstractReturnShapeKey } from '@pothos/core';
2
2
  import type { WithBrand } from './types.js';
3
3
  export declare const drizzleTableKey: unique symbol;
4
- export declare class DrizzleObjectRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"] = keyof Types["DrizzleRelationSchema"], T = {}> extends ObjectRef<Types, T> {
5
- [drizzleTableKey]: Types["DrizzleRelationSchema"][Table];
4
+ export declare class DrizzleObjectRef<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"] = keyof Types["DrizzleRelationsConfig"], T = {}> extends ObjectRef<Types, T> {
5
+ [drizzleTableKey]: Types["DrizzleRelationsConfig"][Table];
6
6
  [abstractReturnShapeKey]: WithBrand<T>;
7
7
  tableName: string;
8
8
  constructor(name: string, tableName: string);
@@ -1 +1 @@
1
- {"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,WAAW,EAChB,sBAAsB,EAGvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,uBAAuB,CAAC,GAAG,MAAM,KAAK,CAAC,uBAAuB,CAAC,EACzF,CAAC,GAAG,EAAE,CACN,SAAQ,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,CAAC;IAE1D,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAcrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
1
+ {"version":3,"file":"object-ref.d.ts","sourceRoot":"","sources":["../src/object-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,WAAW,EAChB,sBAAsB,EAGvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,eAAO,MAAM,eAAe,eAAuC,CAAC;AAEpE,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,WAAW,EACzB,KAAK,SAAS,MAAM,KAAK,CAAC,wBAAwB,CAAC,GAAG,MAAM,KAAK,CAAC,wBAAwB,CAAC,EAC3F,CAAC,GAAG,EAAE,CACN,SAAQ,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC,eAAe,CAAC,EAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,CAAC;IAE3D,CAAC,sBAAsB,CAAC,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAExC,SAAS,EAAE,MAAM,CAAC;gBAEN,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAM3C,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EACxB,KAAK,EAAE,CAAC,GACP,CAAC,SAAS,CAAC,EAAE,GAAG;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IAcrE,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
@@ -9,7 +9,6 @@ import { getIDParser, getIDSerializer } from './utils/cursors.js';
9
9
  import { getRefFromModel } from './utils/refs.js';
10
10
  const schemaBuilderProto = SchemaBuilder.prototype;
11
11
  schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, fields, ...options }) {
12
- var _getSchemaConfig_schema;
13
12
  var _options_variant, _ref;
14
13
  const name = (_ref = (_options_variant = options.variant) !== null && _options_variant !== void 0 ? _options_variant : options.name) !== null && _ref !== void 0 ? _ref : table;
15
14
  const ref = options.variant ? new DrizzleObjectRef(options.variant, name) : getRefFromModel(table, this, "object");
@@ -19,7 +18,7 @@ schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, field
19
18
  extensions: {
20
19
  ...options.extensions,
21
20
  pothosDrizzleModel: table,
22
- pothosDrizzleTable: (_getSchemaConfig_schema = getSchemaConfig(this).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[table],
21
+ pothosDrizzleTable: getSchemaConfig(this).relations.tablesConfig[table],
23
22
  pothosDrizzleSelect: select !== null && select !== void 0 ? select : {},
24
23
  pothosDrizzleLoader: ModelLoader.forModel(table, this)
25
24
  },
@@ -29,17 +28,15 @@ schemaBuilderProto.drizzleObject = function drizzleObject(table, { select, field
29
28
  return ref;
30
29
  };
31
30
  schemaBuilderProto.drizzleInterface = function drizzleInterface(table, { select, fields, ...options }) {
32
- var _getSchemaConfig_schema;
33
31
  var _options_name;
34
32
  const name = (_options_name = options.name) !== null && _options_name !== void 0 ? _options_name : table;
35
- const ref = options.variant ? new DrizzleInterfaceRef(options.variant, name) : getRefFromModel(table, this, "interface");
36
- ref.name = name !== null && name !== void 0 ? name : table;
33
+ const ref = new DrizzleInterfaceRef(name, table);
37
34
  this.interfaceType(ref, {
38
35
  ...options,
39
36
  extensions: {
40
37
  ...options.extensions,
41
38
  pothosDrizzleModel: table,
42
- pothosDrizzleTable: (_getSchemaConfig_schema = getSchemaConfig(this).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[table],
39
+ pothosDrizzleTable: getSchemaConfig(this).relations.tablesConfig[table],
43
40
  pothosDrizzleSelect: select !== null && select !== void 0 ? select : {},
44
41
  pothosDrizzleLoader: ModelLoader.forModel(table, this)
45
42
  },
@@ -51,7 +48,7 @@ schemaBuilderProto.drizzleInterface = function drizzleInterface(table, { select,
51
48
  schemaBuilderProto.drizzleNode = function drizzleNode(table, { id: { column, ...idOptions }, name, variant, ...options }) {
52
49
  var _this_nodeInterfaceRef, _this;
53
50
  const schemaConfig = getSchemaConfig(this);
54
- const tableConfig = schemaConfig.schema[table];
51
+ const tableConfig = schemaConfig.relations.tablesConfig[table];
55
52
  const idColumn = typeof column === "function" ? column(tableConfig.columns) : column;
56
53
  const idColumns = Array.isArray(idColumn) ? idColumn : [
57
54
  idColumn
@@ -62,7 +59,13 @@ schemaBuilderProto.drizzleNode = function drizzleNode(table, { id: { column, ...
62
59
  var _ref;
63
60
  const typeName = (_ref = variant !== null && variant !== void 0 ? variant : name) !== null && _ref !== void 0 ? _ref : table;
64
61
  const nodeRef = new DrizzleNodeRef(typeName, table, {
65
- parseId: idParser
62
+ parseId: (id) => {
63
+ const parsed = idParser(id);
64
+ if (Array.isArray(idColumn)) {
65
+ return parsed;
66
+ }
67
+ return parsed[schemaConfig.columnToTsName(idColumn)];
68
+ }
66
69
  });
67
70
  const modelLoader = ModelLoader.forModel(table, this, idColumns);
68
71
  if (!interfaceRef) {
@@ -134,61 +137,104 @@ schemaBuilderProto.drizzleInterfaceFields = function drizzleInterfaceFields(type
134
137
  this.configStore.onTypeConfig(ref, ({ name }) => {
135
138
  this.configStore.addFields(ref, () => fields(new DrizzleObjectFieldBuilder(name, this, ref.tableName, "Interface")));
136
139
  });
137
- };
138
- schemaBuilderProto.drizzleGraphQLOrderBy = function drizzleGraphQLOrderBy(table, type, options) {
139
- var _getSchemaConfig_schema;
140
- return this.addGraphQLInput(type, {
141
- ...options,
142
- extensions: {
143
- ...options === null || options === void 0 ? void 0 : options.extensions,
144
- drizzleGraphQL: {
145
- inputType: "orderBy",
146
- table,
147
- tableConfig: (_getSchemaConfig_schema = getSchemaConfig(this).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[table]
148
- }
149
- }
150
- });
151
- };
152
- schemaBuilderProto.drizzleGraphQLFilters = function drizzleGraphQLFilters(table, type, options) {
153
- var _getSchemaConfig_schema;
154
- return this.addGraphQLInput(type, {
155
- ...options,
156
- extensions: {
157
- ...options === null || options === void 0 ? void 0 : options.extensions,
158
- drizzleGraphQL: {
159
- inputType: "filters",
160
- table,
161
- tableConfig: (_getSchemaConfig_schema = getSchemaConfig(this).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[table]
162
- }
163
- }
164
- });
165
- };
166
- schemaBuilderProto.drizzleGraphQLInsert = function drizzleGraphQLInsert(table, type, options) {
167
- var _getSchemaConfig_schema;
168
- return this.addGraphQLInput(type, {
169
- ...options,
170
- extensions: {
171
- ...options === null || options === void 0 ? void 0 : options.extensions,
172
- drizzleGraphQL: {
173
- inputType: "insert",
174
- table,
175
- tableConfig: (_getSchemaConfig_schema = getSchemaConfig(this).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[table]
176
- }
177
- }
178
- });
179
- };
180
- schemaBuilderProto.drizzleGraphQLUpdate = function drizzleGraphQLUpdate(table, type, options) {
181
- var _getSchemaConfig_schema;
182
- return this.addGraphQLInput(type, {
183
- ...options,
184
- extensions: {
185
- ...options === null || options === void 0 ? void 0 : options.extensions,
186
- drizzleGraphQL: {
187
- inputType: "update",
188
- table,
189
- tableConfig: (_getSchemaConfig_schema = getSchemaConfig(this).schema) === null || _getSchemaConfig_schema === void 0 ? void 0 : _getSchemaConfig_schema[table]
190
- }
191
- }
192
- });
193
- };
140
+ }; // schemaBuilderProto.drizzleGraphQLOrderBy = function drizzleGraphQLOrderBy(
141
+ // this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
142
+ // table: string,
143
+ // type: GraphQLInputObjectType,
144
+ // options?: { extensions?: object },
145
+ // ) {
146
+ // return (
147
+ // this as typeof this & {
148
+ // addGraphQLInput: (
149
+ // type: GraphQLInputObjectType,
150
+ // options: Record<string, unknown>,
151
+ // ) => InputObjectRef<SchemaTypes, {}>;
152
+ // }
153
+ // ).addGraphQLInput(type, {
154
+ // ...options,
155
+ // extensions: {
156
+ // ...options?.extensions,
157
+ // drizzleGraphQL: {
158
+ // inputType: 'orderBy',
159
+ // table,
160
+ // tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
161
+ // } satisfies DrizzleGraphQLInputExtensions,
162
+ // },
163
+ // });
164
+ // } as never;
165
+ // schemaBuilderProto.drizzleGraphQLFilters = function drizzleGraphQLFilters(
166
+ // this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
167
+ // table: string,
168
+ // type: GraphQLInputObjectType,
169
+ // options?: { extensions?: object },
170
+ // ) {
171
+ // return (
172
+ // this as typeof this & {
173
+ // addGraphQLInput: (
174
+ // type: GraphQLInputObjectType,
175
+ // options: Record<string, unknown>,
176
+ // ) => InputObjectRef<SchemaTypes, {}>;
177
+ // }
178
+ // ).addGraphQLInput(type, {
179
+ // ...options,
180
+ // extensions: {
181
+ // ...options?.extensions,
182
+ // drizzleGraphQL: {
183
+ // inputType: 'filters',
184
+ // table,
185
+ // tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
186
+ // } satisfies DrizzleGraphQLInputExtensions,
187
+ // },
188
+ // });
189
+ // } as never;
190
+ // schemaBuilderProto.drizzleGraphQLInsert = function drizzleGraphQLInsert(
191
+ // this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
192
+ // table: string,
193
+ // type: GraphQLInputObjectType,
194
+ // options?: { extensions?: object },
195
+ // ) {
196
+ // return (
197
+ // this as typeof this & {
198
+ // addGraphQLInput: (
199
+ // type: GraphQLInputObjectType,
200
+ // options: Record<string, unknown>,
201
+ // ) => InputObjectRef<SchemaTypes, {}>;
202
+ // }
203
+ // ).addGraphQLInput(type, {
204
+ // ...options,
205
+ // extensions: {
206
+ // ...options?.extensions,
207
+ // drizzleGraphQL: {
208
+ // inputType: 'insert',
209
+ // table,
210
+ // tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
211
+ // } satisfies DrizzleGraphQLInputExtensions,
212
+ // },
213
+ // });
214
+ // } as never;
215
+ // schemaBuilderProto.drizzleGraphQLUpdate = function drizzleGraphQLUpdate(
216
+ // this: PothosSchemaTypes.SchemaBuilder<SchemaTypes>,
217
+ // table: string,
218
+ // type: GraphQLInputObjectType,
219
+ // options?: { extensions?: object },
220
+ // ) {
221
+ // return (
222
+ // this as typeof this & {
223
+ // addGraphQLInput: (
224
+ // type: GraphQLInputObjectType,
225
+ // options: Record<string, unknown>,
226
+ // ) => InputObjectRef<SchemaTypes, {}>;
227
+ // }
228
+ // ).addGraphQLInput(type, {
229
+ // ...options,
230
+ // extensions: {
231
+ // ...options?.extensions,
232
+ // drizzleGraphQL: {
233
+ // inputType: 'update',
234
+ // table,
235
+ // tableConfig: getSchemaConfig(this).relations.tablesConfig[table],
236
+ // } satisfies DrizzleGraphQLInputExtensions,
237
+ // },
238
+ // });
239
+ // } as never;
194
240
  //# sourceMappingURL=schema-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/schema-builder.ts"],"names":["SchemaBuilder","brandWithType","completeValue","PothosError","DrizzleObjectFieldBuilder","DrizzleInterfaceRef","ModelLoader","DrizzleNodeRef","DrizzleObjectRef","getSchemaConfig","getIDParser","getIDSerializer","getRefFromModel","schemaBuilderProto","prototype","drizzleObject","table","select","fields","options","name","variant","ref","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","schema","pothosDrizzleSelect","pothosDrizzleLoader","forModel","undefined","drizzleInterface","interfaceType","drizzleNode","id","column","idOptions","schemaConfig","tableConfig","idColumn","columns","idColumns","Array","isArray","interfaceRef","nodeInterfaceRef","resolve","idParser","typeName","nodeRef","parseId","modelLoader","extendedOptions","interfaces","loadWithoutCache","context","info","record","loadSelectionForField","addInterfaces","configStore","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","parent","type","associateParamWithRef","drizzleObjectField","fieldName","field","addFields","tableName","drizzleInterfaceField","drizzleObjectFields","drizzleInterfaceFields","drizzleGraphQLOrderBy","addGraphQLInput","drizzleGraphQL","inputType","drizzleGraphQLFilters","drizzleGraphQLInsert","drizzleGraphQLUpdate"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/schema-builder.ts"],"names":["SchemaBuilder","brandWithType","completeValue","PothosError","DrizzleObjectFieldBuilder","DrizzleInterfaceRef","ModelLoader","DrizzleNodeRef","DrizzleObjectRef","getSchemaConfig","getIDParser","getIDSerializer","getRefFromModel","schemaBuilderProto","prototype","drizzleObject","table","select","fields","options","name","variant","ref","objectType","extensions","pothosDrizzleModel","pothosDrizzleTable","relations","tablesConfig","pothosDrizzleSelect","pothosDrizzleLoader","forModel","undefined","drizzleInterface","interfaceType","drizzleNode","id","column","idOptions","schemaConfig","tableConfig","idColumn","columns","idColumns","Array","isArray","interfaceRef","nodeInterfaceRef","resolve","idParser","typeName","nodeRef","parseId","parsed","columnToTsName","modelLoader","extendedOptions","interfaces","loadWithoutCache","context","info","record","loadSelectionForField","addInterfaces","configStore","onTypeConfig","nodeConfig","objectField","relayOptions","idFieldName","t","globalID","idFieldOptions","nullable","args","parent","type","associateParamWithRef","drizzleObjectField","fieldName","field","addFields","tableName","drizzleInterfaceField","drizzleObjectFields","drizzleInterfaceFields"],"mappings":"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"}
package/esm/types.d.ts CHANGED
@@ -1,12 +1,17 @@
1
1
  import { type ArgumentRef, type FieldKind, type FieldMap, type FieldNullability, type FieldOptionsFromKind, type InferredFieldOptionKeys, type InferredFieldOptionsByKind, type InputFieldMap, type InputFieldsFromShape, type InputShapeFromFields, type InterfaceParam, type InterfaceRef, type InterfaceTypeOptions, type ListResolveValue, type MaybePromise, type Normalize, type ObjectRef, type ObjectTypeOptions, type OutputShape, type OutputType, type SchemaTypes, type ShapeFromTypeParam, type TypeParam, typeBrandKey } from '@pothos/core';
2
- import type { BuildQueryResult, Column, DBQueryConfig, Many, Relation, RelationalSchemaConfig, SQL, TableRelationalConfig, TablesRelationalConfig } from 'drizzle-orm';
2
+ import type { AnyRelations, BuildQueryResult, Column, DBQueryConfig, Many, Relation, Table, TableRelationalConfig } from 'drizzle-orm';
3
3
  import type { FieldNode, GraphQLResolveInfo } from 'graphql';
4
4
  import type { DrizzleObjectFieldBuilder } from './drizzle-field-builder.js';
5
5
  import type { DrizzleRef } from './interface-ref.js';
6
6
  import type { IndirectInclude } from './utils/map-query.js';
7
7
  import type { SelectionMap } from './utils/selections.js';
8
8
  export type DrizzleClient = {
9
- _: Partial<RelationalSchemaConfig<TablesRelationalConfig>>;
9
+ readonly _: {
10
+ readonly schema: unknown;
11
+ readonly fullSchema: Record<string, unknown>;
12
+ readonly tableNamesMap: Record<string, string>;
13
+ readonly relations: AnyRelations;
14
+ };
10
15
  query: {};
11
16
  };
12
17
  export type DrizzlePluginOptions<Types extends SchemaTypes> = {
@@ -15,10 +20,22 @@ export type DrizzlePluginOptions<Types extends SchemaTypes> = {
15
20
  skipDeferredFragments?: boolean;
16
21
  } & ({
17
22
  client: DrizzleClient;
18
- schema?: Record<string, unknown>;
23
+ getTableConfig: (table: Table) => {
24
+ primaryKeys: {
25
+ readonly columns: Column[];
26
+ }[];
27
+ readonly columns: Column[];
28
+ };
29
+ relations?: Types["DrizzleRelations"];
19
30
  } | {
20
31
  client: (ctx: Types["Context"]) => DrizzleClient;
21
- schema: Record<string, unknown>;
32
+ getTableConfig: (table: Table) => {
33
+ primaryKeys: {
34
+ readonly columns: Column[];
35
+ }[];
36
+ readonly columns: Column[];
37
+ };
38
+ relations?: Types["DrizzleRelations"];
22
39
  });
23
40
  export declare const drizzleTableName: unique symbol;
24
41
  type NameOrVariant = {
@@ -28,44 +45,51 @@ type NameOrVariant = {
28
45
  name?: string;
29
46
  variant?: never;
30
47
  };
31
- export type DrizzleObjectOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<ObjectTypeOptions<Types, ObjectRef<Types, Shape>, Shape, Interfaces>, "fields"> & NameOrVariant & {
48
+ export type DrizzleObjectOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<ObjectTypeOptions<Types, ObjectRef<Types, Shape>, Shape, Interfaces>, "fields"> & NameOrVariant & {
32
49
  select?: Selection;
33
- fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationSchema"][Table], Shape & {
50
+ fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationsConfig"][Table], Shape & {
34
51
  [drizzleTableName]?: Table;
35
52
  }>) => FieldMap;
36
53
  };
37
- export type DrizzleInterfaceOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<InterfaceTypeOptions<Types, InterfaceRef<Types, Shape>, Shape, Interfaces> & {
54
+ export type DrizzleInterfaceOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Shape, Selection, Interfaces extends InterfaceParam<Types>[]> = Omit<InterfaceTypeOptions<Types, InterfaceRef<Types, Shape>, Shape, Interfaces> & {
38
55
  name: string;
39
56
  select?: Selection;
40
57
  }, "fields"> & NameOrVariant & {
41
- fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationSchema"][Table], Shape & {
58
+ fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationsConfig"][Table], Shape & {
42
59
  [drizzleTableName]?: Table;
43
60
  }>) => FieldMap;
44
61
  };
45
- export type DrizzleNodeOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Shape, Selection, Interfaces extends InterfaceParam<Types>[], IDColumn extends Column> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, "fields" | "isTypeOf"> & {
62
+ export type DrizzleNodeOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Shape, Selection, Interfaces extends InterfaceParam<Types>[], IDColumns> = NameOrVariant & Omit<PothosSchemaTypes.ObjectTypeOptions<Types, Shape> | PothosSchemaTypes.ObjectTypeWithInterfaceOptions<Types, Shape, Interfaces>, "fields" | "isTypeOf"> & {
46
63
  id: Omit<FieldOptionsFromKind<Types, Shape, "ID", false, {}, "Object", OutputShape<Types, "ID">, MaybePromise<OutputShape<Types, "ID">>>, "args" | "nullable" | "type" | InferredFieldOptionKeys> & {
47
- column: IDColumn | IDColumn[] | ((columns: Types["DrizzleRelationSchema"][Table]["columns"]) => IDColumn | IDColumn[]);
64
+ column: IDColumns & (Column | Column[] | ((columns: Types["DrizzleRelationsConfig"][Table]["columns"]) => Column | Column[]));
48
65
  };
49
66
  name: string;
50
67
  select?: Selection;
51
- fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationSchema"][Table], Shape & {
68
+ fields?: (t: DrizzleObjectFieldBuilder<Types, Types["DrizzleRelationsConfig"][Table], Shape & {
52
69
  [drizzleTableName]?: Table;
53
70
  }>) => FieldMap;
54
71
  };
55
- export type DrizzleFieldOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationSchema"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param> = Omit<FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "resolve" | "type"> & {
72
+ export type ShapeFromIdColumns<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], IDColumns> = IDColumns extends Column ? IDColumns["_"]["data"] : IDColumns extends Column[] ? {
73
+ [K in IDColumns[number]["_"]["name"]]: Extract<IDColumns[number], {
74
+ _: {
75
+ name: K;
76
+ };
77
+ }>["_"]["data"];
78
+ } : IDColumns extends ((...args: any[]) => infer R extends Column | Column[]) ? ShapeFromIdColumns<Types, Table, R> : never;
79
+ export type DrizzleFieldOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationsConfig"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param> = Omit<FieldOptionsFromKind<Types, ParentShape, Type, Nullable, Args, Kind, ResolveShape, ResolveReturnShape>, "resolve" | "type"> & {
56
80
  type: Param;
57
81
  resolve: (query: <T extends QueryForDrizzleField<Types, Param, Table>>(selection?: T) => T, parent: ParentShape, args: InputShapeFromFields<Args>, ctx: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, Type, Nullable>>;
58
82
  };
59
- export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationSchema"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param, InputName extends string, Fields extends InputFieldMap, ArgRequired extends boolean> = Omit<DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args & {
83
+ export type DrizzleFieldWithInputOptions<Types extends SchemaTypes, ParentShape, Table extends keyof Types["DrizzleRelationsConfig"], Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Kind extends FieldKind, ResolveShape, ResolveReturnShape, Param, InputName extends string, Fields extends InputFieldMap, ArgRequired extends boolean> = Omit<DrizzleFieldOptions<Types, ParentShape, Table, Type, Nullable, Args & {
60
84
  [K in InputName]: ArgumentRef<Types, InputShapeFromFields<Fields> | (true extends ArgRequired ? never : null | undefined)>;
61
85
  }, Kind, ResolveShape, ResolveReturnShape, Param>, "args"> & PothosSchemaTypes.FieldWithInputBaseOptions<Types, Args, Fields, InputName, ArgRequired>;
62
- export type DrizzleObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape, ShapeWithSelection = Normalize<Omit<unknown extends Select ? ParentShape : BuildQueryResult<Types["DrizzleRelationSchema"], ExtractTable<Types, ParentShape>, Record<string, unknown> & (Select extends (...args: any[]) => infer R ? R : Select)> & ParentShape, typeof drizzleTableName>>> = PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & InferredFieldOptionsByKind<Types, Types["InferredFieldOptionsKind"], ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & {
63
- select?: Select & (DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types["Context"], nestedSelection: <Selection extends boolean | {}>(selection?: Selection, path?: string[]) => Selection) => DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], ExtractTable<Types, ParentShape>>));
86
+ export type DrizzleObjectFieldOptions<Types extends SchemaTypes, ParentShape, Type extends TypeParam<Types>, Nullable extends FieldNullability<Type>, Args extends InputFieldMap, Select, ResolveReturnShape, ShapeWithSelection = Normalize<Omit<unknown extends Select ? ParentShape : BuildQueryResult<Types["DrizzleRelationsConfig"], ExtractTable<Types, ParentShape>, Record<string, unknown> & (Select extends (...args: any[]) => infer R ? R : Select)> & ParentShape, typeof drizzleTableName>>> = PothosSchemaTypes.ObjectFieldOptions<Types, ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & InferredFieldOptionsByKind<Types, Types["InferredFieldOptionsKind"], ShapeWithSelection, Type, Nullable, Args, ResolveReturnShape> & {
87
+ select?: Select & (DBQueryConfig<"one", Types["DrizzleRelationsConfig"], ExtractTable<Types, ParentShape>> | ((args: InputShapeFromFields<Args>, ctx: Types["Context"], nestedSelection: <Selection extends boolean | {}>(selection?: Selection, path?: string[]) => Selection) => DBQueryConfig<"one", Types["DrizzleRelationsConfig"], ExtractTable<Types, ParentShape>>));
64
88
  };
65
- export type DrizzleFieldSelection = DBQueryConfig<"one", false> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object) => DBQueryConfig<"one", false>), path?: IndirectInclude | string[], type?: string) => DBQueryConfig<"one", false> | boolean, resolveSelection: (path: string[]) => FieldNode | null) => SelectionMap);
89
+ export type DrizzleFieldSelection = DBQueryConfig<"one"> | ((args: {}, ctx: object, mergeNestedSelection: (selection: SelectionMap | boolean | ((args: object, context: object) => DBQueryConfig<"one">), path?: IndirectInclude | string[], type?: string) => DBQueryConfig<"one"> | boolean, resolveSelection: (path: string[]) => FieldNode | null) => SelectionMap);
66
90
  export type ExtractTable<Types extends SchemaTypes, Shape> = Shape extends {
67
- [drizzleTableName]?: keyof Types["DrizzleRelationSchema"];
68
- } ? Types["DrizzleRelationSchema"][NonNullable<Shape[typeof drizzleTableName]>] : never;
91
+ [drizzleTableName]?: keyof Types["DrizzleRelationsConfig"];
92
+ } ? Types["DrizzleRelationsConfig"][NonNullable<Shape[typeof drizzleTableName]>] : never;
69
93
  export type RelatedFieldOptions<Types extends SchemaTypes, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Shape> = Omit<DrizzleObjectFieldOptions<Types, Shape, RefForRelation<Types, Table["relations"][Field]>, Nullable, Args, {
70
94
  columns: {};
71
95
  with: {
@@ -76,37 +100,39 @@ export type RelatedFieldOptions<Types extends SchemaTypes, Table extends TableRe
76
100
  type?: ObjectRef<Types, TypesForRelation<Types, Table["relations"][Field]>>;
77
101
  query?: QueryForField<Types, Args, Table["relations"][Field]>;
78
102
  };
79
- export type VariantFieldOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationSchema"], Variant extends DrizzleRef<any, Table> | Table, Args extends InputFieldMap, isNull, Shape, ResolveShape, ResolveReturnShape> = Omit<FieldOptionsFromKind<Types, Shape, Variant extends DrizzleRef<any> ? Variant : DrizzleRef<any, Table>, unknown extends isNull ? false : true, Args, "DrizzleObject", ResolveShape, ResolveReturnShape>, InferredFieldOptionKeys | "type"> & {
80
- isNull?: isNull & ((parent: Normalize<Omit<unknown extends ResolveShape ? Shape : BuildQueryResult<Types["DrizzleRelationSchema"], ExtractTable<Types, Shape>, Record<string, unknown> & (ResolveShape extends (...args: any[]) => infer R ? R : ResolveShape)> & Shape, typeof drizzleTableName>>, args: InputShapeFromFields<Args>, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<boolean>);
103
+ export type VariantFieldOptions<Types extends SchemaTypes, Table extends keyof Types["DrizzleRelationsConfig"], Variant extends DrizzleRef<any, Table> | Table, Args extends InputFieldMap, isNull, Shape, ResolveShape, ResolveReturnShape> = Omit<FieldOptionsFromKind<Types, Shape, Variant extends DrizzleRef<any> ? Variant : DrizzleRef<any, Table>, unknown extends isNull ? false : true, Args, "DrizzleObject", ResolveShape, ResolveReturnShape>, InferredFieldOptionKeys | "type"> & {
104
+ isNull?: isNull & ((parent: Normalize<Omit<unknown extends ResolveShape ? Shape : BuildQueryResult<Types["DrizzleRelationsConfig"], ExtractTable<Types, Shape>, Record<string, unknown> & (ResolveShape extends (...args: any[]) => infer R ? R : ResolveShape)> & Shape, typeof drizzleTableName>>, args: InputShapeFromFields<Args>, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<boolean>);
81
105
  };
82
106
  export type RefForRelation<Types extends SchemaTypes, Rel extends Relation> = Rel extends {
83
107
  $relationBrand: "One";
84
108
  } ? ObjectRef<Types, TypesForRelation<Types, Rel>> : [
85
109
  ObjectRef<Types, TypesForRelation<Types, Rel>>
86
110
  ];
87
- export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types["DrizzleRelationSchema"], Types["DrizzleRelationSchemaByDbName"][Rel["referencedTableName"]], true>;
111
+ export type TypesForRelation<Types extends SchemaTypes, Rel extends Relation> = BuildQueryResult<Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Rel["targetTable"]["_"]["name"]], true>;
88
112
  export type QueryForField<Types extends SchemaTypes, Args extends InputFieldMap, Rel extends Relation> = (Rel extends {
89
113
  $relationBrand: "One";
90
- } ? Omit<DBQueryConfig<"one", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchemaByDbName"][Rel["referencedTableName"]]>, "columns" | "extra" | "with"> : Omit<DBQueryConfig<"many", false, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchemaByDbName"][Rel["referencedTableName"]]>, "columns" | "extra" | "with">) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types["Context"]) => QueryConfig) : never;
91
- export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types["DrizzleRelationSchema"]> = Omit<DBQueryConfig<"many", true, Types["DrizzleRelationSchema"], Types["DrizzleRelationSchema"][Table]>, Param extends [
114
+ } ? Omit<DBQueryConfig<"one", Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Rel["targetTable"]["_"]["name"]]>, "columns" | "extra" | "with"> : Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Rel["targetTable"]["_"]["name"]]>, "columns" | "extra" | "with">) extends infer QueryConfig ? QueryConfig | ((args: InputShapeFromFields<Args>, context: Types["Context"]) => QueryConfig) : never;
115
+ export type QueryForDrizzleField<Types extends SchemaTypes, Param, Table extends keyof Types["DrizzleRelationsConfig"]> = Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Types["DrizzleRelationsConfig"][Table], true>, Param extends [
92
116
  unknown
93
117
  ] ? never : "limit">;
94
- export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<"many", false, Types["DrizzleRelationSchema"], Table>, "orderBy" | "limit" | "offset" | "columns" | "extra" | "with"> & {
95
- orderBy?: ConnectionOrderBy | ((columns: Table["columns"]) => ConnectionOrderBy);
118
+ export type QueryForRelatedConnection<Types extends SchemaTypes, Table extends TableRelationalConfig, Args> = Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Table>, "limit" | "offset" | "columns" | "extra" | "with" | "orderBy"> & {
119
+ orderBy?: ConnectionOrderBy<Table> | ((columns: Table["columns"]) => ConnectionOrderBy<Table>);
96
120
  } extends infer QueryConfig ? QueryConfig | ((args: Args, context: Types["Context"]) => QueryConfig) : never;
97
- export type QueryForDrizzleConnection<Types extends SchemaTypes, Table extends TableRelationalConfig> = Omit<DBQueryConfig<"many", false, Types["DrizzleRelationSchema"], Table>, "orderBy" | "limit" | "offset"> & {
98
- orderBy?: ConnectionOrderBy | ((columns: Table["columns"]) => ConnectionOrderBy);
121
+ export type QueryForDrizzleConnection<Types extends SchemaTypes, Table extends TableRelationalConfig> = Omit<DBQueryConfig<"many", Types["DrizzleRelationsConfig"], Table>, "limit" | "offset" | "orderBy"> & {
122
+ orderBy?: ConnectionOrderBy<Table> | ((columns: Table["columns"]) => ConnectionOrderBy<Table>);
99
123
  };
100
124
  export type ListRelation<T extends TableRelationalConfig> = {
101
- [K in keyof T["relations"]]: T["relations"][K] extends Many<string> ? K : never;
125
+ [K in keyof T["relations"]]: T["relations"][K] extends Many<string, string> ? K : never;
102
126
  }[keyof T["relations"]];
103
127
  export type DrizzleConnectionFieldOptions<Types extends SchemaTypes, ParentShape, Type extends // biome-ignore lint/suspicious/noExplicitAny: <explanation>
104
- DrizzleRef<any, keyof Types["DrizzleRelationSchema"]> | keyof Types["DrizzleRelationSchema"], TableConfig extends TableRelationalConfig, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "Arg"> & (InputFieldMap extends Args ? {} : Args), Kind, ParentShape, ResolveReturnShape>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
128
+ DrizzleRef<any, keyof Types["DrizzleRelationsConfig"]> | keyof Types["DrizzleRelationsConfig"], TableConfig extends TableRelationalConfig, Param extends OutputType<Types>, Nullable extends boolean, Args extends InputFieldMap, ResolveReturnShape, Kind extends FieldKind> = Omit<FieldOptionsFromKind<Types, ParentShape, Param, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "Arg"> & (InputFieldMap extends Args ? {} : Args), Kind, ParentShape, ResolveReturnShape>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, ParentShape, Param, Nullable, false, false, Args, ResolveReturnShape>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
105
129
  type: Type;
106
130
  defaultSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
107
131
  maxSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
108
132
  resolve: (query: <T extends QueryForRelatedConnection<Types, TableConfig, ConnectionArgs>>(selection?: T) => Omit<T, "orderBy"> & {
109
- orderBy: SQL;
133
+ orderBy: {
134
+ [K in keyof TableConfig["columns"]]?: "asc" | "desc" | undefined;
135
+ };
110
136
  }, parent: ParentShape, args: ConnectionArgs, context: Types["Context"], info: GraphQLResolveInfo) => ShapeFromTypeParam<Types, [
111
137
  Param
112
138
  ], Nullable> extends infer Shape ? [
@@ -117,24 +143,18 @@ DrizzleRef<any, keyof Types["DrizzleRelationSchema"]> | keyof Types["DrizzleRela
117
143
  ]
118
144
  ] ? ListResolveValue<Shape, Item, ResolveReturnShape> : MaybePromise<Shape> : never;
119
145
  } : never);
120
- export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, NodeTable extends TableRelationalConfig = Types["DrizzleRelationSchemaByDbName"][Table["relations"][Field]["referencedTableName"]]> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ObjectRef<Types, unknown>, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "InputObject"> & (InputFieldMap extends Args ? {} : Args), unknown>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Shape, ObjectRef<Types, unknown>, false, false, Nullable, Args, unknown>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
146
+ export type RelatedConnectionOptions<Types extends SchemaTypes, Shape, Table extends TableRelationalConfig, Field extends keyof Table["relations"], Nullable extends boolean, Args extends InputFieldMap, NodeTable extends TableRelationalConfig = Types["DrizzleRelationsConfig"][Table["relations"][Field]["targetTable"]["_"]["name"]]> = Omit<PothosSchemaTypes.ObjectFieldOptions<Types, Shape, ObjectRef<Types, unknown>, Nullable, InputFieldsFromShape<Types, PothosSchemaTypes.DefaultConnectionArguments, "InputObject"> & (InputFieldMap extends Args ? {} : Args), unknown>, "args" | "resolve" | "type"> & Omit<PothosSchemaTypes.ConnectionFieldOptions<Types, Shape, ObjectRef<Types, unknown>, false, false, Nullable, Args, unknown>, "resolve" | "type"> & (InputShapeFromFields<Args> & PothosSchemaTypes.DefaultConnectionArguments extends infer ConnectionArgs ? {
121
147
  resolve?: (parent: Shape, args: ConnectionArgs, context: Types["Context"], info: GraphQLResolveInfo) => MaybePromise<ShapeFromTypeParam<Types, [
122
148
  ObjectRef<Types, TypesForRelation<Types, Table["relations"][Field]>>
123
149
  ], Nullable>>;
124
150
  query?: QueryForRelatedConnection<Types, NodeTable, ConnectionArgs>;
125
- type?: DrizzleRef<any, Table["relations"][Field]["referencedTableName"]>;
151
+ type?: DrizzleRef<any, Table["relations"][Field]["targetTable"]["_"]["name"]>;
126
152
  defaultSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
127
153
  maxSize?: number | ((args: ConnectionArgs, ctx: Types["Context"]) => number);
128
154
  } : never);
129
- export type ConnectionOrderBy = Column | {
130
- asc: Column;
131
- } | {
132
- desc: Column;
133
- } | (Column | {
134
- asc: Column;
135
- } | {
136
- desc: Column;
137
- })[];
155
+ export type ConnectionOrderBy<T extends TableRelationalConfig> = Column | Column[] | {
156
+ [K in keyof T["columns"]]?: "asc" | "desc" | undefined;
157
+ };
138
158
  export type ShapeFromConnection<T> = T extends {
139
159
  shape: unknown;
140
160
  } ? T["shape"] : never;