@pothos/plugin-prisma 3.36.0 → 3.38.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 +12 -0
- package/README.md +61 -44
- package/dts/connection-helpers.d.ts +17 -11
- package/dts/connection-helpers.d.ts.map +1 -1
- package/dts/index.d.ts +1 -1
- package/dts/index.d.ts.map +1 -1
- package/dts/prisma-field-builder.d.ts +2 -2
- package/dts/prisma-field-builder.d.ts.map +1 -1
- package/dts/types.d.ts +30 -30
- package/dts/types.d.ts.map +1 -1
- package/dts/util/cursors.d.ts +11 -5
- package/dts/util/cursors.d.ts.map +1 -1
- package/dts/util/relation-map.d.ts +1 -1
- package/dts/util/relation-map.d.ts.map +1 -1
- package/dts/util/selections.d.ts +1 -1
- package/dts/util/selections.d.ts.map +1 -1
- package/esm/connection-helpers.d.ts +17 -11
- package/esm/connection-helpers.d.ts.map +1 -1
- package/esm/connection-helpers.js +34 -2
- package/esm/connection-helpers.js.map +1 -1
- package/esm/field-builder.js +10 -10
- package/esm/field-builder.js.map +1 -1
- package/esm/generator.js +86 -74
- package/esm/generator.js.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +5 -5
- package/esm/index.js.map +1 -1
- package/esm/model-loader.js +9 -9
- package/esm/model-loader.js.map +1 -1
- package/esm/prisma-field-builder.d.ts +2 -2
- package/esm/prisma-field-builder.d.ts.map +1 -1
- package/esm/prisma-field-builder.js +12 -12
- package/esm/prisma-field-builder.js.map +1 -1
- package/esm/schema-builder.js +13 -13
- package/esm/schema-builder.js.map +1 -1
- package/esm/types.d.ts +30 -30
- package/esm/types.d.ts.map +1 -1
- package/esm/util/cursors.d.ts +11 -5
- package/esm/util/cursors.d.ts.map +1 -1
- package/esm/util/cursors.js +33 -29
- package/esm/util/cursors.js.map +1 -1
- package/esm/util/get-client.js +2 -2
- package/esm/util/get-client.js.map +1 -1
- package/esm/util/loader-map.js +2 -2
- package/esm/util/loader-map.js.map +1 -1
- package/esm/util/map-query.js +24 -24
- package/esm/util/map-query.js.map +1 -1
- package/esm/util/relation-map.d.ts +1 -1
- package/esm/util/relation-map.d.ts.map +1 -1
- package/esm/util/selections.d.ts +1 -1
- package/esm/util/selections.d.ts.map +1 -1
- package/esm/util/selections.js +2 -2
- package/esm/util/selections.js.map +1 -1
- package/generated.ts +67 -0
- package/lib/connection-helpers.js +34 -2
- package/lib/connection-helpers.js.map +1 -1
- package/lib/field-builder.js +10 -10
- package/lib/field-builder.js.map +1 -1
- package/lib/generator.js +84 -72
- package/lib/generator.js.map +1 -1
- package/lib/index.js +5 -5
- package/lib/index.js.map +1 -1
- package/lib/model-loader.js +9 -9
- package/lib/model-loader.js.map +1 -1
- package/lib/prisma-field-builder.js +12 -12
- package/lib/prisma-field-builder.js.map +1 -1
- package/lib/schema-builder.js +13 -13
- package/lib/schema-builder.js.map +1 -1
- package/lib/util/cursors.js +33 -29
- package/lib/util/cursors.js.map +1 -1
- package/lib/util/get-client.js +2 -2
- package/lib/util/get-client.js.map +1 -1
- package/lib/util/loader-map.js +2 -2
- package/lib/util/loader-map.js.map +1 -1
- package/lib/util/map-query.js +24 -24
- package/lib/util/map-query.js.map +1 -1
- package/lib/util/selections.js +2 -2
- package/lib/util/selections.js.map +1 -1
- package/package.json +21 -11
- package/src/connection-helpers.ts +62 -5
- package/src/generator.ts +215 -193
- package/src/util/cursors.ts +8 -1
|
@@ -12,17 +12,25 @@ _export(exports, {
|
|
|
12
12
|
prismaModelKey: ()=>prismaModelKey,
|
|
13
13
|
prismaConnectionHelpers: ()=>prismaConnectionHelpers
|
|
14
14
|
});
|
|
15
|
+
const _modelLoader = require("./model-loader");
|
|
15
16
|
const _cursors = require("./util/cursors");
|
|
16
17
|
const _datamodel = require("./util/datamodel");
|
|
18
|
+
const _getClient = require("./util/get-client");
|
|
19
|
+
const _relationMap = require("./util/relation-map");
|
|
20
|
+
const _selections = require("./util/selections");
|
|
17
21
|
const prismaModelKey = Symbol.for('Pothos.prismaModelKey');
|
|
18
22
|
function prismaConnectionHelpers(builder, refOrType, options) {
|
|
19
23
|
const modelName = typeof refOrType === 'string' ? refOrType : refOrType.modelName;
|
|
24
|
+
const ref = typeof refOrType === 'string' ? (0, _datamodel.getRefFromModel)(modelName, builder) : refOrType;
|
|
20
25
|
const formatCursor = (0, _cursors.getCursorFormatter)(modelName, builder, options.cursor);
|
|
21
26
|
const parseCursor = (0, _cursors.getCursorParser)(modelName, builder, options.cursor);
|
|
27
|
+
const cursorSelection = _modelLoader.ModelLoader.getCursorSelection(ref, modelName, options.cursor, builder);
|
|
28
|
+
const fieldMap = (0, _relationMap.getRelationMap)((0, _getClient.getDMMF)(builder)).get(modelName);
|
|
22
29
|
function resolve(list, args, ctx) {
|
|
23
|
-
|
|
30
|
+
var _ref;
|
|
31
|
+
return (0, _cursors.wrapConnectionResult)(list, args, getQueryArgs(args, ctx).take, formatCursor, null, (_ref = options === null || options === void 0 ? void 0 : options.resolveNode) !== null && _ref !== void 0 ? _ref : (edge)=>edge);
|
|
24
32
|
}
|
|
25
|
-
function
|
|
33
|
+
function getQueryArgs(args, ctx) {
|
|
26
34
|
return (0, _cursors.prismaCursorConnectionQuery)({
|
|
27
35
|
args,
|
|
28
36
|
ctx,
|
|
@@ -31,9 +39,33 @@ function prismaConnectionHelpers(builder, refOrType, options) {
|
|
|
31
39
|
parseCursor
|
|
32
40
|
});
|
|
33
41
|
}
|
|
42
|
+
function getQuery(args, ctx, nestedSelection) {
|
|
43
|
+
const nestedSelect = options.select ? {
|
|
44
|
+
select: options.select((sel)=>nestedSelection(sel, [
|
|
45
|
+
'edges',
|
|
46
|
+
'node'
|
|
47
|
+
]))
|
|
48
|
+
} : nestedSelection(true, [
|
|
49
|
+
'edges',
|
|
50
|
+
'node'
|
|
51
|
+
]);
|
|
52
|
+
const selectState = (0, _selections.createState)(fieldMap, 'select');
|
|
53
|
+
(0, _selections.mergeSelection)(selectState, {
|
|
54
|
+
select: cursorSelection
|
|
55
|
+
});
|
|
56
|
+
if (typeof nestedSelect === 'object' && nestedSelect) {
|
|
57
|
+
(0, _selections.mergeSelection)(selectState, nestedSelect);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
...getQueryArgs(args, ctx),
|
|
61
|
+
...(0, _selections.selectionToQuery)(selectState)
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
var _options_select;
|
|
34
65
|
return {
|
|
35
66
|
ref: typeof refOrType === 'string' ? (0, _datamodel.getRefFromModel)(refOrType, builder) : refOrType,
|
|
36
67
|
resolve,
|
|
68
|
+
select: (_options_select = options.select) !== null && _options_select !== void 0 ? _options_select : {},
|
|
37
69
|
getQuery
|
|
38
70
|
};
|
|
39
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/connection-helpers.ts"],"names":["prismaModelKey","prismaConnectionHelpers","Symbol","for","builder","refOrType","options","modelName","formatCursor","getCursorFormatter","cursor","parseCursor","getCursorParser","resolve","list","args","ctx","wrapConnectionResult","
|
|
1
|
+
{"version":3,"sources":["../src/connection-helpers.ts"],"names":["prismaModelKey","prismaConnectionHelpers","Symbol","for","builder","refOrType","options","modelName","ref","getRefFromModel","formatCursor","getCursorFormatter","cursor","parseCursor","getCursorParser","cursorSelection","ModelLoader","getCursorSelection","fieldMap","getRelationMap","getDMMF","get","resolve","list","args","ctx","wrapConnectionResult","getQueryArgs","take","resolveNode","edge","prismaCursorConnectionQuery","maxSize","defaultSize","getQuery","nestedSelection","nestedSelect","select","sel","selectState","createState","mergeSelection","selectionToQuery"],"mappings":"AAAA;;;;;;;;;;;IAeaA,cAAc,MAAdA;IAEGC,uBAAuB,MAAvBA;;6BAhBY;yBAQrB;2BACyB;2BACR;6BACO;4BAC+B;AAEvD,MAAMD,iBAAiBE,OAAOC,GAAG,CAAC;AAElC,SAASF,wBAadG,OAA+C,EAC/CC,SAAoB,EACpBC,OAQC,EACD;IACA,MAAMC,YACJ,OAAOF,cAAc,WAAWA,YAAY,AAACA,UAAqCE,SAAS;IAC7F,MAAMC,MACJ,OAAOH,cAAc,WACjBI,IAAAA,0BAAe,EAACF,WAAWH,WAC1BC,SAAgC;IACvC,MAAMK,eAAeC,IAAAA,2BAAkB,EAACJ,WAAWH,SAASE,QAAQM,MAAM;IAC1E,MAAMC,cAAcC,IAAAA,wBAAe,EAACP,WAAWH,SAASE,QAAQM,MAAM;IACtE,MAAMG,kBAAkBC,wBAAW,CAACC,kBAAkB,CAACT,KAAKD,WAAWD,QAAQM,MAAM,EAAER;IACvF,MAAMc,WAAWC,IAAAA,2BAAc,EAACC,IAAAA,kBAAO,EAAChB,UAAUiB,GAAG,CAACd;IAEtD,SAASe,QACPC,IAAwB,EACxBC,IAAkD,EAClDC,GAAqB,EACrB;YAOE;QANF,OAAOC,IAAAA,6BAAoB,EACzBH,MACAC,MACAG,aAAaH,MAAMC,KAAKG,IAAI,EAC5BlB,cACA,IAAI,EACJ,CAAA,OAACJ,oBAAAA,qBAAAA,KAAAA,IAAAA,QAASuB,WAAW,cAArB,kBAAA,OAAoC,CAACC,OAAkBA,IAAK;IAUhE;IAEA,SAASH,aAAaH,IAAkD,EAAEC,GAAqB,EAAE;QAC/F,OAAOM,IAAAA,oCAA2B,EAAC;YACjCP;YACAC;YACAO,SAAS,OAAO1B,QAAQ0B,OAAO,KAAK,aAAa1B,QAAQ0B,OAAO,CAACR,MAAMC,OAAOnB,QAAQ0B,OAAO;YAC7FC,aACE,OAAO3B,QAAQ2B,WAAW,KAAK,aAC3B3B,QAAQ2B,WAAW,CAACT,MAAMC,OAC1BnB,QAAQ2B,WAAW;YACzBpB;QACF;IACF;IAEA,SAASqB,SACPV,IAAkD,EAClDC,GAAqB,EACrBU,eAA2E,EAC3E;QACA,MAAMC,eAA+C9B,QAAQ+B,MAAM,GAC/D;YAAEA,QAAQ/B,QAAQ+B,MAAM,CAAC,CAACC,MAAQH,gBAAgBG,KAAK;oBAAC;oBAAS;iBAAO;QAAG,IAC3EH,gBAAgB,IAAI,EAAE;YAAC;YAAS;SAAO,CAAC;QAE5C,MAAMI,cAAcC,IAAAA,uBAAW,EAACtB,UAAU;QAE1CuB,IAAAA,0BAAc,EAACF,aAAa;YAAEF,QAAQtB;QAAgB;QAEtD,IAAI,OAAOqB,iBAAiB,YAAYA,cAAc;YACpDK,IAAAA,0BAAc,EAACF,aAAaH;QAC9B,CAAC;QAED,OAAO;YACL,GAAGT,aAAaH,MAAMC,IAAI;YAC1B,GAAGiB,IAAAA,4BAAgB,EAACH,YAAY;QAClC;IAEF;QAOUjC;IALV,OAAO;QACLE,KAAM,OAAOH,cAAc,WACvBI,IAAAA,0BAAe,EAACJ,WAAWD,WAC3BC,SAAS;QACbiB;QACAe,QAAQ/B,CAAAA,kBAAAA,QAAQ+B,MAAM,cAAd/B,6BAAAA,kBAAkB,CAAC,CAAC;QAC5B4B;IACF;AACF"}
|
package/lib/field-builder.js
CHANGED
|
@@ -57,16 +57,16 @@ fieldBuilderProto.prismaFieldWithInput = function prismaFieldWithInput({ type ,
|
|
|
57
57
|
});
|
|
58
58
|
};
|
|
59
59
|
fieldBuilderProto.prismaConnection = function prismaConnection({ type , cursor , maxSize , defaultSize , resolve , totalCount , ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
60
|
-
var
|
|
61
|
-
const
|
|
62
|
-
const typeName = this.builder.configStore.getTypeConfig(
|
|
63
|
-
const model = (
|
|
60
|
+
var _this_builder_configStore_getTypeConfig_extensions;
|
|
61
|
+
const ref = typeof type === 'string' ? (0, _datamodel.getRefFromModel)(type, this.builder) : type;
|
|
62
|
+
const typeName = this.builder.configStore.getTypeConfig(ref).name;
|
|
63
|
+
const model = (_this_builder_configStore_getTypeConfig_extensions = this.builder.configStore.getTypeConfig(ref).extensions) === null || _this_builder_configStore_getTypeConfig_extensions === void 0 ? void 0 : _this_builder_configStore_getTypeConfig_extensions.pothosPrismaModel;
|
|
64
64
|
const formatCursor = (0, _cursors.getCursorFormatter)(model, this.builder, cursor);
|
|
65
65
|
const parseCursor = (0, _cursors.getCursorParser)(model, this.builder, cursor);
|
|
66
|
-
const cursorSelection = _modelLoader.ModelLoader.getCursorSelection(
|
|
66
|
+
const cursorSelection = _modelLoader.ModelLoader.getCursorSelection(ref, model, cursor, this.builder);
|
|
67
67
|
const fieldRef = this.connection({
|
|
68
68
|
...options,
|
|
69
|
-
type:
|
|
69
|
+
type: ref,
|
|
70
70
|
resolve: (parent, args, context, info)=>(0, _cursors.resolvePrismaCursorConnection)({
|
|
71
71
|
query: (0, _mapQuery.queryFromInfo)({
|
|
72
72
|
context,
|
|
@@ -88,16 +88,16 @@ fieldBuilderProto.prismaConnection = function prismaConnection({ type , cursor ,
|
|
|
88
88
|
}, connectionOptions instanceof _core.ObjectRef ? connectionOptions : {
|
|
89
89
|
...connectionOptions,
|
|
90
90
|
fields: totalCount ? (t)=>{
|
|
91
|
-
var
|
|
91
|
+
var _connectionOptions_fields;
|
|
92
92
|
return {
|
|
93
93
|
totalCount: t.int({
|
|
94
94
|
nullable: false,
|
|
95
95
|
resolve: (parent, args, context)=>{
|
|
96
|
-
var
|
|
97
|
-
return (
|
|
96
|
+
var _parent_totalCount;
|
|
97
|
+
return (_parent_totalCount = parent.totalCount) === null || _parent_totalCount === void 0 ? void 0 : _parent_totalCount.call(parent);
|
|
98
98
|
}
|
|
99
99
|
}),
|
|
100
|
-
...(
|
|
100
|
+
...(_connectionOptions_fields = connectionOptions.fields) === null || _connectionOptions_fields === void 0 ? void 0 : _connectionOptions_fields.call(connectionOptions, t)
|
|
101
101
|
};
|
|
102
102
|
} : connectionOptions.fields,
|
|
103
103
|
extensions: {
|
package/lib/field-builder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","prismaField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","query","queryFromInfo","prismaFieldWithInput","fieldWithInput","prismaConnection","cursor","maxSize","defaultSize","totalCount","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","model","extensions","pothosPrismaModel","formatCursor","getCursorFormatter","parseCursor","getCursorParser","cursorSelection","ModelLoader","getCursorSelection","fieldRef","connection","resolvePrismaCursorConnection","select","path","ctx","ObjectRef","fields","t","int","nullable"],"mappings":"AAAA;;;;sBASO;6BACqB;yBAEuD;2BACnD;0BACF;oBAEhB;;;;;;;;;;;;AAEd,MAAMA,oBAAoBC,sBAAgB,CAACC,SAAS;AAMpDF,kBAAkBG,WAAW,GAAG,SAASA,YAAY,EAAEC,KAAI,EAAEC,QAAO,EAAE,GAAGC,SAAS,EAAE;IAClF,MAAMC,aAAaC,MAAMC,OAAO,CAACL,QAAQA,IAAI,CAAC,EAAE,GAAGA,IAAI;IACvD,MAAMM,UACJ,OAAOH,eAAe,WAClBI,IAAAA,0BAAe,EAACJ,YAAY,IAAI,CAACK,OAAO,IACvCL,UAAiC;IACxC,MAAMM,YAAYL,MAAMC,OAAO,CAACL,QAAS;QAACM;KAAQ,GAA4BA,OAAO;IAErF,OAAO,IAAI,CAACI,KAAK,CAAC;QAChB,GAAIR,OAAO;QACXF,MAAMS;QACNR,SAAS,CAACU,QAAeC,MAAeC,SAAaC,OAA6B;YAChF,MAAMC,QAAQC,IAAAA,uBAAa,EAAC;gBAAEH;gBAASC;YAAK;YAE5C,OAAOb,QAAQc,OAAOJ,QAAQC,MAAeC,SAASC;QACxD;IACF;AACF;AAEAlB,kBAAkBqB,oBAAoB,GAAG,SAASA,qBAAqB,EACrEjB,KAAI,EACJC,QAAO,EACP,GAAGC,SACJ,EAAE;IACD,MAAMC,aAAaC,MAAMC,OAAO,CAACL,QAAQA,IAAI,CAAC,EAAE,GAAGA,IAAI;IACvD,MAAMM,UACJ,OAAOH,eAAe,WAClBI,IAAAA,0BAAe,EAACJ,YAAY,IAAI,CAACK,OAAO,IACvCL,UAAiC;IACxC,MAAMM,YAAYL,MAAMC,OAAO,CAACL,QAAS;QAACM;KAAQ,GAA4BA,OAAO;IAErF,OAAO,AACL,IAAI,CACJY,cAAc,CAAC;QACf,GAAIhB,OAAO;QACXF,MAAMS;QACNR,SAAS,CAACU,QAAeC,MAAeC,SAAaC,OAA6B;YAChF,MAAMC,QAAQC,IAAAA,uBAAa,EAAC;gBAAEH;gBAASC;YAAK;YAE5C,OAAOb,QAAQc,OAAOJ,QAAQC,MAAeC,SAASC;QACxD;IACF;AACF;AAEAlB,kBAAkBuB,gBAAgB,GAAG,SAASA,iBAQ5C,EACEnB,KAAI,EACJoB,OAAM,EACNC,QAAO,EACPC,YAAW,EACXrB,QAAO,EACPsB,WAAU,EACV,GAAGrB,SAWJ,EACDsB,oBAAwB,CAAC,CAAC,EAC1BC,cAAkB,CAAC,CAAC,EACpB;QAIc;IAHd,MAAMC,
|
|
1
|
+
{"version":3,"sources":["../src/field-builder.ts"],"names":["fieldBuilderProto","RootFieldBuilder","prototype","prismaField","type","resolve","options","modelOrRef","Array","isArray","typeRef","getRefFromModel","builder","typeParam","field","parent","args","context","info","query","queryFromInfo","prismaFieldWithInput","fieldWithInput","prismaConnection","cursor","maxSize","defaultSize","totalCount","connectionOptions","edgeOptions","ref","typeName","configStore","getTypeConfig","name","model","extensions","pothosPrismaModel","formatCursor","getCursorFormatter","parseCursor","getCursorParser","cursorSelection","ModelLoader","getCursorSelection","fieldRef","connection","resolvePrismaCursorConnection","select","path","ctx","ObjectRef","fields","t","int","nullable"],"mappings":"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"}
|
package/lib/generator.js
CHANGED
|
@@ -72,83 +72,95 @@ const defaultOutput = (0, _path.resolve)(__dirname, '../generated.ts');
|
|
|
72
72
|
defaultOutput
|
|
73
73
|
}),
|
|
74
74
|
onGenerate: async (options)=>{
|
|
75
|
+
var _options_generator_output;
|
|
75
76
|
checkTSVersion();
|
|
76
77
|
const config = options.generator.config;
|
|
77
|
-
var
|
|
78
|
-
const prismaLocation = (
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const possibleTypes = [
|
|
86
|
-
`${type}OrderByWithRelationInput`,
|
|
87
|
-
`${type}OrderByWithRelationAndSearchRelevanceInput`
|
|
88
|
-
];
|
|
89
|
-
const orderBy = (ref = options.dmmf.schema.inputObjectTypes.prisma) === null || ref === void 0 ? void 0 : ref.find((inputType)=>possibleTypes.includes(inputType.name));
|
|
90
|
-
if (!orderBy) {
|
|
91
|
-
return possibleTypes[0];
|
|
92
|
-
}
|
|
93
|
-
return orderBy.name;
|
|
78
|
+
var _config_clientOutput;
|
|
79
|
+
const prismaLocation = (_config_clientOutput = config.clientOutput) !== null && _config_clientOutput !== void 0 ? _config_clientOutput : options.otherGenerators.find((gen)=>gen.provider.value === 'prisma-client-js').output.value;
|
|
80
|
+
var _options_generator_output_value;
|
|
81
|
+
const outputLocation = (_options_generator_output_value = (_options_generator_output = options.generator.output) === null || _options_generator_output === void 0 ? void 0 : _options_generator_output.value) !== null && _options_generator_output_value !== void 0 ? _options_generator_output_value : defaultOutput;
|
|
82
|
+
const prismaTypes = buildTypes(options.dmmf);
|
|
83
|
+
await generateOutput(options.dmmf, prismaTypes, prismaLocation, outputLocation);
|
|
84
|
+
if (outputLocation === defaultOutput) {
|
|
85
|
+
await generateOutput(options.dmmf, prismaTypes, prismaLocation.replace('../', '../../'), outputLocation.replace('/generated.ts', '/esm/generated.ts'));
|
|
94
86
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
]));
|
|
119
|
-
});
|
|
120
|
-
const prismaTypes = _typescript.default.factory.createInterfaceDeclaration([], [
|
|
121
|
-
_typescript.default.factory.createModifier(_typescript.SyntaxKind.ExportKeyword),
|
|
122
|
-
_typescript.default.factory.createModifier(_typescript.SyntaxKind.DefaultKeyword)
|
|
123
|
-
], 'PrismaTypes', [], [], modelTypes);
|
|
124
|
-
const printer = _typescript.default.createPrinter({});
|
|
125
|
-
const sourcefile = _typescript.default.createSourceFile(options.generator.output.value, '', _typescript.ScriptTarget.ESNext, false, _typescript.ScriptKind.TS);
|
|
126
|
-
const nodes = _typescript.default.factory.createNodeArray([
|
|
127
|
-
importStatement,
|
|
128
|
-
prismaTypes
|
|
129
|
-
]);
|
|
130
|
-
const result = printer.printList(_typescript.ListFormat.SourceFileStatements, nodes, sourcefile);
|
|
131
|
-
await new Promise((resolve, reject)=>{
|
|
132
|
-
(0, _fs.mkdir)((0, _path.dirname)(sourcefile.fileName), {
|
|
133
|
-
recursive: true
|
|
134
|
-
}, (err)=>{
|
|
135
|
-
if (err) {
|
|
136
|
-
reject(err);
|
|
137
|
-
} else {
|
|
138
|
-
resolve();
|
|
139
|
-
}
|
|
140
|
-
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
async function generateOutput(dmmf, prismaTypes, prismaLocation, outputLocation) {
|
|
90
|
+
const importStatement = _typescript.default.factory.createImportDeclaration([], [], _typescript.default.factory.createImportClause(true, undefined, _typescript.default.factory.createNamedImports([
|
|
91
|
+
_typescript.default.factory.createImportSpecifier(false, undefined, _typescript.default.factory.createIdentifier('Prisma')),
|
|
92
|
+
...dmmf.datamodel.models.map((model)=>_typescript.default.factory.createImportSpecifier(false, undefined, _typescript.default.factory.createIdentifier(model.name)))
|
|
93
|
+
])), _typescript.default.factory.createStringLiteral(prismaLocation));
|
|
94
|
+
const printer = _typescript.default.createPrinter({});
|
|
95
|
+
const sourcefile = _typescript.default.createSourceFile(outputLocation, '', _typescript.ScriptTarget.ESNext, false, _typescript.ScriptKind.TS);
|
|
96
|
+
const nodes = _typescript.default.factory.createNodeArray([
|
|
97
|
+
importStatement,
|
|
98
|
+
prismaTypes
|
|
99
|
+
]);
|
|
100
|
+
const result = printer.printList(_typescript.ListFormat.SourceFileStatements, nodes, sourcefile);
|
|
101
|
+
await new Promise((resolve, reject)=>{
|
|
102
|
+
(0, _fs.mkdir)((0, _path.dirname)(sourcefile.fileName), {
|
|
103
|
+
recursive: true
|
|
104
|
+
}, (err)=>{
|
|
105
|
+
if (err) {
|
|
106
|
+
reject(err);
|
|
107
|
+
} else {
|
|
108
|
+
resolve();
|
|
109
|
+
}
|
|
141
110
|
});
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
111
|
+
});
|
|
112
|
+
return new Promise((resolve, reject)=>{
|
|
113
|
+
(0, _fs.writeFile)(sourcefile.fileName, `/* eslint-disable */\n${result}`, (err)=>{
|
|
114
|
+
if (err) {
|
|
115
|
+
reject(err);
|
|
116
|
+
} else {
|
|
117
|
+
resolve();
|
|
118
|
+
}
|
|
150
119
|
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
function buildTypes(dmmf) {
|
|
123
|
+
function getOrderByTypeName(type) {
|
|
124
|
+
var _dmmf_schema_inputObjectTypes_prisma;
|
|
125
|
+
const possibleTypes = [
|
|
126
|
+
`${type}OrderByWithRelationInput`,
|
|
127
|
+
`${type}OrderByWithRelationAndSearchRelevanceInput`
|
|
128
|
+
];
|
|
129
|
+
const orderBy = (_dmmf_schema_inputObjectTypes_prisma = dmmf.schema.inputObjectTypes.prisma) === null || _dmmf_schema_inputObjectTypes_prisma === void 0 ? void 0 : _dmmf_schema_inputObjectTypes_prisma.find((inputType)=>possibleTypes.includes(inputType.name));
|
|
130
|
+
if (!orderBy) {
|
|
131
|
+
return possibleTypes[0];
|
|
132
|
+
}
|
|
133
|
+
return orderBy.name;
|
|
151
134
|
}
|
|
152
|
-
|
|
135
|
+
const modelTypes = dmmf.datamodel.models.map((model)=>{
|
|
136
|
+
const relations = model.fields.filter((field)=>!!field.relationName);
|
|
137
|
+
const listRelations = model.fields.filter((field)=>!!field.relationName && field.isList);
|
|
138
|
+
return _typescript.default.factory.createPropertySignature([], model.name, undefined, _typescript.default.factory.createTypeLiteralNode([
|
|
139
|
+
_typescript.default.factory.createPropertySignature([], 'Name', undefined, _typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createStringLiteral(model.name))),
|
|
140
|
+
_typescript.default.factory.createPropertySignature([], 'Shape', undefined, _typescript.default.factory.createTypeReferenceNode(model.name)),
|
|
141
|
+
_typescript.default.factory.createPropertySignature([], 'Include', undefined, relations.length > 0 ? _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}Include`) : _typescript.default.factory.createTypeReferenceNode('never')),
|
|
142
|
+
_typescript.default.factory.createPropertySignature([], 'Select', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}Select`)),
|
|
143
|
+
_typescript.default.factory.createPropertySignature([], 'OrderBy', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${getOrderByTypeName(model.name)}`)),
|
|
144
|
+
_typescript.default.factory.createPropertySignature([], 'WhereUnique', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}WhereUniqueInput`)),
|
|
145
|
+
_typescript.default.factory.createPropertySignature([], 'Where', undefined, _typescript.default.factory.createTypeReferenceNode(`Prisma.${model.name}WhereInput`)),
|
|
146
|
+
_typescript.default.factory.createPropertySignature([], 'RelationName', undefined, relations.length > 0 ? _typescript.default.factory.createUnionTypeNode(relations.map((field)=>_typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createStringLiteral(field.name)))) : _typescript.default.factory.createTypeReferenceNode('never')),
|
|
147
|
+
_typescript.default.factory.createPropertySignature([], 'ListRelations', undefined, listRelations.length > 0 ? _typescript.default.factory.createUnionTypeNode(listRelations.map((field)=>_typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createStringLiteral(field.name)))) : _typescript.default.factory.createTypeReferenceNode('never')),
|
|
148
|
+
_typescript.default.factory.createPropertySignature([], 'Relations', undefined, _typescript.default.factory.createTypeLiteralNode(relations.map((field)=>{
|
|
149
|
+
const typeName = field.type;
|
|
150
|
+
return _typescript.default.factory.createPropertySignature([], field.name, undefined, _typescript.default.factory.createTypeLiteralNode([
|
|
151
|
+
_typescript.default.factory.createPropertySignature([], 'Shape', undefined, field.isList ? _typescript.default.factory.createArrayTypeNode(_typescript.default.factory.createTypeReferenceNode(typeName)) : field.isRequired ? _typescript.default.factory.createTypeReferenceNode(typeName) : _typescript.default.factory.createUnionTypeNode([
|
|
152
|
+
_typescript.default.factory.createTypeReferenceNode(typeName),
|
|
153
|
+
_typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createNull())
|
|
154
|
+
])),
|
|
155
|
+
_typescript.default.factory.createPropertySignature([], 'Types', undefined, _typescript.default.factory.createIndexedAccessTypeNode(_typescript.default.factory.createTypeReferenceNode('PrismaTypes'), _typescript.default.factory.createLiteralTypeNode(_typescript.default.factory.createStringLiteral(typeName))))
|
|
156
|
+
]));
|
|
157
|
+
})))
|
|
158
|
+
]));
|
|
159
|
+
});
|
|
160
|
+
return _typescript.default.factory.createInterfaceDeclaration([], [
|
|
161
|
+
_typescript.default.factory.createModifier(_typescript.SyntaxKind.ExportKeyword),
|
|
162
|
+
_typescript.default.factory.createModifier(_typescript.SyntaxKind.DefaultKeyword)
|
|
163
|
+
], 'PrismaTypes', [], [], modelTypes);
|
|
164
|
+
}
|
|
153
165
|
|
|
154
166
|
//# sourceMappingURL=generator.js.map
|
package/lib/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/generator.ts"],"names":["MIN_TS_VERSION","checkTSVersion","versionParts","version","split","i","part","Number","parseInt","Error","join","defaultOutput","resolvePath","__dirname","generatorHandler","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","importStatement","ts","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","
|
|
1
|
+
{"version":3,"sources":["../src/generator.ts"],"names":["MIN_TS_VERSION","checkTSVersion","versionParts","version","split","i","part","Number","parseInt","Error","join","defaultOutput","resolvePath","__dirname","generatorHandler","onManifest","prettyName","requiresGenerators","onGenerate","options","config","generator","prismaLocation","clientOutput","otherGenerators","find","gen","provider","value","output","outputLocation","prismaTypes","buildTypes","dmmf","generateOutput","replace","importStatement","ts","factory","createImportDeclaration","createImportClause","undefined","createNamedImports","createImportSpecifier","createIdentifier","datamodel","models","map","model","name","createStringLiteral","printer","createPrinter","sourcefile","createSourceFile","ScriptTarget","ESNext","ScriptKind","TS","nodes","createNodeArray","result","printList","ListFormat","SourceFileStatements","Promise","resolve","reject","mkdir","dirname","fileName","recursive","err","writeFile","getOrderByTypeName","type","possibleTypes","orderBy","schema","inputObjectTypes","prisma","inputType","includes","modelTypes","relations","fields","filter","field","relationName","listRelations","isList","createPropertySignature","createTypeLiteralNode","createLiteralTypeNode","createTypeReferenceNode","length","createUnionTypeNode","typeName","createArrayTypeNode","isRequired","createNull","createIndexedAccessTypeNode","createInterfaceDeclaration","createModifier","SyntaxKind","ExportKeyword","DefaultKeyword"],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -97,14 +97,14 @@ class PrismaPlugin extends _core.BasePlugin {
|
|
|
97
97
|
return fieldConfig;
|
|
98
98
|
}
|
|
99
99
|
wrapResolve(resolver, fieldConfig) {
|
|
100
|
-
var
|
|
101
|
-
if (fieldConfig.kind !== 'PrismaObject' || !((
|
|
100
|
+
var _fieldConfig_extensions, _fieldConfig_extensions1, _parentConfig_extensions, _fieldConfig_extensions2;
|
|
101
|
+
if (fieldConfig.kind !== 'PrismaObject' || !((_fieldConfig_extensions = fieldConfig.extensions) === null || _fieldConfig_extensions === void 0 ? void 0 : _fieldConfig_extensions.pothosPrismaSelect)) {
|
|
102
102
|
return resolver;
|
|
103
103
|
}
|
|
104
104
|
const parentConfig = this.buildCache.getTypeConfig(fieldConfig.parentType, 'Object');
|
|
105
|
-
const loadedCheck = (
|
|
106
|
-
const loaderCache = (
|
|
107
|
-
const fallback = (
|
|
105
|
+
const loadedCheck = (_fieldConfig_extensions1 = fieldConfig.extensions) === null || _fieldConfig_extensions1 === void 0 ? void 0 : _fieldConfig_extensions1.pothosPrismaLoaded;
|
|
106
|
+
const loaderCache = (_parentConfig_extensions = parentConfig.extensions) === null || _parentConfig_extensions === void 0 ? void 0 : _parentConfig_extensions.pothosPrismaLoader;
|
|
107
|
+
const fallback = (_fieldConfig_extensions2 = fieldConfig.extensions) === null || _fieldConfig_extensions2 === void 0 ? void 0 : _fieldConfig_extensions2.pothosPrismaFallback;
|
|
108
108
|
return (parent, args, context, info)=>{
|
|
109
109
|
const mapping = (0, _loaderMap.getLoaderMapping)(context, info.path, info.parentType.name);
|
|
110
110
|
if ((!loadedCheck || loadedCheck(parent)) && mapping) {
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["prismaConnectionHelpers","PrismaNodeRef","PrismaObjectRef","queryFromInfo","ObjectFieldBuilder","PrismaPlugin","pluginName","InternalPrismaObjectFieldBuilder","BasePlugin","onOutputFieldConfig","fieldConfig","kind","pothosOptions","select","extensions","pothosPrismaSelect","args","ctx","nestedQuery","wrapResolve","resolver","parentConfig","buildCache","getTypeConfig","parentType","loadedCheck","pothosPrismaLoaded","loaderCache","pothosPrismaLoader","fallback","pothosPrismaFallback","parent","context","info","mapping","getLoaderMapping","path","name","setLoaderMappings","selectionState","selectionStateFromInfo","loadSelection","then","result","mappings","key","constructor","cache","SchemaBuilder","registerPlugin"],"mappings":"AAAA;;;;;;;;;;;IAeSA,uBAAuB,MAAvBA,0CAAuB;IACvBC,aAAa,MAAbA,sBAAa;IACbC,eAAe,MAAfA,0BAAe;IAKxB,OAA0B,MAA1B;IAESC,aAAa,MAAbA,uBAAa;IAOTC,kBAAkB,MAAlBA;IAUAC,YAAY,MAAZA;;QAzCN;QACA;4DAOA;8BACsE;2BAGzB;0BACE;mCAEd;yBACV;2BACE;oBAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEd,MAAMC,aAAa;MAEnB,WAAeA;AASR,MAAMF,qBAAqBG,sCAAgC;AAU3D,MAAMF,qBAAgDG,gBAAU;IAK5DC,oBACPC,WAA2C,EACJ;QACvC,IAAIA,YAAYC,IAAI,KAAK,kBAAkBD,YAAYE,aAAa,CAACC,MAAM,EAAE;YAC3E,MAAM,EAAEA,OAAM,EAAE,GAAGH,YAAYE,aAAa;YAC5C,OAAO;gBACL,GAAGF,WAAW;gBACdI,YAAY;oBACV,GAAGJ,YAAYI,UAAU;oBACzBC,oBACE,OAAOF,WAAW,aACd,CACEG,MACAC,KACAC,cACI,CAAA;4BACJL,QAAQ,AAACA,OACPG,MACAC,KACAC;wBAEJ,CAAA,IACAL,MAAM;gBACd;YACF;QACF,CAAC;QAED,OAAOH;IACT;IAESS,YACPC,QAA0E,EAC1EV,WAA2C,EACc;YACbA,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["prismaConnectionHelpers","PrismaNodeRef","PrismaObjectRef","queryFromInfo","ObjectFieldBuilder","PrismaPlugin","pluginName","InternalPrismaObjectFieldBuilder","BasePlugin","onOutputFieldConfig","fieldConfig","kind","pothosOptions","select","extensions","pothosPrismaSelect","args","ctx","nestedQuery","wrapResolve","resolver","parentConfig","buildCache","getTypeConfig","parentType","loadedCheck","pothosPrismaLoaded","loaderCache","pothosPrismaLoader","fallback","pothosPrismaFallback","parent","context","info","mapping","getLoaderMapping","path","name","setLoaderMappings","selectionState","selectionStateFromInfo","loadSelection","then","result","mappings","key","constructor","cache","SchemaBuilder","registerPlugin"],"mappings":"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"}
|
package/lib/model-loader.js
CHANGED
|
@@ -39,8 +39,8 @@ class ModelLoader {
|
|
|
39
39
|
const uniqueField = model.fields.find((field)=>field.isRequired && field.isUnique);
|
|
40
40
|
const uniqueIndex = model.uniqueIndexes.find((idx)=>{
|
|
41
41
|
return idx.fields.every((field)=>{
|
|
42
|
-
var
|
|
43
|
-
return (
|
|
42
|
+
var _model_fields_find;
|
|
43
|
+
return (_model_fields_find = model.fields.find((f)=>f.name === field)) === null || _model_fields_find === void 0 ? void 0 : _model_fields_find.isRequired;
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
46
|
let findBy;
|
|
@@ -83,11 +83,11 @@ class ModelLoader {
|
|
|
83
83
|
[field.name]: true
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
var
|
|
86
|
+
var _idx_name;
|
|
87
87
|
const index = [
|
|
88
88
|
model.primaryKey,
|
|
89
89
|
...model.uniqueIndexes
|
|
90
|
-
].filter(Boolean).find((idx)=>((
|
|
90
|
+
].filter(Boolean).find((idx)=>((_idx_name = idx.name) !== null && _idx_name !== void 0 ? _idx_name : idx.fields.join('_')) === cursor);
|
|
91
91
|
if (!index) {
|
|
92
92
|
throw new Error(`Can't find "${cursor}" field or index for ${ref.name}`);
|
|
93
93
|
}
|
|
@@ -98,15 +98,15 @@ class ModelLoader {
|
|
|
98
98
|
return selection;
|
|
99
99
|
}
|
|
100
100
|
static getFindUniqueForField(ref, modelName, fieldName, builder) {
|
|
101
|
-
var
|
|
101
|
+
var _model_primaryKey, _model_primaryKey1;
|
|
102
102
|
const model = (0, _datamodel.getModel)(modelName, builder);
|
|
103
|
-
var
|
|
104
|
-
const uniqueIndex = model.uniqueIndexes.find((idx)=>((
|
|
103
|
+
var _idx_name;
|
|
104
|
+
const uniqueIndex = model.uniqueIndexes.find((idx)=>((_idx_name = idx.name) !== null && _idx_name !== void 0 ? _idx_name : idx.fields.join('_')) === fieldName);
|
|
105
105
|
let findBy;
|
|
106
|
-
var
|
|
106
|
+
var _model_primaryKey_name;
|
|
107
107
|
if (model.fields.some((field)=>field.name === fieldName)) {
|
|
108
108
|
findBy = fieldName;
|
|
109
|
-
} else if (model.primaryKey && ((
|
|
109
|
+
} else if (model.primaryKey && ((_model_primaryKey_name = (_model_primaryKey = model.primaryKey) === null || _model_primaryKey === void 0 ? void 0 : _model_primaryKey.name) !== null && _model_primaryKey_name !== void 0 ? _model_primaryKey_name : (_model_primaryKey1 = model.primaryKey) === null || _model_primaryKey1 === void 0 ? void 0 : _model_primaryKey1.fields.join('_')) === fieldName) {
|
|
110
110
|
findBy = model.primaryKey;
|
|
111
111
|
} else if (uniqueIndex) {
|
|
112
112
|
findBy = uniqueIndex;
|
package/lib/model-loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model-loader.ts"],"names":["ModelLoader","forRef","ref","modelName","findUnique","builder","createContextCache","model","Error","name","getDefaultFindUnique","getFindUnique","findBy","parent","fields","primaryKeyName","primaryKey","key","join","getDefaultFindBy","getModel","idField","find","field","isId","uniqueField","isRequired","isUnique","uniqueIndex","uniqueIndexes","idx","every","f","getDefaultIDSelection","result","getCursorSelection","cursor","index","filter","Boolean","selection","column","getFindUniqueForField","fieldName","some","loadSelection","context","query","selectionToQuery","entry","staged","selectionCompatible","state","mergeSelection","promise","initLoad","Promise","resolve","then","delete","delegate","getDelegateFromModel","getClient","findUniqueOrThrow","where","rejectOnNotFound","add","constructor","Set"],"mappings":"AAAA;;;;+BAUaA;;aAAAA;;sBAV8C;2BACZ;2BACrB;4BAMnB;AAEA,MAAMA;IAuBX,OAAOC,OACLC,GAAuB,EACvBC,SAAiB,EACjBC,UAA8E,EAC9EC,OAA+C,EAC/C;QACA,OAAOC,IAAAA,wBAAkB,EACvB,CAACC,QACC,IAAIP,YACFO,OACAF,SACAF,WACAC,eAAe,IAAI,GACf,IAAM;gBACJ,MAAM,IAAII,MAAM,CAAC,uBAAuB,EAAEN,IAAIO,IAAI,CAAC,CAAC,EAAE;YACxD,IACAL,uBAAAA,wBAAAA,aAAc,IAAI,CAACM,oBAAoB,CAACR,KAAKC,WAAWE,QAAQ;IAG5E;IAEA,OAAOM,cACLC,MAKU,EAC8B;QACxC,IAAI,OAAOA,WAAW,UAAU;YAC9B,OAAO,CAACC,SAAY,CAAA;oBAAE,CAACD,OAAO,EAAEC,MAAM,CAACD,OAAO;gBAAC,CAAA;QACjD,CAAC;QAED,MAAM,EAAEE,OAAM,EAAEL,MAAMM,eAAc,EAAE,GAAGH;QAEzC,OAAO,CAACC,SAAW;YACjB,MAAMG,aAAsC,CAAC;YAE7C,KAAK,MAAMC,OAAOH,OAAQ;gBACxBE,UAAU,CAACC,IAAI,GAAGJ,MAAM,CAACI,IAAI;YAC/B;YAEA,OAAO;gBAAE,CAACF,2BAAAA,4BAAAA,iBAAkBD,OAAOI,IAAI,CAAC,IAAI,CAAC,EAAEF;YAAW;QAC5D;IACF;IAEA,OAAOG,iBACLjB,GAAuB,EACvBC,SAAiB,EACjBE,OAA+C,EAC/C;QACA,MAAME,QAAQa,IAAAA,mBAAQ,EAACjB,WAAWE;QAClC,MAAMgB,UAAUd,MAAMO,MAAM,CAACQ,IAAI,CAAC,CAACC,QAAUA,MAAMC,IAAI;QACvD,MAAMC,cAAclB,MAAMO,MAAM,CAACQ,IAAI,CAAC,CAACC,QAAUA,MAAMG,UAAU,IAAIH,MAAMI,QAAQ;QACnF,MAAMC,cAAcrB,MAAMsB,aAAa,CAACP,IAAI,CAAC,CAACQ;YAC5CA,OAAAA,IAAIhB,MAAM,CAACiB,KAAK,CAAC,CAACR;oBAAUhB;gBAAAA,OAAAA,CAAAA,
|
|
1
|
+
{"version":3,"sources":["../src/model-loader.ts"],"names":["ModelLoader","forRef","ref","modelName","findUnique","builder","createContextCache","model","Error","name","getDefaultFindUnique","getFindUnique","findBy","parent","fields","primaryKeyName","primaryKey","key","join","getDefaultFindBy","getModel","idField","find","field","isId","uniqueField","isRequired","isUnique","uniqueIndex","uniqueIndexes","idx","every","f","getDefaultIDSelection","result","getCursorSelection","cursor","index","filter","Boolean","selection","column","getFindUniqueForField","fieldName","some","loadSelection","context","query","selectionToQuery","entry","staged","selectionCompatible","state","mergeSelection","promise","initLoad","Promise","resolve","then","delete","delegate","getDelegateFromModel","getClient","findUniqueOrThrow","where","rejectOnNotFound","add","constructor","Set"],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
17
17
|
relation(name, ...allArgs) {
|
|
18
18
|
const [{ description , ...options } = {}] = allArgs;
|
|
19
19
|
const relationField = (0, _datamodel.getRelation)(this.model, this.builder, name);
|
|
20
|
-
var
|
|
21
|
-
const ref = (
|
|
20
|
+
var _options_type;
|
|
21
|
+
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _datamodel.getRefFromModel)(relationField.type, this.builder);
|
|
22
22
|
const { query ={} , resolve , extensions , ...rest } = options;
|
|
23
23
|
const relationSelect = (args, context, nestedQuery)=>({
|
|
24
24
|
select: {
|
|
@@ -69,8 +69,8 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
69
69
|
nullable: false,
|
|
70
70
|
select: countSelect,
|
|
71
71
|
resolve: (parent, args, context, info)=>{
|
|
72
|
-
var
|
|
73
|
-
return (
|
|
72
|
+
var _parent__count;
|
|
73
|
+
return (_parent__count = parent._count) === null || _parent__count === void 0 ? void 0 : _parent__count[name];
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
}
|
|
@@ -99,10 +99,10 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
expose(...args) {
|
|
102
|
-
var
|
|
102
|
+
var _typeConfig_extensions;
|
|
103
103
|
const [name, options = {}] = args;
|
|
104
104
|
const typeConfig = this.builder.configStore.getTypeConfig(this.typename, 'Object');
|
|
105
|
-
const usingSelect = !!((
|
|
105
|
+
const usingSelect = !!((_typeConfig_extensions = typeConfig.extensions) === null || _typeConfig_extensions === void 0 ? void 0 : _typeConfig_extensions.pothosPrismaSelect);
|
|
106
106
|
return this.exposeField(name, {
|
|
107
107
|
...options,
|
|
108
108
|
extensions: {
|
|
@@ -149,8 +149,8 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
149
149
|
this.withAuth = withAuth;
|
|
150
150
|
this.relatedConnection = function relatedConnection(name, { maxSize , defaultSize , cursor , query , resolve , extensions , totalCount , description , ...options }, connectionOptions = {}, edgeOptions = {}) {
|
|
151
151
|
const relationField = (0, _datamodel.getRelation)(this.model, this.builder, name);
|
|
152
|
-
var
|
|
153
|
-
const ref = (
|
|
152
|
+
var _options_type;
|
|
153
|
+
const ref = (_options_type = options.type) !== null && _options_type !== void 0 ? _options_type : (0, _datamodel.getRefFromModel)(relationField.type, this.builder);
|
|
154
154
|
let typeName;
|
|
155
155
|
const formatCursor = (0, _cursors.getCursorFormatter)(relationField.type, this.builder, cursor);
|
|
156
156
|
const parseCursor = (0, _cursors.getCursorParser)(relationField.type, this.builder, cursor);
|
|
@@ -221,20 +221,20 @@ class PrismaObjectFieldBuilder extends RootBuilder {
|
|
|
221
221
|
},
|
|
222
222
|
type: ref,
|
|
223
223
|
resolve: (parent, args, context)=>{
|
|
224
|
-
var
|
|
224
|
+
var _parent__count;
|
|
225
225
|
const connectionQuery = getQuery(args, context);
|
|
226
|
-
return (0, _cursors.wrapConnectionResult)(parent[name], args, connectionQuery.take, formatCursor, (
|
|
226
|
+
return (0, _cursors.wrapConnectionResult)(parent[name], args, connectionQuery.take, formatCursor, (_parent__count = parent._count) === null || _parent__count === void 0 ? void 0 : _parent__count[name]);
|
|
227
227
|
}
|
|
228
228
|
}, connectionOptions instanceof _core.ObjectRef ? connectionOptions : {
|
|
229
229
|
...connectionOptions,
|
|
230
230
|
fields: totalCount ? (t)=>{
|
|
231
|
-
var
|
|
231
|
+
var _connectionOptions_fields;
|
|
232
232
|
return {
|
|
233
233
|
totalCount: t.int({
|
|
234
234
|
nullable: false,
|
|
235
235
|
resolve: (parent, args, context)=>parent.totalCount
|
|
236
236
|
}),
|
|
237
|
-
...(
|
|
237
|
+
...(_connectionOptions_fields = connectionOptions.fields) === null || _connectionOptions_fields === void 0 ? void 0 : _connectionOptions_fields.call(connectionOptions, t)
|
|
238
238
|
};
|
|
239
239
|
} : connectionOptions.fields
|
|
240
240
|
}, edgeOptions);
|