@zenstackhq/runtime 2.12.3 → 2.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/enhancements/edge/delegate.js +6 -5
- package/enhancements/edge/delegate.js.map +1 -1
- package/enhancements/edge/policy/handler.js +18 -13
- package/enhancements/edge/policy/handler.js.map +1 -1
- package/enhancements/edge/policy/policy-utils.d.ts +0 -1
- package/enhancements/edge/policy/policy-utils.js +0 -2
- package/enhancements/edge/policy/policy-utils.js.map +1 -1
- package/enhancements/edge/query-utils.d.ts +3 -1
- package/enhancements/edge/query-utils.js +87 -60
- package/enhancements/edge/query-utils.js.map +1 -1
- package/enhancements/node/delegate.js +6 -5
- package/enhancements/node/delegate.js.map +1 -1
- package/enhancements/node/policy/handler.js +18 -13
- package/enhancements/node/policy/handler.js.map +1 -1
- package/enhancements/node/policy/policy-utils.d.ts +0 -1
- package/enhancements/node/policy/policy-utils.js +0 -2
- package/enhancements/node/policy/policy-utils.js.map +1 -1
- package/enhancements/node/query-utils.d.ts +3 -1
- package/enhancements/node/query-utils.js +87 -60
- package/enhancements/node/query-utils.js.map +1 -1
- package/model-meta.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.QueryUtils = void 0;
|
|
4
13
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
14
|
const cross_1 = require("../../cross");
|
|
6
15
|
const version_1 = require("../../version");
|
|
16
|
+
const edge_1 = require("../edge");
|
|
17
|
+
const logger_1 = require("./logger");
|
|
7
18
|
const utils_1 = require("./utils");
|
|
8
19
|
class QueryUtils {
|
|
9
20
|
constructor(prisma, options) {
|
|
10
21
|
this.prisma = prisma;
|
|
11
22
|
this.options = options;
|
|
23
|
+
this.logger = new logger_1.Logger(prisma);
|
|
12
24
|
}
|
|
13
25
|
getIdFields(model) {
|
|
14
26
|
return (0, cross_1.getIdFields)(this.options.modelMeta, model, true);
|
|
@@ -48,74 +60,89 @@ class QueryUtils {
|
|
|
48
60
|
/**
|
|
49
61
|
* Builds a reversed query for the given nested path.
|
|
50
62
|
*/
|
|
51
|
-
buildReversedQuery(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
if (!result) {
|
|
63
|
-
// first segment (bottom), just use its where clause
|
|
64
|
-
result = currQuery = Object.assign({}, visitWhere);
|
|
65
|
-
currField = field;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
if (!currField) {
|
|
69
|
-
throw this.unknownError(`missing field in nested path`);
|
|
70
|
-
}
|
|
71
|
-
if (!currField.backLink) {
|
|
72
|
-
throw this.unknownError(`field ${currField.type}.${currField.name} doesn't have a backLink`);
|
|
73
|
-
}
|
|
74
|
-
const backLinkField = this.getModelField(currField.type, currField.backLink);
|
|
75
|
-
if (!backLinkField) {
|
|
76
|
-
throw this.unknownError(`missing backLink field ${currField.backLink} in ${currField.type}`);
|
|
63
|
+
buildReversedQuery(db_1, context_1) {
|
|
64
|
+
return __awaiter(this, arguments, void 0, function* (db, context, forMutationPayload = false, uncheckedOperation = false) {
|
|
65
|
+
let result, currQuery;
|
|
66
|
+
let currField;
|
|
67
|
+
for (let i = context.nestingPath.length - 1; i >= 0; i--) {
|
|
68
|
+
const { field, model, where } = context.nestingPath[i];
|
|
69
|
+
// never modify the original where because it's shared in the structure
|
|
70
|
+
const visitWhere = Object.assign({}, where);
|
|
71
|
+
if (model && where) {
|
|
72
|
+
// make sure composite unique condition is flattened
|
|
73
|
+
this.flattenGeneratedUniqueField(model, visitWhere);
|
|
77
74
|
}
|
|
78
|
-
if (
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
75
|
+
if (!result) {
|
|
76
|
+
// first segment (bottom), just use its where clause
|
|
77
|
+
result = currQuery = Object.assign({}, visitWhere);
|
|
78
|
+
currField = field;
|
|
82
79
|
}
|
|
83
80
|
else {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
const shouldPreserveRelationCondition =
|
|
87
|
-
// doing a mutation
|
|
88
|
-
forMutationPayload &&
|
|
89
|
-
// and it's a safe mutate
|
|
90
|
-
!unsafeOperation &&
|
|
91
|
-
// and the current segment is the direct parent (the last one is the mutate itself),
|
|
92
|
-
// the relation condition should be preserved and will be converted to a "connect" later
|
|
93
|
-
i === context.nestingPath.length - 2;
|
|
94
|
-
if (fkMapping && !shouldPreserveRelationCondition) {
|
|
95
|
-
// turn relation condition into foreign key condition, e.g.:
|
|
96
|
-
// { user: { id: 1 } } => { userId: 1 }
|
|
97
|
-
for (const [r, fk] of Object.entries(fkMapping)) {
|
|
98
|
-
currQuery[fk] = visitWhere[r];
|
|
99
|
-
}
|
|
100
|
-
if (i > 0) {
|
|
101
|
-
// prepare for the next segment
|
|
102
|
-
currQuery[currField.backLink] = {};
|
|
103
|
-
}
|
|
81
|
+
if (!currField) {
|
|
82
|
+
throw this.unknownError(`missing field in nested path`);
|
|
104
83
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
84
|
+
if (!currField.backLink) {
|
|
85
|
+
throw this.unknownError(`field ${currField.type}.${currField.name} doesn't have a backLink`);
|
|
86
|
+
}
|
|
87
|
+
const backLinkField = this.getModelField(currField.type, currField.backLink);
|
|
88
|
+
if (!backLinkField) {
|
|
89
|
+
throw this.unknownError(`missing backLink field ${currField.backLink} in ${currField.type}`);
|
|
108
90
|
}
|
|
109
|
-
if (
|
|
110
|
-
//
|
|
111
|
-
currQuery[currField.backLink] =
|
|
91
|
+
if (backLinkField.isArray && !forMutationPayload) {
|
|
92
|
+
// many-side of relationship, wrap with "some" query
|
|
93
|
+
currQuery[currField.backLink] = { some: Object.assign({}, visitWhere) };
|
|
94
|
+
currQuery = currQuery[currField.backLink].some;
|
|
112
95
|
}
|
|
113
|
-
|
|
96
|
+
else {
|
|
97
|
+
const fkMapping = where && backLinkField.isRelationOwner && backLinkField.foreignKeyMapping;
|
|
98
|
+
// calculate if we should preserve the relation condition (e.g., { user: { id: 1 } })
|
|
99
|
+
const shouldPreserveRelationCondition =
|
|
100
|
+
// doing a mutation
|
|
101
|
+
forMutationPayload &&
|
|
102
|
+
// and it's not an unchecked mutate
|
|
103
|
+
!uncheckedOperation &&
|
|
104
|
+
// and the current segment is the direct parent (the last one is the mutate itself),
|
|
105
|
+
// the relation condition should be preserved and will be converted to a "connect" later
|
|
106
|
+
i === context.nestingPath.length - 2;
|
|
107
|
+
if (fkMapping && !shouldPreserveRelationCondition) {
|
|
108
|
+
// turn relation condition into foreign key condition, e.g.:
|
|
109
|
+
// { user: { id: 1 } } => { userId: 1 }
|
|
110
|
+
let parentPk = visitWhere;
|
|
111
|
+
if (Object.keys(fkMapping).some((k) => !(k in parentPk) || parentPk[k] === undefined)) {
|
|
112
|
+
// it can happen that the parent condition actually doesn't contain all id fields
|
|
113
|
+
// (when the parent condition is not a primary key but unique constraints)
|
|
114
|
+
// and in such case we need to load it to get the pks
|
|
115
|
+
if (this.options.logPrismaQuery && this.logger.enabled('info')) {
|
|
116
|
+
this.logger.info(`[reverseLookup] \`findUniqueOrThrow\` ${model}: ${(0, edge_1.formatObject)(where)}`);
|
|
117
|
+
}
|
|
118
|
+
parentPk = yield db[model].findUniqueOrThrow({
|
|
119
|
+
where,
|
|
120
|
+
select: this.makeIdSelection(model),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
for (const [r, fk] of Object.entries(fkMapping)) {
|
|
124
|
+
currQuery[fk] = parentPk[r];
|
|
125
|
+
}
|
|
126
|
+
if (i > 0) {
|
|
127
|
+
// prepare for the next segment
|
|
128
|
+
currQuery[currField.backLink] = {};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
// preserve the original structure
|
|
133
|
+
currQuery[currField.backLink] = Object.assign({}, visitWhere);
|
|
134
|
+
}
|
|
135
|
+
if (forMutationPayload && currQuery[currField.backLink]) {
|
|
136
|
+
// reconstruct compound unique field
|
|
137
|
+
currQuery[currField.backLink] = this.composeCompoundUniqueField(backLinkField.type, currQuery[currField.backLink]);
|
|
138
|
+
}
|
|
139
|
+
currQuery = currQuery[currField.backLink];
|
|
140
|
+
}
|
|
141
|
+
currField = field;
|
|
114
142
|
}
|
|
115
|
-
currField = field;
|
|
116
143
|
}
|
|
117
|
-
|
|
118
|
-
|
|
144
|
+
return result;
|
|
145
|
+
});
|
|
119
146
|
}
|
|
120
147
|
/**
|
|
121
148
|
* Composes a compound unique field from multiple fields. E.g.: { a: '1', b: '1' } => { a_b: { a: '1', b: '1' } }.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../../src/enhancements/edge/query-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-utils.js","sourceRoot":"","sources":["../../../src/enhancements/edge/query-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAuD;AACvD,uCAQqB;AAErB,2CAA2C;AAC3C,kCAAuC;AAEvC,qCAAkC;AAClC,mCAAuF;AAEvF,MAAa,UAAU;IAGnB,YAA6B,MAAwB,EAAqB,OAAmC;QAAhF,WAAM,GAAN,MAAM,CAAkB;QAAqB,YAAO,GAAP,OAAO,CAA4B;QACzG,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,OAAO,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,eAAe,CAAC,KAAa;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,YAAY,CAAC,KAAa,EAAE,UAAe;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,WAAW,CAAI,EAAgB,EAAE,MAAwC;QACrE,MAAM,MAAM,GAAG,EAAsB,CAAC;QACtC,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,YAAY,CACtB,CAAC,EAAE,EAAE,EAAE;gBACF,EAAU,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,GAAG,iBAAiB,CAAC;gBAC1E,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC,EACD;gBACI,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;gBACxC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,yBAAyB;aACzD,CACJ,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,qCAAqC;YACrC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;OAEG;IACG,kBAAkB;6DACpB,EAAgB,EAChB,OAAkC,EAClC,kBAAkB,GAAG,KAAK,EAC1B,kBAAkB,GAAG,KAAK;YAE1B,IAAI,MAAM,EAAE,SAAc,CAAC;YAC3B,IAAI,SAAgC,CAAC;YAErC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAEvD,uEAAuE;gBACvE,MAAM,UAAU,qBAAQ,KAAK,CAAE,CAAC;gBAChC,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;oBACjB,oDAAoD;oBACpD,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACxD,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACV,oDAAoD;oBACpD,MAAM,GAAG,SAAS,qBAAQ,UAAU,CAAE,CAAC;oBACvC,SAAS,GAAG,KAAK,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,MAAM,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC;oBAC5D,CAAC;oBACD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;wBACtB,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,0BAA0B,CAAC,CAAC;oBACjG,CAAC;oBAED,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC7E,IAAI,CAAC,aAAa,EAAE,CAAC;wBACjB,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,SAAS,CAAC,QAAQ,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;oBACjG,CAAC;oBAED,IAAI,aAAa,CAAC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;wBAC/C,oDAAoD;wBACpD,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,oBAAO,UAAU,CAAE,EAAE,CAAC;wBAC5D,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;oBACnD,CAAC;yBAAM,CAAC;wBACJ,MAAM,SAAS,GAAG,KAAK,IAAI,aAAa,CAAC,eAAe,IAAI,aAAa,CAAC,iBAAiB,CAAC;wBAE5F,qFAAqF;wBACrF,MAAM,+BAA+B;wBACjC,mBAAmB;wBACnB,kBAAkB;4BAClB,mCAAmC;4BACnC,CAAC,kBAAkB;4BACnB,oFAAoF;4BACpF,wFAAwF;4BACxF,CAAC,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;wBAEzC,IAAI,SAAS,IAAI,CAAC,+BAA+B,EAAE,CAAC;4BAChD,4DAA4D;4BAC5D,2CAA2C;4BAE3C,IAAI,QAAQ,GAAG,UAAU,CAAC;4BAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;gCACpF,iFAAiF;gCACjF,0EAA0E;gCAC1E,qDAAqD;gCAErD,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oCAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,yCAAyC,KAAK,KAAK,IAAA,mBAAY,EAAC,KAAK,CAAC,EAAE,CAC3E,CAAC;gCACN,CAAC;gCACD,QAAQ,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;oCACzC,KAAK;oCACL,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;iCACtC,CAAC,CAAC;4BACP,CAAC;4BAED,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAS,SAAS,CAAC,EAAE,CAAC;gCACtD,SAAS,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;4BAChC,CAAC;4BAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCACR,+BAA+B;gCAC/B,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;4BACvC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,kCAAkC;4BAClC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,qBAAQ,UAAU,CAAE,CAAC;wBACtD,CAAC;wBAED,IAAI,kBAAkB,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACtD,oCAAoC;4BACpC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,0BAA0B,CAC3D,aAAa,CAAC,IAAI,EAClB,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAChC,CAAC;wBACN,CAAC;wBAED,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBAC9C,CAAC;oBACD,SAAS,GAAG,KAAK,CAAC;gBACtB,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAED;;OAEG;IACH,0BAA0B,CAAC,KAAa,EAAE,SAAc;QACpD,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAQ,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjE,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC7F,4CAA4C;gBAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CACnC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,IAAG,EACzD,EAAE,CACL,CAAC;gBACF,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,KAAa,EAAE,IAAS;QAChD,MAAM,iBAAiB,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAM,IAAI,CAAC,EAAE,CAAC;gBACrD,IACI,iBAAiB,CAAC,KAAK,CAAC;oBACxB,iBAAiB,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;oBAC1C,OAAO,KAAK,KAAK,QAAQ,EAC3B,CAAC;oBACC,4CAA4C;oBAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,IAAI,KAAK,EAAE,CAAC;wBACR,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACzC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;wBAChB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,eAAe,CAAC,OAAe;QAC3B,OAAO,IAAA,mCAA2B,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACxF,CAAC;IAED,YAAY,CAAC,OAAe;QACxB,OAAO,IAAA,uCAA+B,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE;YACpF,aAAa,EAAE,IAAA,oBAAU,GAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,KAAa;;QACxB,OAAO,MAAA,IAAA,oBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,0CAAE,MAAM,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,KAAa,EAAE,KAAa;QACtC,OAAO,IAAA,oBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,KAAc;QACpB,OAAO,KAAK,CAAC,CAAC,CAAC,IAAA,aAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,CAAC;IAED,wBAAwB,CAAC,KAAa,EAAE,IAAS;QAC7C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,EAAE,CAAC;YAC3B,6DAA6D;YAC7D,kCAAkC;YAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACxD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,EAAE,CAAC;gBAC7D,OAAO,iBAAiB,CAAC;YAC7B,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,wBAAwB,CAAC,KAAa,EAAE,OAAe;QACnD,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;gBACrF,IAAI,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,0BAA0B,CAAC,IAAY;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;CACJ;AAvRD,gCAuRC"}
|
|
@@ -712,6 +712,7 @@ class DelegateProxyHandler extends proxy_1.DefaultPrismaProxyHandler {
|
|
|
712
712
|
}
|
|
713
713
|
doUpdateMany(db, model, args, simpleUpdateMany) {
|
|
714
714
|
return __awaiter(this, void 0, void 0, function* () {
|
|
715
|
+
var _a;
|
|
715
716
|
if (simpleUpdateMany) {
|
|
716
717
|
// do a direct `updateMany`
|
|
717
718
|
args = (0, cross_1.clone)(args);
|
|
@@ -724,7 +725,7 @@ class DelegateProxyHandler extends proxy_1.DefaultPrismaProxyHandler {
|
|
|
724
725
|
else {
|
|
725
726
|
// translate to plain `update` for nested write into base fields
|
|
726
727
|
const findArgs = {
|
|
727
|
-
where: (0, cross_1.clone)(args.where),
|
|
728
|
+
where: (0, cross_1.clone)((_a = args.where) !== null && _a !== void 0 ? _a : {}),
|
|
728
729
|
select: this.queryUtils.makeIdSelection(model),
|
|
729
730
|
};
|
|
730
731
|
yield this.injectUpdateHierarchy(db, model, findArgs);
|
|
@@ -770,7 +771,7 @@ class DelegateProxyHandler extends proxy_1.DefaultPrismaProxyHandler {
|
|
|
770
771
|
this.doProcessUpdatePayload(model, args === null || args === void 0 ? void 0 : args.data);
|
|
771
772
|
}
|
|
772
773
|
else {
|
|
773
|
-
const where = this.queryUtils.buildReversedQuery(context, false, false);
|
|
774
|
+
const where = yield this.queryUtils.buildReversedQuery(db, context, false, false);
|
|
774
775
|
yield this.queryUtils.transaction(db, (tx) => __awaiter(this, void 0, void 0, function* () {
|
|
775
776
|
yield this.doUpdateMany(tx, model, Object.assign(Object.assign({}, args), { where }), simpleUpdateMany);
|
|
776
777
|
}));
|
|
@@ -816,14 +817,14 @@ class DelegateProxyHandler extends proxy_1.DefaultPrismaProxyHandler {
|
|
|
816
817
|
this.injectWhereHierarchy(model, args);
|
|
817
818
|
},
|
|
818
819
|
delete: (model, _args, context) => __awaiter(this, void 0, void 0, function* () {
|
|
819
|
-
const where = this.queryUtils.buildReversedQuery(context, false, false);
|
|
820
|
+
const where = yield this.queryUtils.buildReversedQuery(db, context, false, false);
|
|
820
821
|
yield this.queryUtils.transaction(db, (tx) => __awaiter(this, void 0, void 0, function* () {
|
|
821
822
|
yield this.doDelete(tx, model, { where });
|
|
822
823
|
}));
|
|
823
824
|
delete context.parent['delete'];
|
|
824
825
|
}),
|
|
825
826
|
deleteMany: (model, _args, context) => __awaiter(this, void 0, void 0, function* () {
|
|
826
|
-
const where = this.queryUtils.buildReversedQuery(context, false, false);
|
|
827
|
+
const where = yield this.queryUtils.buildReversedQuery(db, context, false, false);
|
|
827
828
|
yield this.queryUtils.transaction(db, (tx) => __awaiter(this, void 0, void 0, function* () {
|
|
828
829
|
yield this.doDeleteMany(tx, model, where);
|
|
829
830
|
}));
|
|
@@ -877,7 +878,7 @@ class DelegateProxyHandler extends proxy_1.DefaultPrismaProxyHandler {
|
|
|
877
878
|
return __awaiter(this, void 0, void 0, function* () {
|
|
878
879
|
// query existing entities with id
|
|
879
880
|
const idSelection = this.queryUtils.makeIdSelection(model);
|
|
880
|
-
const findArgs = { where: (0, cross_1.clone)(where), select: idSelection };
|
|
881
|
+
const findArgs = { where: (0, cross_1.clone)(where !== null && where !== void 0 ? where : {}), select: idSelection };
|
|
881
882
|
this.injectWhereHierarchy(model, findArgs.where);
|
|
882
883
|
if (this.options.logPrismaQuery) {
|
|
883
884
|
this.logger.info(`[delegate] \`deleteMany\` find candidates: ${this.getModelName(model)}: ${(0, utils_1.formatObject)(findArgs)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/enhancements/node/delegate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delegate.js","sourceRoot":"","sources":["../../../src/enhancements/node/delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -635,7 +635,7 @@ class PolicyProxyHandler {
|
|
|
635
635
|
// - unsafe: { data: { userId: 1 } }
|
|
636
636
|
const unsafe = (0, utils_1.isUnsafeMutate)(model, args, this.modelMeta);
|
|
637
637
|
// handles the connection to upstream entity
|
|
638
|
-
const reversedQuery = this.policyUtils.buildReversedQuery(context, true, unsafe);
|
|
638
|
+
const reversedQuery = yield this.policyUtils.buildReversedQuery(db, context, true, unsafe);
|
|
639
639
|
if ((!unsafe || context.field.isRelationOwner) && reversedQuery[context.field.backLink]) {
|
|
640
640
|
// if mutation is safe, or current field owns the relation (so the other side has no fk),
|
|
641
641
|
// and the reverse query contains the back link, then we can build a "connect" with it
|
|
@@ -690,7 +690,7 @@ class PolicyProxyHandler {
|
|
|
690
690
|
if (args.skipDuplicates) {
|
|
691
691
|
// get a reversed query to include fields inherited from upstream mutation,
|
|
692
692
|
// it'll be merged with the create payload for unique constraint checking
|
|
693
|
-
const upstreamQuery = this.policyUtils.buildReversedQuery(context);
|
|
693
|
+
const upstreamQuery = yield this.policyUtils.buildReversedQuery(db, context);
|
|
694
694
|
if (yield this.hasDuplicatedUniqueConstraint(model, item, upstreamQuery, db)) {
|
|
695
695
|
if (this.shouldLogQuery) {
|
|
696
696
|
this.logger.info(`[policy] \`createMany\` skipping duplicate ${(0, utils_1.formatObject)(item)}`);
|
|
@@ -710,7 +710,7 @@ class PolicyProxyHandler {
|
|
|
710
710
|
if (operation === 'disconnect') {
|
|
711
711
|
// disconnect filter is not unique, need to build a reversed query to
|
|
712
712
|
// locate the entity and use its id fields as unique filter
|
|
713
|
-
const reversedQuery = this.policyUtils.buildReversedQuery(context);
|
|
713
|
+
const reversedQuery = yield this.policyUtils.buildReversedQuery(db, context);
|
|
714
714
|
const found = yield db[model].findUnique({
|
|
715
715
|
where: reversedQuery,
|
|
716
716
|
select: this.policyUtils.makeIdSelection(model),
|
|
@@ -734,7 +734,7 @@ class PolicyProxyHandler {
|
|
|
734
734
|
update: (model, args, context) => __awaiter(this, void 0, void 0, function* () {
|
|
735
735
|
var _a;
|
|
736
736
|
// build a unique query including upstream conditions
|
|
737
|
-
const uniqueFilter = this.policyUtils.buildReversedQuery(context);
|
|
737
|
+
const uniqueFilter = yield this.policyUtils.buildReversedQuery(db, context);
|
|
738
738
|
// handle not-found
|
|
739
739
|
const existing = yield this.policyUtils.checkExistence(db, model, uniqueFilter, true);
|
|
740
740
|
// check if the update actually writes to this model
|
|
@@ -781,7 +781,7 @@ class PolicyProxyHandler {
|
|
|
781
781
|
if (preValueSelect) {
|
|
782
782
|
select = Object.assign(Object.assign({}, select), preValueSelect);
|
|
783
783
|
}
|
|
784
|
-
const reversedQuery = this.policyUtils.buildReversedQuery(context);
|
|
784
|
+
const reversedQuery = yield this.policyUtils.buildReversedQuery(db, context);
|
|
785
785
|
const currentSetQuery = { select, where: reversedQuery };
|
|
786
786
|
this.policyUtils.injectAuthGuardAsWhere(db, currentSetQuery, model, 'read');
|
|
787
787
|
if (this.shouldLogQuery) {
|
|
@@ -804,7 +804,7 @@ class PolicyProxyHandler {
|
|
|
804
804
|
else {
|
|
805
805
|
// we have to process `updateMany` separately because the guard may contain
|
|
806
806
|
// filters using relation fields which are not allowed in nested `updateMany`
|
|
807
|
-
const reversedQuery = this.policyUtils.buildReversedQuery(context);
|
|
807
|
+
const reversedQuery = yield this.policyUtils.buildReversedQuery(db, context);
|
|
808
808
|
const updateWhere = this.policyUtils.and(reversedQuery, updateGuard);
|
|
809
809
|
if (this.shouldLogQuery) {
|
|
810
810
|
this.logger.info(`[policy] \`updateMany\` ${model}:\n${(0, utils_1.formatObject)({
|
|
@@ -833,8 +833,9 @@ class PolicyProxyHandler {
|
|
|
833
833
|
return false;
|
|
834
834
|
}),
|
|
835
835
|
upsert: (model, args, context) => __awaiter(this, void 0, void 0, function* () {
|
|
836
|
+
var _a;
|
|
836
837
|
// build a unique query including upstream conditions
|
|
837
|
-
const uniqueFilter = this.policyUtils.buildReversedQuery(context);
|
|
838
|
+
const uniqueFilter = yield this.policyUtils.buildReversedQuery(db, context);
|
|
838
839
|
// branch based on if the update target exists
|
|
839
840
|
const existing = yield this.policyUtils.checkExistence(db, model, uniqueFilter);
|
|
840
841
|
if (existing) {
|
|
@@ -847,7 +848,7 @@ class PolicyProxyHandler {
|
|
|
847
848
|
yield _registerPostUpdateCheck(model, existing, postUpdateIds);
|
|
848
849
|
// convert upsert to update
|
|
849
850
|
const convertedUpdate = {
|
|
850
|
-
where: args.where,
|
|
851
|
+
where: (_a = args.where) !== null && _a !== void 0 ? _a : {},
|
|
851
852
|
data: this.validateUpdateInputSchema(model, args.update),
|
|
852
853
|
};
|
|
853
854
|
this.mergeToParent(context.parent, 'update', convertedUpdate);
|
|
@@ -891,7 +892,7 @@ class PolicyProxyHandler {
|
|
|
891
892
|
disconnect: (model, args, context) => __awaiter(this, void 0, void 0, function* () { return _connectDisconnect(model, args, context, 'disconnect'); }),
|
|
892
893
|
set: (model, args, context) => __awaiter(this, void 0, void 0, function* () {
|
|
893
894
|
// find the set of items to be replaced
|
|
894
|
-
const reversedQuery = this.policyUtils.buildReversedQuery(context);
|
|
895
|
+
const reversedQuery = yield this.policyUtils.buildReversedQuery(db, context);
|
|
895
896
|
const findCurrSetArgs = {
|
|
896
897
|
select: this.policyUtils.makeIdSelection(model),
|
|
897
898
|
where: reversedQuery,
|
|
@@ -907,7 +908,7 @@ class PolicyProxyHandler {
|
|
|
907
908
|
}),
|
|
908
909
|
delete: (model, args, context) => __awaiter(this, void 0, void 0, function* () {
|
|
909
910
|
// build a unique query including upstream conditions
|
|
910
|
-
const uniqueFilter = this.policyUtils.buildReversedQuery(context);
|
|
911
|
+
const uniqueFilter = yield this.policyUtils.buildReversedQuery(db, context);
|
|
911
912
|
// handle not-found
|
|
912
913
|
yield this.policyUtils.checkExistence(db, model, uniqueFilter, true);
|
|
913
914
|
// check delete guard
|
|
@@ -922,7 +923,7 @@ class PolicyProxyHandler {
|
|
|
922
923
|
else {
|
|
923
924
|
// we have to process `deleteMany` separately because the guard may contain
|
|
924
925
|
// filters using relation fields which are not allowed in nested `deleteMany`
|
|
925
|
-
const reversedQuery = this.policyUtils.buildReversedQuery(context);
|
|
926
|
+
const reversedQuery = yield this.policyUtils.buildReversedQuery(db, context);
|
|
926
927
|
const deleteWhere = this.policyUtils.and(reversedQuery, guard);
|
|
927
928
|
if (this.shouldLogQuery) {
|
|
928
929
|
this.logger.info(`[policy] \`deleteMany\` ${model}:\n${(0, utils_1.formatObject)({ where: deleteWhere })}`);
|
|
@@ -1211,6 +1212,7 @@ class PolicyProxyHandler {
|
|
|
1211
1212
|
if (entityChecker) {
|
|
1212
1213
|
// additional checker exists, need to run deletion inside a transaction
|
|
1213
1214
|
return this.queryUtils.transaction(this.prisma, (tx) => __awaiter(this, void 0, void 0, function* () {
|
|
1215
|
+
var _a, _b;
|
|
1214
1216
|
// find the delete candidates, selecting id fields and fields needed for
|
|
1215
1217
|
// running the additional checker
|
|
1216
1218
|
let candidateSelect = this.policyUtils.makeIdSelection(this.model);
|
|
@@ -1219,11 +1221,14 @@ class PolicyProxyHandler {
|
|
|
1219
1221
|
}
|
|
1220
1222
|
if (this.shouldLogQuery) {
|
|
1221
1223
|
this.logger.info(`[policy] \`findMany\` ${this.model}: ${(0, utils_1.formatObject)({
|
|
1222
|
-
where: args.where,
|
|
1224
|
+
where: (_a = args.where) !== null && _a !== void 0 ? _a : {},
|
|
1223
1225
|
select: candidateSelect,
|
|
1224
1226
|
})}`);
|
|
1225
1227
|
}
|
|
1226
|
-
const candidates = yield tx[this.model].findMany({
|
|
1228
|
+
const candidates = yield tx[this.model].findMany({
|
|
1229
|
+
where: (_b = args.where) !== null && _b !== void 0 ? _b : {},
|
|
1230
|
+
select: candidateSelect,
|
|
1231
|
+
});
|
|
1227
1232
|
// build a ID filter based on id values filtered by the additional checker
|
|
1228
1233
|
const { idFilter } = this.buildIdFilterWithEntityChecker(candidates, entityChecker.func);
|
|
1229
1234
|
// merge the ID filter into the where clause
|