@zenstackhq/runtime 1.0.0-beta.2 → 1.0.0-beta.21
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/browser/index.d.mts +13 -0
- package/browser/index.d.ts +13 -0
- package/browser/index.js +70 -0
- package/browser/index.js.map +1 -0
- package/browser/index.mjs +32 -0
- package/browser/index.mjs.map +1 -0
- package/constants.d.ts +58 -13
- package/constants.js +60 -14
- package/constants.js.map +1 -1
- package/enhancements/enhance.d.ts +18 -0
- package/enhancements/enhance.js +42 -0
- package/enhancements/enhance.js.map +1 -0
- package/enhancements/index.d.ts +5 -0
- package/enhancements/index.js +5 -0
- package/enhancements/index.js.map +1 -1
- package/enhancements/model-data-visitor.d.ts +16 -0
- package/enhancements/model-data-visitor.js +41 -0
- package/enhancements/model-data-visitor.js.map +1 -0
- package/enhancements/model-meta.d.ts +6 -1
- package/enhancements/model-meta.js +23 -2
- package/enhancements/model-meta.js.map +1 -1
- package/enhancements/nested-write-vistor.d.ts +21 -16
- package/enhancements/nested-write-vistor.js +73 -34
- package/enhancements/nested-write-vistor.js.map +1 -1
- package/enhancements/omit.d.ts +1 -1
- package/enhancements/policy/handler.d.ts +36 -20
- package/enhancements/policy/handler.js +824 -159
- package/enhancements/policy/handler.js.map +1 -1
- package/enhancements/policy/index.d.ts +6 -2
- package/enhancements/policy/index.js +53 -3
- package/enhancements/policy/index.js.map +1 -1
- package/enhancements/policy/logger.js +1 -1
- package/enhancements/policy/logger.js.map +1 -1
- package/enhancements/policy/policy-utils.d.ts +106 -46
- package/enhancements/policy/policy-utils.js +744 -624
- package/enhancements/policy/policy-utils.js.map +1 -1
- package/enhancements/policy/promise.d.ts +5 -0
- package/enhancements/policy/promise.js +42 -0
- package/enhancements/policy/promise.js.map +1 -0
- package/enhancements/preset.d.ts +3 -8
- package/enhancements/preset.js +2 -4
- package/enhancements/preset.js.map +1 -1
- package/enhancements/proxy.d.ts +3 -1
- package/enhancements/proxy.js +45 -28
- package/enhancements/proxy.js.map +1 -1
- package/enhancements/types.d.ts +25 -8
- package/enhancements/types.js +1 -0
- package/enhancements/types.js.map +1 -1
- package/enhancements/utils.d.ts +4 -0
- package/enhancements/utils.js +60 -10
- package/enhancements/utils.js.map +1 -1
- package/enhancements/where-visitor.d.ts +33 -0
- package/enhancements/where-visitor.js +87 -0
- package/enhancements/where-visitor.js.map +1 -0
- package/error.js +9 -3
- package/error.js.map +1 -1
- package/index.d.ts +3 -2
- package/index.js +3 -2
- package/index.js.map +1 -1
- package/package.json +33 -9
- package/types.d.ts +24 -14
- package/types.js +2 -0
- package/types.js.map +1 -1
- package/validation.d.ts +5 -0
- package/validation.js +13 -1
- package/validation.js.map +1 -1
- package/version.d.ts +5 -0
- package/version.js +34 -1
- package/version.js.map +1 -1
- package/zod/index.d.ts +3 -0
- package/zod/index.js +5 -0
- package/zod/input.d.ts +1 -0
- package/zod/input.js +8 -0
- package/zod/models.d.ts +1 -0
- package/zod/models.js +8 -0
- package/zod/objects.d.ts +1 -0
- package/zod/objects.js +8 -0
- package/serialization-utils.d.ts +0 -1
- package/serialization-utils.js +0 -22
- package/serialization-utils.js.map +0 -1
- package/zod.d.ts +0 -10
- package/zod.js +0 -17
- package/zod.js.map +0 -1
|
@@ -16,7 +16,7 @@ const types_1 = require("../types");
|
|
|
16
16
|
const model_meta_1 = require("./model-meta");
|
|
17
17
|
const utils_1 = require("./utils");
|
|
18
18
|
/**
|
|
19
|
-
* Recursive visitor for nested write (create/update) payload
|
|
19
|
+
* Recursive visitor for nested write (create/update) payload.
|
|
20
20
|
*/
|
|
21
21
|
class NestedWriteVisitor {
|
|
22
22
|
constructor(modelMeta, callback) {
|
|
@@ -37,7 +37,6 @@ class NestedWriteVisitor {
|
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
39
|
let topData = args;
|
|
40
|
-
// const topWhere = { ...topData.where };
|
|
41
40
|
switch (action) {
|
|
42
41
|
// create has its data wrapped in 'data' field
|
|
43
42
|
case 'create':
|
|
@@ -56,44 +55,53 @@ class NestedWriteVisitor {
|
|
|
56
55
|
if (!data) {
|
|
57
56
|
return;
|
|
58
57
|
}
|
|
59
|
-
const isToOneUpdate = (field === null || field === void 0 ? void 0 : field.isDataModel) && !field.isArray;
|
|
60
58
|
const context = { parent, field, nestingPath: [...nestingPath] };
|
|
59
|
+
const toplevel = field == undefined;
|
|
61
60
|
// visit payload
|
|
62
61
|
switch (action) {
|
|
63
62
|
case 'create':
|
|
64
|
-
context.nestingPath.push({ field, where: {}, unique: false });
|
|
63
|
+
context.nestingPath.push({ field, model, where: {}, unique: false });
|
|
65
64
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
65
|
+
let callbackResult;
|
|
66
66
|
if (this.callback.create) {
|
|
67
|
-
yield this.callback.create(model, item, context);
|
|
67
|
+
callbackResult = yield this.callback.create(model, item, context);
|
|
68
|
+
}
|
|
69
|
+
if (callbackResult !== false) {
|
|
70
|
+
const subPayload = typeof callbackResult === 'object' ? callbackResult : item;
|
|
71
|
+
yield this.visitSubPayload(model, action, subPayload, context.nestingPath);
|
|
68
72
|
}
|
|
69
|
-
yield this.visitSubPayload(model, action, item, context.nestingPath);
|
|
70
73
|
}
|
|
71
74
|
break;
|
|
72
75
|
case 'createMany':
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
if (data) {
|
|
77
|
+
context.nestingPath.push({ field, model, where: {}, unique: false });
|
|
78
|
+
let callbackResult;
|
|
79
|
+
if (this.callback.createMany) {
|
|
80
|
+
callbackResult = yield this.callback.createMany(model, data, context);
|
|
81
|
+
}
|
|
82
|
+
if (callbackResult !== false) {
|
|
83
|
+
const subPayload = typeof callbackResult === 'object' ? callbackResult : data.data;
|
|
84
|
+
yield this.visitSubPayload(model, action, subPayload, context.nestingPath);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
break;
|
|
84
88
|
case 'connectOrCreate':
|
|
85
|
-
context.nestingPath.push({ field, where: data.where, unique:
|
|
89
|
+
context.nestingPath.push({ field, model, where: data.where, unique: false });
|
|
86
90
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
91
|
+
let callbackResult;
|
|
87
92
|
if (this.callback.connectOrCreate) {
|
|
88
|
-
yield this.callback.connectOrCreate(model, item, context);
|
|
93
|
+
callbackResult = yield this.callback.connectOrCreate(model, item, context);
|
|
94
|
+
}
|
|
95
|
+
if (callbackResult !== false) {
|
|
96
|
+
const subPayload = typeof callbackResult === 'object' ? callbackResult : item.create;
|
|
97
|
+
yield this.visitSubPayload(model, action, subPayload, context.nestingPath);
|
|
89
98
|
}
|
|
90
|
-
yield this.visitSubPayload(model, action, item.create, context.nestingPath);
|
|
91
99
|
}
|
|
92
100
|
break;
|
|
93
101
|
case 'connect':
|
|
94
102
|
if (this.callback.connect) {
|
|
95
103
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
96
|
-
const newContext = Object.assign(Object.assign({}, context), { nestingPath: [...context.nestingPath, { field, where: item, unique: true }] });
|
|
104
|
+
const newContext = Object.assign(Object.assign({}, context), { nestingPath: [...context.nestingPath, { field, model, where: item, unique: true }] });
|
|
97
105
|
yield this.callback.connect(model, item, newContext);
|
|
98
106
|
}
|
|
99
107
|
}
|
|
@@ -106,56 +114,87 @@ class NestedWriteVisitor {
|
|
|
106
114
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
107
115
|
const newContext = Object.assign(Object.assign({}, context), { nestingPath: [
|
|
108
116
|
...context.nestingPath,
|
|
109
|
-
{ field, where: item, unique: typeof item === 'object' },
|
|
117
|
+
{ field, model, where: item, unique: typeof item === 'object' },
|
|
110
118
|
] });
|
|
111
119
|
yield this.callback.disconnect(model, item, newContext);
|
|
112
120
|
}
|
|
113
121
|
}
|
|
114
122
|
break;
|
|
123
|
+
case 'set':
|
|
124
|
+
if (this.callback.set) {
|
|
125
|
+
context.nestingPath.push({ field, model, where: {}, unique: false });
|
|
126
|
+
yield this.callback.set(model, data, context);
|
|
127
|
+
}
|
|
128
|
+
break;
|
|
115
129
|
case 'update':
|
|
116
|
-
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
130
|
+
context.nestingPath.push({ field, model, where: data.where, unique: false });
|
|
117
131
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
132
|
+
let callbackResult;
|
|
118
133
|
if (this.callback.update) {
|
|
119
|
-
yield this.callback.update(model, item, context);
|
|
134
|
+
callbackResult = yield this.callback.update(model, item, context);
|
|
135
|
+
}
|
|
136
|
+
if (callbackResult !== false) {
|
|
137
|
+
const subPayload = typeof callbackResult === 'object'
|
|
138
|
+
? callbackResult
|
|
139
|
+
: typeof item.data === 'object'
|
|
140
|
+
? item.data
|
|
141
|
+
: item;
|
|
142
|
+
yield this.visitSubPayload(model, action, subPayload, context.nestingPath);
|
|
120
143
|
}
|
|
121
|
-
const payload = isToOneUpdate ? item : item.data;
|
|
122
|
-
yield this.visitSubPayload(model, action, payload, context.nestingPath);
|
|
123
144
|
}
|
|
124
145
|
break;
|
|
125
146
|
case 'updateMany':
|
|
126
|
-
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
147
|
+
context.nestingPath.push({ field, model, where: data.where, unique: false });
|
|
127
148
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
149
|
+
let callbackResult;
|
|
128
150
|
if (this.callback.updateMany) {
|
|
129
|
-
yield this.callback.updateMany(model, item, context);
|
|
151
|
+
callbackResult = yield this.callback.updateMany(model, item, context);
|
|
152
|
+
}
|
|
153
|
+
if (callbackResult !== false) {
|
|
154
|
+
const subPayload = typeof callbackResult === 'object' ? callbackResult : item;
|
|
155
|
+
yield this.visitSubPayload(model, action, subPayload, context.nestingPath);
|
|
130
156
|
}
|
|
131
|
-
yield this.visitSubPayload(model, action, item, context.nestingPath);
|
|
132
157
|
}
|
|
133
158
|
break;
|
|
134
159
|
case 'upsert': {
|
|
135
|
-
context.nestingPath.push({ field, where: data.where, unique:
|
|
160
|
+
context.nestingPath.push({ field, model, where: data.where, unique: false });
|
|
136
161
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
162
|
+
let callbackResult;
|
|
137
163
|
if (this.callback.upsert) {
|
|
138
|
-
yield this.callback.upsert(model, item, context);
|
|
164
|
+
callbackResult = yield this.callback.upsert(model, item, context);
|
|
165
|
+
}
|
|
166
|
+
if (callbackResult !== false) {
|
|
167
|
+
if (typeof callbackResult === 'object') {
|
|
168
|
+
yield this.visitSubPayload(model, action, callbackResult, context.nestingPath);
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
yield this.visitSubPayload(model, action, item.create, context.nestingPath);
|
|
172
|
+
yield this.visitSubPayload(model, action, item.update, context.nestingPath);
|
|
173
|
+
}
|
|
139
174
|
}
|
|
140
|
-
yield this.visitSubPayload(model, action, item.create, context.nestingPath);
|
|
141
|
-
yield this.visitSubPayload(model, action, item.update, context.nestingPath);
|
|
142
175
|
}
|
|
143
176
|
break;
|
|
144
177
|
}
|
|
145
178
|
case 'delete': {
|
|
146
179
|
if (this.callback.delete) {
|
|
147
|
-
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
148
180
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
149
|
-
|
|
181
|
+
const newContext = Object.assign(Object.assign({}, context), { nestingPath: [
|
|
182
|
+
...context.nestingPath,
|
|
183
|
+
{ field, model, where: toplevel ? item.where : item, unique: false },
|
|
184
|
+
] });
|
|
185
|
+
yield this.callback.delete(model, item, newContext);
|
|
150
186
|
}
|
|
151
187
|
}
|
|
152
188
|
break;
|
|
153
189
|
}
|
|
154
190
|
case 'deleteMany':
|
|
155
191
|
if (this.callback.deleteMany) {
|
|
156
|
-
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
157
192
|
for (const item of (0, utils_1.enumerate)(data)) {
|
|
158
|
-
|
|
193
|
+
const newContext = Object.assign(Object.assign({}, context), { nestingPath: [
|
|
194
|
+
...context.nestingPath,
|
|
195
|
+
{ field, model, where: toplevel ? item.where : item, unique: false },
|
|
196
|
+
] });
|
|
197
|
+
yield this.callback.deleteMany(model, item, newContext);
|
|
159
198
|
}
|
|
160
199
|
}
|
|
161
200
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nested-write-vistor.js","sourceRoot":"","sources":["../../src/enhancements/nested-write-vistor.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,uDAAuD;;;;;;;;;;;;AAEvD,oCAAgF;AAChF,6CAA4C;AAE5C,mCAAoD;
|
|
1
|
+
{"version":3,"file":"nested-write-vistor.js","sourceRoot":"","sources":["../../src/enhancements/nested-write-vistor.ts"],"names":[],"mappings":"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"}
|
package/enhancements/omit.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AuthUser, DbClientContract
|
|
2
|
-
import {
|
|
3
|
-
import { ModelMeta, PolicyDef } from '../types';
|
|
1
|
+
import { AuthUser, DbClientContract } from '../../types';
|
|
2
|
+
import { PrismaProxyHandler } from '../proxy';
|
|
3
|
+
import type { ModelMeta, PolicyDef, ZodSchemas } from '../types';
|
|
4
4
|
/**
|
|
5
5
|
* Prisma proxy handler for injecting access policy check.
|
|
6
6
|
*/
|
|
@@ -8,31 +8,47 @@ export declare class PolicyProxyHandler<DbClient extends DbClientContract> imple
|
|
|
8
8
|
private readonly prisma;
|
|
9
9
|
private readonly policy;
|
|
10
10
|
private readonly modelMeta;
|
|
11
|
-
private readonly
|
|
11
|
+
private readonly zodSchemas;
|
|
12
12
|
private readonly user?;
|
|
13
13
|
private readonly logPrismaQuery?;
|
|
14
14
|
private readonly logger;
|
|
15
15
|
private readonly utils;
|
|
16
|
-
|
|
16
|
+
private readonly model;
|
|
17
|
+
constructor(prisma: DbClient, policy: PolicyDef, modelMeta: ModelMeta, zodSchemas: ZodSchemas | undefined, model: string, user?: AuthUser | undefined, logPrismaQuery?: boolean | undefined);
|
|
17
18
|
private get modelClient();
|
|
18
|
-
findUnique(args: any): Promise<
|
|
19
|
-
findUniqueOrThrow(args: any): Promise<
|
|
20
|
-
findFirst(args
|
|
21
|
-
findFirstOrThrow(args: any): Promise<
|
|
22
|
-
findMany(args
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
findUnique(args: any): Promise<unknown>;
|
|
20
|
+
findUniqueOrThrow(args: any): Promise<unknown>;
|
|
21
|
+
findFirst(args?: any): Promise<unknown>;
|
|
22
|
+
findFirstOrThrow(args: any): Promise<unknown>;
|
|
23
|
+
findMany(args?: any): Promise<unknown[]>;
|
|
24
|
+
private findWithFluentCallStubs;
|
|
25
|
+
private doFind;
|
|
26
|
+
private fluentCall;
|
|
27
|
+
private addFluentFunctions;
|
|
28
|
+
create(args: any): Promise<any>;
|
|
29
|
+
private doCreate;
|
|
30
|
+
private hasNestedCreateOrConnect;
|
|
31
|
+
private validateCreateInputSchema;
|
|
32
|
+
createMany(args: {
|
|
33
|
+
data: any;
|
|
34
|
+
skipDuplicates?: boolean;
|
|
35
|
+
}): Promise<any>;
|
|
36
|
+
private doCreateMany;
|
|
37
|
+
update(args: any): Promise<any>;
|
|
38
|
+
private doUpdate;
|
|
39
|
+
updateMany(args: any): Promise<any>;
|
|
40
|
+
upsert(args: any): Promise<any>;
|
|
28
41
|
delete(args: any): Promise<any>;
|
|
29
42
|
deleteMany(args: any): Promise<{
|
|
30
43
|
count: number;
|
|
31
44
|
}>;
|
|
32
|
-
aggregate(args: any): Promise<
|
|
33
|
-
groupBy(args: any): Promise<
|
|
34
|
-
count(args: any): Promise<
|
|
35
|
-
|
|
36
|
-
private checkReadback;
|
|
45
|
+
aggregate(args: any): Promise<any>;
|
|
46
|
+
groupBy(args: any): Promise<any>;
|
|
47
|
+
count(args: any): Promise<any>;
|
|
48
|
+
subscribe(args: any): Promise<any>;
|
|
37
49
|
private get shouldLogQuery();
|
|
50
|
+
private transaction;
|
|
51
|
+
private runPostWriteChecks;
|
|
52
|
+
private makeHandler;
|
|
53
|
+
private requireBackLink;
|
|
38
54
|
}
|