@zenstackhq/runtime 1.0.0-alpha.98 → 1.0.0-beta.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/constants.d.ts +21 -0
- package/constants.js +23 -1
- package/constants.js.map +1 -1
- package/enhancements/index.d.ts +1 -0
- package/enhancements/index.js +1 -0
- package/enhancements/index.js.map +1 -1
- package/enhancements/model-meta.js +2 -2
- package/enhancements/model-meta.js.map +1 -1
- package/enhancements/nested-write-vistor.d.ts +13 -13
- package/enhancements/nested-write-vistor.js +80 -53
- package/enhancements/nested-write-vistor.js.map +1 -1
- package/enhancements/omit.d.ts +10 -1
- package/enhancements/omit.js +4 -3
- package/enhancements/omit.js.map +1 -1
- package/enhancements/password.d.ts +10 -1
- package/enhancements/password.js +3 -2
- package/enhancements/password.js.map +1 -1
- package/enhancements/policy/handler.d.ts +3 -1
- package/enhancements/policy/handler.js +94 -33
- package/enhancements/policy/handler.js.map +1 -1
- package/enhancements/policy/index.d.ts +18 -1
- package/enhancements/policy/index.js +5 -4
- package/enhancements/policy/index.js.map +1 -1
- package/enhancements/policy/logger.d.ts +9 -1
- package/enhancements/policy/logger.js +14 -3
- package/enhancements/policy/logger.js.map +1 -1
- package/enhancements/policy/policy-utils.d.ts +8 -7
- package/enhancements/policy/policy-utils.js +145 -106
- package/enhancements/policy/policy-utils.js.map +1 -1
- package/enhancements/preset.d.ts +9 -7
- package/enhancements/preset.js +3 -6
- package/enhancements/preset.js.map +1 -1
- package/enhancements/proxy.js +62 -1
- package/enhancements/proxy.js.map +1 -1
- package/enhancements/utils.d.ts +12 -4
- package/enhancements/utils.js +75 -11
- package/enhancements/utils.js.map +1 -1
- package/package.json +7 -6
- package/version.js +1 -0
- package/version.js.map +1 -1
package/constants.d.ts
CHANGED
|
@@ -2,3 +2,24 @@
|
|
|
2
2
|
* Default length of password hash salt (used by bcryptjs to hash password)
|
|
3
3
|
*/
|
|
4
4
|
export declare const DEFAULT_PASSWORD_SALT_LENGTH = 12;
|
|
5
|
+
/**
|
|
6
|
+
* Auxiliary database field for supporting policy check for nested writes
|
|
7
|
+
*/
|
|
8
|
+
export declare const TRANSACTION_FIELD_NAME = "zenstack_transaction";
|
|
9
|
+
/**
|
|
10
|
+
* Auxiliary database field for building up policy check queries
|
|
11
|
+
*/
|
|
12
|
+
export declare const GUARD_FIELD_NAME = "zenstack_guard";
|
|
13
|
+
/**
|
|
14
|
+
* All Auxiliary fields.
|
|
15
|
+
*/
|
|
16
|
+
export declare const AUXILIARY_FIELDS: string[];
|
|
17
|
+
/**
|
|
18
|
+
* Reasons for a CRUD operation to fail.
|
|
19
|
+
*/
|
|
20
|
+
export declare enum CrudFailureReason {
|
|
21
|
+
/**
|
|
22
|
+
* CRUD suceeded but the result was not readable.
|
|
23
|
+
*/
|
|
24
|
+
RESULT_NOT_READABLE = "RESULT_NOT_READABLE"
|
|
25
|
+
}
|
package/constants.js
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_PASSWORD_SALT_LENGTH = void 0;
|
|
3
|
+
exports.CrudFailureReason = exports.AUXILIARY_FIELDS = exports.GUARD_FIELD_NAME = exports.TRANSACTION_FIELD_NAME = exports.DEFAULT_PASSWORD_SALT_LENGTH = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Default length of password hash salt (used by bcryptjs to hash password)
|
|
6
6
|
*/
|
|
7
7
|
exports.DEFAULT_PASSWORD_SALT_LENGTH = 12;
|
|
8
|
+
/**
|
|
9
|
+
* Auxiliary database field for supporting policy check for nested writes
|
|
10
|
+
*/
|
|
11
|
+
exports.TRANSACTION_FIELD_NAME = 'zenstack_transaction';
|
|
12
|
+
/**
|
|
13
|
+
* Auxiliary database field for building up policy check queries
|
|
14
|
+
*/
|
|
15
|
+
exports.GUARD_FIELD_NAME = 'zenstack_guard';
|
|
16
|
+
/**
|
|
17
|
+
* All Auxiliary fields.
|
|
18
|
+
*/
|
|
19
|
+
exports.AUXILIARY_FIELDS = [exports.TRANSACTION_FIELD_NAME, exports.GUARD_FIELD_NAME];
|
|
20
|
+
/**
|
|
21
|
+
* Reasons for a CRUD operation to fail.
|
|
22
|
+
*/
|
|
23
|
+
var CrudFailureReason;
|
|
24
|
+
(function (CrudFailureReason) {
|
|
25
|
+
/**
|
|
26
|
+
* CRUD suceeded but the result was not readable.
|
|
27
|
+
*/
|
|
28
|
+
CrudFailureReason["RESULT_NOT_READABLE"] = "RESULT_NOT_READABLE";
|
|
29
|
+
})(CrudFailureReason = exports.CrudFailureReason || (exports.CrudFailureReason = {}));
|
|
8
30
|
//# sourceMappingURL=constants.js.map
|
package/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,4BAA4B,GAAG,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;GAEG;AACU,QAAA,sBAAsB,GAAG,sBAAsB,CAAC;AAE7D;;GAEG;AACU,QAAA,gBAAgB,GAAG,gBAAgB,CAAC;AAEjD;;GAEG;AACU,QAAA,gBAAgB,GAAG,CAAC,8BAAsB,EAAE,wBAAgB,CAAC,CAAC;AAE3E;;GAEG;AACH,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB;;OAEG;IACH,gEAA2C,CAAA;AAC/C,CAAC,EALW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAK5B"}
|
package/enhancements/index.d.ts
CHANGED
package/enhancements/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enhancements/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enhancements/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveField = exports.getDefaultModelMeta = void 0;
|
|
4
|
-
const
|
|
4
|
+
const lower_case_first_1 = require("lower-case-first");
|
|
5
5
|
/**
|
|
6
6
|
* Load model meta from standard location.
|
|
7
7
|
*/
|
|
@@ -19,7 +19,7 @@ exports.getDefaultModelMeta = getDefaultModelMeta;
|
|
|
19
19
|
* Resolves a model field to its metadata. Returns undefined if not found.
|
|
20
20
|
*/
|
|
21
21
|
function resolveField(modelMeta, model, field) {
|
|
22
|
-
return modelMeta.fields[(0,
|
|
22
|
+
return modelMeta.fields[(0, lower_case_first_1.lowerCaseFirst)(model)][field];
|
|
23
23
|
}
|
|
24
24
|
exports.resolveField = resolveField;
|
|
25
25
|
//# sourceMappingURL=model-meta.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-meta.js","sourceRoot":"","sources":["../../src/enhancements/model-meta.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"model-meta.js","sourceRoot":"","sources":["../../src/enhancements/model-meta.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAGlD;;GAEG;AACH,SAAgB,mBAAmB;IAC/B,IAAI;QACA,8DAA8D;QAC9D,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC;KAClD;IAAC,WAAM;QACJ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;KAClD;AACL,CAAC;AAPD,kDAOC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,SAAoB,EAAE,KAAa,EAAE,KAAa;IAC3E,OAAO,SAAS,CAAC,MAAM,CAAC,IAAA,iCAAc,EAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAFD,oCAEC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FieldInfo, PrismaWriteActionType } from '../types';
|
|
2
2
|
import { ModelMeta } from './types';
|
|
3
|
-
import { Enumerable } from './utils';
|
|
4
3
|
type NestingPathItem = {
|
|
5
4
|
field?: FieldInfo;
|
|
6
5
|
where: any;
|
|
@@ -28,27 +27,27 @@ export type VisitorContext = {
|
|
|
28
27
|
*/
|
|
29
28
|
export type NestedWriterVisitorCallback = {
|
|
30
29
|
create?: (model: string, args: any[], context: VisitorContext) => Promise<void>;
|
|
31
|
-
connectOrCreate?: (model: string, args:
|
|
30
|
+
connectOrCreate?: (model: string, args: {
|
|
32
31
|
where: object;
|
|
33
32
|
create: any;
|
|
34
|
-
}
|
|
35
|
-
connect?: (model: string, args:
|
|
36
|
-
disconnect?: (model: string, args:
|
|
37
|
-
update?: (model: string, args:
|
|
33
|
+
}, context: VisitorContext) => Promise<void>;
|
|
34
|
+
connect?: (model: string, args: object, context: VisitorContext) => Promise<void>;
|
|
35
|
+
disconnect?: (model: string, args: object, context: VisitorContext) => Promise<void>;
|
|
36
|
+
update?: (model: string, args: {
|
|
38
37
|
where: object;
|
|
39
38
|
data: any;
|
|
40
|
-
}
|
|
41
|
-
updateMany?: (model: string, args:
|
|
39
|
+
}, context: VisitorContext) => Promise<void>;
|
|
40
|
+
updateMany?: (model: string, args: {
|
|
42
41
|
where?: object;
|
|
43
42
|
data: any;
|
|
44
|
-
}
|
|
45
|
-
upsert?: (model: string, args:
|
|
43
|
+
}, context: VisitorContext) => Promise<void>;
|
|
44
|
+
upsert?: (model: string, args: {
|
|
46
45
|
where: object;
|
|
47
46
|
create: any;
|
|
48
47
|
update: any;
|
|
49
|
-
}
|
|
50
|
-
delete?: (model: string, args:
|
|
51
|
-
deleteMany?: (model: string, args:
|
|
48
|
+
}, context: VisitorContext) => Promise<void>;
|
|
49
|
+
delete?: (model: string, args: object | boolean, context: VisitorContext) => Promise<void>;
|
|
50
|
+
deleteMany?: (model: string, args: any | object, context: VisitorContext) => Promise<void>;
|
|
52
51
|
field?: (field: FieldInfo, action: PrismaWriteActionType, data: any, context: VisitorContext) => Promise<void>;
|
|
53
52
|
};
|
|
54
53
|
/**
|
|
@@ -66,5 +65,6 @@ export declare class NestedWriteVisitor {
|
|
|
66
65
|
*/
|
|
67
66
|
visit(model: string, action: PrismaWriteActionType, args: any): Promise<void>;
|
|
68
67
|
private doVisit;
|
|
68
|
+
private visitSubPayload;
|
|
69
69
|
}
|
|
70
70
|
export {};
|
|
@@ -56,113 +56,140 @@ class NestedWriteVisitor {
|
|
|
56
56
|
if (!data) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
const fieldContainers = [];
|
|
60
59
|
const isToOneUpdate = (field === null || field === void 0 ? void 0 : field.isDataModel) && !field.isArray;
|
|
61
60
|
const context = { parent, field, nestingPath: [...nestingPath] };
|
|
62
61
|
// visit payload
|
|
63
62
|
switch (action) {
|
|
64
63
|
case 'create':
|
|
65
64
|
context.nestingPath.push({ field, where: {}, unique: false });
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
66
|
+
if (this.callback.create) {
|
|
67
|
+
yield this.callback.create(model, item, context);
|
|
68
|
+
}
|
|
69
|
+
yield this.visitSubPayload(model, action, item, context.nestingPath);
|
|
68
70
|
}
|
|
69
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data));
|
|
70
71
|
break;
|
|
71
72
|
case 'createMany':
|
|
72
73
|
// skip the 'data' layer so as to keep consistency with 'create'
|
|
73
74
|
if (data.data) {
|
|
74
75
|
context.nestingPath.push({ field, where: {}, unique: false });
|
|
75
|
-
|
|
76
|
-
|
|
76
|
+
for (const item of (0, utils_1.enumerate)(data.data)) {
|
|
77
|
+
if (this.callback.create) {
|
|
78
|
+
yield this.callback.create(model, item, context);
|
|
79
|
+
}
|
|
80
|
+
yield this.visitSubPayload(model, action, item, context.nestingPath);
|
|
77
81
|
}
|
|
78
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data.data));
|
|
79
82
|
}
|
|
80
83
|
break;
|
|
81
84
|
case 'connectOrCreate':
|
|
82
85
|
context.nestingPath.push({ field, where: data.where, unique: true });
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
87
|
+
if (this.callback.connectOrCreate) {
|
|
88
|
+
yield this.callback.connectOrCreate(model, item, context);
|
|
89
|
+
}
|
|
90
|
+
yield this.visitSubPayload(model, action, item.create, context.nestingPath);
|
|
85
91
|
}
|
|
86
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data).map((d) => d.create));
|
|
87
92
|
break;
|
|
88
93
|
case 'connect':
|
|
89
|
-
context.nestingPath.push({ field, where: data, unique: true });
|
|
90
94
|
if (this.callback.connect) {
|
|
91
|
-
|
|
95
|
+
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 }] });
|
|
97
|
+
yield this.callback.connect(model, item, newContext);
|
|
98
|
+
}
|
|
92
99
|
}
|
|
93
100
|
break;
|
|
94
101
|
case 'disconnect':
|
|
95
102
|
// disconnect has two forms:
|
|
96
103
|
// if relation is to-many, the payload is a unique filter object
|
|
97
104
|
// if relation is to-one, the payload can only be boolean `true`
|
|
98
|
-
context.nestingPath.push({ field, where: data, unique: typeof data === 'object' });
|
|
99
105
|
if (this.callback.disconnect) {
|
|
100
|
-
|
|
106
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
107
|
+
const newContext = Object.assign(Object.assign({}, context), { nestingPath: [
|
|
108
|
+
...context.nestingPath,
|
|
109
|
+
{ field, where: item, unique: typeof item === 'object' },
|
|
110
|
+
] });
|
|
111
|
+
yield this.callback.disconnect(model, item, newContext);
|
|
112
|
+
}
|
|
101
113
|
}
|
|
102
114
|
break;
|
|
103
115
|
case 'update':
|
|
104
116
|
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
105
|
-
|
|
106
|
-
|
|
117
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
118
|
+
if (this.callback.update) {
|
|
119
|
+
yield this.callback.update(model, item, context);
|
|
120
|
+
}
|
|
121
|
+
const payload = isToOneUpdate ? item : item.data;
|
|
122
|
+
yield this.visitSubPayload(model, action, payload, context.nestingPath);
|
|
107
123
|
}
|
|
108
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data).map((d) => (isToOneUpdate ? d : d.data)));
|
|
109
124
|
break;
|
|
110
125
|
case 'updateMany':
|
|
111
126
|
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
112
|
-
|
|
113
|
-
|
|
127
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
128
|
+
if (this.callback.updateMany) {
|
|
129
|
+
yield this.callback.updateMany(model, item, context);
|
|
130
|
+
}
|
|
131
|
+
yield this.visitSubPayload(model, action, item, context.nestingPath);
|
|
114
132
|
}
|
|
115
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data));
|
|
116
133
|
break;
|
|
117
|
-
case 'upsert':
|
|
134
|
+
case 'upsert': {
|
|
118
135
|
context.nestingPath.push({ field, where: data.where, unique: true });
|
|
119
|
-
|
|
120
|
-
|
|
136
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
137
|
+
if (this.callback.upsert) {
|
|
138
|
+
yield this.callback.upsert(model, item, context);
|
|
139
|
+
}
|
|
140
|
+
yield this.visitSubPayload(model, action, item.create, context.nestingPath);
|
|
141
|
+
yield this.visitSubPayload(model, action, item.update, context.nestingPath);
|
|
121
142
|
}
|
|
122
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data).map((d) => d.create));
|
|
123
|
-
fieldContainers.push(...(0, utils_1.ensureArray)(data).map((d) => d.update));
|
|
124
143
|
break;
|
|
125
|
-
|
|
126
|
-
|
|
144
|
+
}
|
|
145
|
+
case 'delete': {
|
|
127
146
|
if (this.callback.delete) {
|
|
128
|
-
|
|
147
|
+
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
148
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
149
|
+
yield this.callback.delete(model, item, context);
|
|
150
|
+
}
|
|
129
151
|
}
|
|
130
152
|
break;
|
|
153
|
+
}
|
|
131
154
|
case 'deleteMany':
|
|
132
|
-
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
133
155
|
if (this.callback.deleteMany) {
|
|
134
|
-
|
|
156
|
+
context.nestingPath.push({ field, where: data.where, unique: false });
|
|
157
|
+
for (const item of (0, utils_1.enumerate)(data)) {
|
|
158
|
+
yield this.callback.deleteMany(model, item, context);
|
|
159
|
+
}
|
|
135
160
|
}
|
|
136
161
|
break;
|
|
137
162
|
default: {
|
|
138
163
|
throw new Error(`unhandled action type ${action}`);
|
|
139
164
|
}
|
|
140
165
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
visitSubPayload(model, action, payload, nestingPath) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
for (const field of (0, utils_1.getModelFields)(payload)) {
|
|
171
|
+
const fieldInfo = (0, model_meta_1.resolveField)(this.modelMeta, model, field);
|
|
172
|
+
if (!fieldInfo) {
|
|
173
|
+
continue;
|
|
174
|
+
}
|
|
175
|
+
if (fieldInfo.isDataModel) {
|
|
176
|
+
// recurse into nested payloads
|
|
177
|
+
for (const [subAction, subData] of Object.entries(payload[field])) {
|
|
178
|
+
if (this.isPrismaWriteAction(subAction) && subData) {
|
|
179
|
+
yield this.doVisit(fieldInfo.type, subAction, subData, payload[field], fieldInfo, [
|
|
180
|
+
...nestingPath,
|
|
181
|
+
]);
|
|
155
182
|
}
|
|
156
183
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
// visit plain field
|
|
187
|
+
if (this.callback.field) {
|
|
188
|
+
yield this.callback.field(fieldInfo, action, payload[field], {
|
|
189
|
+
parent: payload,
|
|
190
|
+
nestingPath,
|
|
191
|
+
field: fieldInfo,
|
|
192
|
+
});
|
|
166
193
|
}
|
|
167
194
|
}
|
|
168
195
|
}
|
|
@@ -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,
|
|
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,5 +1,14 @@
|
|
|
1
1
|
import { ModelMeta } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Options for @see withOmit
|
|
4
|
+
*/
|
|
5
|
+
export type WithOmitOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Model metatadata
|
|
8
|
+
*/
|
|
9
|
+
modelMeta?: ModelMeta;
|
|
10
|
+
};
|
|
2
11
|
/**
|
|
3
12
|
* Gets an enhanced Prisma client that supports @omit attribute.
|
|
4
13
|
*/
|
|
5
|
-
export declare function withOmit<DbClient extends object>(prisma: DbClient,
|
|
14
|
+
export declare function withOmit<DbClient extends object>(prisma: DbClient, options?: WithOmitOptions): DbClient;
|
package/enhancements/omit.js
CHANGED
|
@@ -18,8 +18,9 @@ const utils_1 = require("./utils");
|
|
|
18
18
|
/**
|
|
19
19
|
* Gets an enhanced Prisma client that supports @omit attribute.
|
|
20
20
|
*/
|
|
21
|
-
function withOmit(prisma,
|
|
22
|
-
|
|
21
|
+
function withOmit(prisma, options) {
|
|
22
|
+
var _a;
|
|
23
|
+
const _modelMeta = (_a = options === null || options === void 0 ? void 0 : options.modelMeta) !== null && _a !== void 0 ? _a : (0, model_meta_1.getDefaultModelMeta)();
|
|
23
24
|
return (0, proxy_1.makeProxy)(prisma, _modelMeta, (_prisma, model) => new OmitHandler(_prisma, model, _modelMeta), 'omit');
|
|
24
25
|
}
|
|
25
26
|
exports.withOmit = withOmit;
|
|
@@ -32,7 +33,7 @@ class OmitHandler extends proxy_1.DefaultPrismaProxyHandler {
|
|
|
32
33
|
processResultEntity(data) {
|
|
33
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
34
35
|
if (data) {
|
|
35
|
-
for (const value of (0, utils_1.
|
|
36
|
+
for (const value of (0, utils_1.enumerate)(data)) {
|
|
36
37
|
yield this.doPostProcess(value, this.model);
|
|
37
38
|
}
|
|
38
39
|
}
|
package/enhancements/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/enhancements/omit.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,uDAAuD;;;;;;;;;;;;AAGvD,6CAAiE;AACjE,mCAA+D;AAE/D,
|
|
1
|
+
{"version":3,"file":"omit.js","sourceRoot":"","sources":["../../src/enhancements/omit.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,uDAAuD;;;;;;;;;;;;AAGvD,6CAAiE;AACjE,mCAA+D;AAE/D,mCAAoD;AAYpD;;GAEG;AACH,SAAgB,QAAQ,CAA0B,MAAgB,EAAE,OAAyB;;IACzF,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,IAAA,gCAAmB,GAAE,CAAC;IAC/D,OAAO,IAAA,iBAAS,EACZ,MAAM,EACN,UAAU,EACV,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,OAA2B,EAAE,KAAK,EAAE,UAAU,CAAC,EACnF,MAAM,CACT,CAAC;AACN,CAAC;AARD,4BAQC;AAED,MAAM,WAAY,SAAQ,iCAAyB;IAC/C,YAAY,MAAwB,EAAE,KAAa,EAAmB,SAAoB;QACtF,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAD6C,cAAS,GAAT,SAAS,CAAW;IAE1F,CAAC;IAED,gBAAgB;IACA,mBAAmB,CAAI,IAAO;;YAC1C,IAAI,IAAI,EAAE;gBACN,KAAK,MAAM,KAAK,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,EAAE;oBACjC,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC/C;aACJ;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEa,aAAa,CAAC,UAAe,EAAE,KAAa;;YACtD,KAAK,MAAM,KAAK,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE;gBAC5C,MAAM,SAAS,GAAG,MAAM,IAAA,yBAAY,EAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnE,IAAI,CAAC,SAAS,EAAE;oBACZ,SAAS;iBACZ;gBAED,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE;oBAC5D,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;iBAC5B;qBAAM,IAAI,SAAS,CAAC,WAAW,EAAE;oBAC9B,UAAU;oBACV,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;iBAC/D;aACJ;QACL,CAAC;KAAA;CACJ"}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
import { ModelMeta } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Options for @see withPassword
|
|
4
|
+
*/
|
|
5
|
+
export type WithPasswordOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Model metatadata
|
|
8
|
+
*/
|
|
9
|
+
modelMeta?: ModelMeta;
|
|
10
|
+
};
|
|
2
11
|
/**
|
|
3
12
|
* Gets an enhanced Prisma client that supports @password attribute.
|
|
4
13
|
*/
|
|
5
|
-
export declare function withPassword<DbClient extends object = any>(prisma: DbClient,
|
|
14
|
+
export declare function withPassword<DbClient extends object = any>(prisma: DbClient, options?: WithPasswordOptions): DbClient;
|
package/enhancements/password.js
CHANGED
|
@@ -20,8 +20,9 @@ const proxy_1 = require("./proxy");
|
|
|
20
20
|
/**
|
|
21
21
|
* Gets an enhanced Prisma client that supports @password attribute.
|
|
22
22
|
*/
|
|
23
|
-
function withPassword(prisma,
|
|
24
|
-
|
|
23
|
+
function withPassword(prisma, options) {
|
|
24
|
+
var _a;
|
|
25
|
+
const _modelMeta = (_a = options === null || options === void 0 ? void 0 : options.modelMeta) !== null && _a !== void 0 ? _a : (0, model_meta_1.getDefaultModelMeta)();
|
|
25
26
|
return (0, proxy_1.makeProxy)(prisma, _modelMeta, (_prisma, model) => new PasswordHandler(_prisma, model, _modelMeta), 'password');
|
|
26
27
|
}
|
|
27
28
|
exports.withPassword = withPassword;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/enhancements/password.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,sDAAsD;;;;;;;;;;;;AAEtD,uCAAgC;AAChC,4CAA4D;AAE5D,6CAAmD;AACnD,+DAA2D;AAC3D,mCAAmF;
|
|
1
|
+
{"version":3,"file":"password.js","sourceRoot":"","sources":["../../src/enhancements/password.ts"],"names":[],"mappings":";AAAA,uDAAuD;AACvD,sDAAsD;;;;;;;;;;;;AAEtD,uCAAgC;AAChC,4CAA4D;AAE5D,6CAAmD;AACnD,+DAA2D;AAC3D,mCAAmF;AAanF;;GAEG;AACH,SAAgB,YAAY,CAAgC,MAAgB,EAAE,OAA6B;;IACvG,MAAM,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,IAAA,gCAAmB,GAAE,CAAC;IAC/D,OAAO,IAAA,iBAAS,EACZ,MAAM,EACN,UAAU,EACV,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,OAA2B,EAAE,KAAK,EAAE,UAAU,CAAC,EACvF,UAAU,CACb,CAAC;AACN,CAAC;AARD,oCAQC;AAED,MAAM,eAAgB,SAAQ,iCAAyB;IACnD,YAAY,MAAwB,EAAE,KAAa,EAAW,SAAoB;QAC9E,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QADqC,cAAS,GAAT,SAAS,CAAW;IAElF,CAAC;IAED,gBAAgB;IACA,cAAc,CAAC,MAA0B,EAAE,IAAS;;YAChE,MAAM,iBAAiB,GAAyB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC3G,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACzD,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,MAA+B,EAAE,IAAI,CAAC,CAAC;aACxF;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEa,sBAAsB,CAAC,KAAa,EAAE,MAA6B,EAAE,IAAS;;YACxF,MAAM,OAAO,GAAG,IAAI,wCAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnD,KAAK,EAAE,CAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;;oBAC3C,MAAM,OAAO,GAAG,MAAA,KAAK,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;oBAC5E,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;wBACpC,sBAAsB;wBACtB,IAAI,IAAI,GAAgC,MAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,0CACjF,KAAe,CAAC;wBACtB,IAAI,CAAC,IAAI,EAAE;4BACP,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,0CAAE,KAAe,CAAC;yBACjF;wBACD,IAAI,CAAC,IAAI,EAAE;4BACP,IAAI,GAAG,wCAA4B,CAAC;yBACvC;wBACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;qBACvD;gBACL,CAAC,CAAA;aACJ,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;KAAA;CACJ"}
|
|
@@ -10,9 +10,10 @@ export declare class PolicyProxyHandler<DbClient extends DbClientContract> imple
|
|
|
10
10
|
private readonly modelMeta;
|
|
11
11
|
private readonly model;
|
|
12
12
|
private readonly user?;
|
|
13
|
+
private readonly logPrismaQuery?;
|
|
13
14
|
private readonly logger;
|
|
14
15
|
private readonly utils;
|
|
15
|
-
constructor(prisma: DbClient, policy: PolicyDef, modelMeta: ModelMeta, model: string, user?: AuthUser | undefined);
|
|
16
|
+
constructor(prisma: DbClient, policy: PolicyDef, modelMeta: ModelMeta, model: string, user?: AuthUser | undefined, logPrismaQuery?: boolean | undefined);
|
|
16
17
|
private get modelClient();
|
|
17
18
|
findUnique(args: any): Promise<{} | null>;
|
|
18
19
|
findUniqueOrThrow(args: any): Promise<{}>;
|
|
@@ -33,4 +34,5 @@ export declare class PolicyProxyHandler<DbClient extends DbClientContract> imple
|
|
|
33
34
|
count(args: any): Promise<unknown>;
|
|
34
35
|
tryReject(operation: PolicyOperationKind): Promise<void>;
|
|
35
36
|
private checkReadback;
|
|
37
|
+
private get shouldLogQuery();
|
|
36
38
|
}
|