@zenstackhq/runtime 1.0.0-beta.9 → 1.0.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/browser/index.js +3 -2
- package/browser/index.js.map +1 -1
- package/browser/index.mjs +1 -0
- package/browser/index.mjs.map +1 -1
- package/constants.d.ts +57 -14
- package/constants.js +57 -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 +2 -1
- package/enhancements/index.js +2 -1
- 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 +3 -6
- package/enhancements/model-meta.js +3 -28
- package/enhancements/model-meta.js.map +1 -1
- package/enhancements/{nested-write-vistor.d.ts → nested-write-visitor.d.ts} +18 -14
- package/enhancements/{nested-write-vistor.js → nested-write-visitor.js} +68 -29
- package/enhancements/nested-write-visitor.js.map +1 -0
- package/enhancements/omit.d.ts +4 -4
- package/enhancements/omit.js +2 -1
- package/enhancements/omit.js.map +1 -1
- package/enhancements/password.d.ts +4 -4
- package/enhancements/password.js +4 -4
- package/enhancements/password.js.map +1 -1
- package/enhancements/policy/handler.d.ts +34 -18
- package/enhancements/policy/handler.js +844 -157
- package/enhancements/policy/handler.js.map +1 -1
- package/enhancements/policy/index.d.ts +4 -4
- package/enhancements/policy/index.js +20 -38
- 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 -48
- package/enhancements/policy/policy-utils.js +778 -671
- 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 +24 -7
- package/enhancements/types.js +1 -0
- package/enhancements/types.js.map +1 -1
- package/enhancements/utils.d.ts +5 -1
- package/enhancements/utils.js +36 -8
- package/enhancements/utils.js.map +1 -1
- package/error.js +9 -3
- package/error.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/loader.d.ts +22 -0
- package/loader.js +99 -0
- package/loader.js.map +1 -0
- package/package.json +9 -2
- package/types.d.ts +28 -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 +1 -0
- package/zod/index.js +1 -0
- package/zod/objects.d.ts +1 -0
- package/zod/objects.js +8 -0
- package/enhancements/nested-write-vistor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,uDAAkD;AAClD,gDAAwB;AACxB,2CAA6B;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":"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"}
|
package/error.js
CHANGED
|
@@ -3,15 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.isPrismaClientValidationError = exports.isPrismaClientUnknownRequestError = exports.isPrismaClientKnownRequestError = void 0;
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
5
|
function isPrismaClientKnownRequestError(err) {
|
|
6
|
-
return err.__proto__
|
|
6
|
+
return findConstructorName(err.__proto__, 'PrismaClientKnownRequestError');
|
|
7
7
|
}
|
|
8
8
|
exports.isPrismaClientKnownRequestError = isPrismaClientKnownRequestError;
|
|
9
9
|
function isPrismaClientUnknownRequestError(err) {
|
|
10
|
-
return err.__proto__
|
|
10
|
+
return findConstructorName(err.__proto__, 'PrismaClientUnknownRequestError');
|
|
11
11
|
}
|
|
12
12
|
exports.isPrismaClientUnknownRequestError = isPrismaClientUnknownRequestError;
|
|
13
13
|
function isPrismaClientValidationError(err) {
|
|
14
|
-
return err.__proto__
|
|
14
|
+
return findConstructorName(err.__proto__, 'PrismaClientValidationError');
|
|
15
15
|
}
|
|
16
16
|
exports.isPrismaClientValidationError = isPrismaClientValidationError;
|
|
17
|
+
function findConstructorName(proto, name) {
|
|
18
|
+
if (!proto) {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
return proto.constructor.name === name || findConstructorName(proto.__proto__, name);
|
|
22
|
+
}
|
|
17
23
|
//# sourceMappingURL=error.js.map
|
package/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,CAC3C,GAAQ;IAER,OAAO,
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,CAC3C,GAAQ;IAER,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,CAAC;AAC/E,CAAC;AAJD,0EAIC;AAED,SAAgB,iCAAiC,CAAC,GAAQ;IACtD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC;AACjF,CAAC;AAFD,8EAEC;AAED,SAAgB,6BAA6B,CAAC,GAAQ;IAClD,OAAO,mBAAmB,CAAC,GAAG,CAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;AAC7E,CAAC;AAFD,sEAEC;AAED,SAAS,mBAAmB,CAAC,KAAU,EAAE,IAAY;IACjD,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,IAAI,mBAAmB,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACzF,CAAC"}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./constants"), exports);
|
|
18
18
|
__exportStar(require("./enhancements"), exports);
|
|
19
19
|
__exportStar(require("./error"), exports);
|
|
20
|
+
__exportStar(require("./loader"), exports);
|
|
20
21
|
__exportStar(require("./types"), exports);
|
|
21
22
|
__exportStar(require("./validation"), exports);
|
|
23
|
+
__exportStar(require("./version"), exports);
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB;AACxB,2CAAyB;AACzB,0CAAwB;AACxB,+CAA6B;AAC7B,4CAA0B"}
|
package/loader.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ModelMeta, PolicyDef, ZodSchemas } from './enhancements';
|
|
2
|
+
/**
|
|
3
|
+
* Load model metadata.
|
|
4
|
+
*
|
|
5
|
+
* @param loadPath The path to load model metadata from. If not provided,
|
|
6
|
+
* will use default load path.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getDefaultModelMeta(loadPath: string | undefined): ModelMeta;
|
|
9
|
+
/**
|
|
10
|
+
* Load access policies.
|
|
11
|
+
*
|
|
12
|
+
* @param loadPath The path to load access policies from. If not provided,
|
|
13
|
+
* will use default load path.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getDefaultPolicy(loadPath: string | undefined): PolicyDef;
|
|
16
|
+
/**
|
|
17
|
+
* Load zod schemas.
|
|
18
|
+
*
|
|
19
|
+
* @param loadPath The path to load zod schemas from. If not provided,
|
|
20
|
+
* will use default load path.
|
|
21
|
+
*/
|
|
22
|
+
export declare function getDefaultZodSchemas(loadPath: string | undefined): ZodSchemas | undefined;
|
package/loader.js
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getDefaultZodSchemas = exports.getDefaultPolicy = exports.getDefaultModelMeta = void 0;
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
/**
|
|
10
|
+
* Load model metadata.
|
|
11
|
+
*
|
|
12
|
+
* @param loadPath The path to load model metadata from. If not provided,
|
|
13
|
+
* will use default load path.
|
|
14
|
+
*/
|
|
15
|
+
function getDefaultModelMeta(loadPath) {
|
|
16
|
+
try {
|
|
17
|
+
if (loadPath) {
|
|
18
|
+
const toLoad = path_1.default.resolve(loadPath, 'model-meta');
|
|
19
|
+
return require(toLoad).default;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return require('.zenstack/model-meta').default;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (_a) {
|
|
26
|
+
if (process.env.ZENSTACK_TEST === '1' && !loadPath) {
|
|
27
|
+
try {
|
|
28
|
+
// special handling for running as tests, try resolving relative to CWD
|
|
29
|
+
return require(path_1.default.join(process.cwd(), 'node_modules', '.zenstack', 'model-meta')).default;
|
|
30
|
+
}
|
|
31
|
+
catch (_b) {
|
|
32
|
+
throw new Error('Model meta cannot be loaded. Please make sure "zenstack generate" has been run.');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
throw new Error('Model meta cannot be loaded. Please make sure "zenstack generate" has been run.');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.getDefaultModelMeta = getDefaultModelMeta;
|
|
39
|
+
/**
|
|
40
|
+
* Load access policies.
|
|
41
|
+
*
|
|
42
|
+
* @param loadPath The path to load access policies from. If not provided,
|
|
43
|
+
* will use default load path.
|
|
44
|
+
*/
|
|
45
|
+
function getDefaultPolicy(loadPath) {
|
|
46
|
+
try {
|
|
47
|
+
if (loadPath) {
|
|
48
|
+
const toLoad = path_1.default.resolve(loadPath, 'policy');
|
|
49
|
+
return require(toLoad).default;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return require('.zenstack/policy').default;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
catch (_a) {
|
|
56
|
+
if (process.env.ZENSTACK_TEST === '1' && !loadPath) {
|
|
57
|
+
try {
|
|
58
|
+
// special handling for running as tests, try resolving relative to CWD
|
|
59
|
+
return require(path_1.default.join(process.cwd(), 'node_modules', '.zenstack', 'policy')).default;
|
|
60
|
+
}
|
|
61
|
+
catch (_b) {
|
|
62
|
+
throw new Error('Policy definition cannot be loaded from default location. Please make sure "zenstack generate" has been run.');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
throw new Error('Policy definition cannot be loaded from default location. Please make sure "zenstack generate" has been run.');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.getDefaultPolicy = getDefaultPolicy;
|
|
69
|
+
/**
|
|
70
|
+
* Load zod schemas.
|
|
71
|
+
*
|
|
72
|
+
* @param loadPath The path to load zod schemas from. If not provided,
|
|
73
|
+
* will use default load path.
|
|
74
|
+
*/
|
|
75
|
+
function getDefaultZodSchemas(loadPath) {
|
|
76
|
+
try {
|
|
77
|
+
if (loadPath) {
|
|
78
|
+
const toLoad = path_1.default.resolve(loadPath, 'zod');
|
|
79
|
+
return require(toLoad);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return require('.zenstack/zod');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (_a) {
|
|
86
|
+
if (process.env.ZENSTACK_TEST === '1' && !loadPath) {
|
|
87
|
+
try {
|
|
88
|
+
// special handling for running as tests, try resolving relative to CWD
|
|
89
|
+
return require(path_1.default.join(process.cwd(), 'node_modules', '.zenstack', 'zod'));
|
|
90
|
+
}
|
|
91
|
+
catch (_b) {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
exports.getDefaultZodSchemas = getDefaultZodSchemas;
|
|
99
|
+
//# sourceMappingURL=loader.js.map
|
package/loader.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";;;;;;AAAA,uDAAuD;AACvD,gDAAwB;AAGxB;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,QAA4B;IAC5D,IAAI;QACA,IAAI,QAAQ,EAAE;YACV,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACpD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;SAClC;aAAM;YACH,OAAO,OAAO,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC;SAClD;KACJ;IAAC,WAAM;QACJ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI;gBACA,uEAAuE;gBACvE,OAAO,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;aAC/F;YAAC,WAAM;gBACJ,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;aACtG;SACJ;QACD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;KACtG;AACL,CAAC;AAnBD,kDAmBC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,QAA4B;IACzD,IAAI;QACA,IAAI,QAAQ,EAAE;YACV,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;SAClC;aAAM;YACH,OAAO,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC;SAC9C;KACJ;IAAC,WAAM;QACJ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI;gBACA,uEAAuE;gBACvE,OAAO,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;aAC3F;YAAC,WAAM;gBACJ,MAAM,IAAI,KAAK,CACX,8GAA8G,CACjH,CAAC;aACL;SACJ;QACD,MAAM,IAAI,KAAK,CACX,8GAA8G,CACjH,CAAC;KACL;AACL,CAAC;AAvBD,4CAuBC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAAC,QAA4B;IAC7D,IAAI;QACA,IAAI,QAAQ,EAAE;YACV,MAAM,MAAM,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;SAC1B;aAAM;YACH,OAAO,OAAO,CAAC,eAAe,CAAC,CAAC;SACnC;KACJ;IAAC,WAAM;QACJ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChD,IAAI;gBACA,uEAAuE;gBACvE,OAAO,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;aAChF;YAAC,WAAM;gBACJ,OAAO,SAAS,CAAC;aACpB;SACJ;QACD,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAnBD,oDAmBC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenstackhq/runtime",
|
|
3
3
|
"displayName": "ZenStack Runtime Library",
|
|
4
|
-
"version": "1.0.0
|
|
4
|
+
"version": "1.0.0",
|
|
5
5
|
"description": "Runtime of ZenStack for both client-side and server-side environments.",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"default": "./index.js"
|
|
15
15
|
},
|
|
16
|
+
"./package.json": {
|
|
17
|
+
"default": "./package.json"
|
|
18
|
+
},
|
|
16
19
|
"./zod": {
|
|
17
20
|
"default": "./zod/index.js"
|
|
18
21
|
},
|
|
@@ -22,6 +25,9 @@
|
|
|
22
25
|
"./zod/models": {
|
|
23
26
|
"default": "./zod/models.js"
|
|
24
27
|
},
|
|
28
|
+
"./zod/objects": {
|
|
29
|
+
"default": "./zod/objects.js"
|
|
30
|
+
},
|
|
25
31
|
"./browser": {
|
|
26
32
|
"import": "./browser/index.mjs",
|
|
27
33
|
"require": "./browser/index.js",
|
|
@@ -34,7 +40,6 @@
|
|
|
34
40
|
"linkDirectory": true
|
|
35
41
|
},
|
|
36
42
|
"dependencies": {
|
|
37
|
-
"@paralleldrive/cuid2": "^2.2.0",
|
|
38
43
|
"@types/bcryptjs": "^2.4.2",
|
|
39
44
|
"bcryptjs": "^2.4.3",
|
|
40
45
|
"buffer": "^6.0.3",
|
|
@@ -44,6 +49,7 @@
|
|
|
44
49
|
"deepcopy": "^2.1.0",
|
|
45
50
|
"lower-case-first": "^2.0.2",
|
|
46
51
|
"pluralize": "^8.0.0",
|
|
52
|
+
"semver": "^7.3.8",
|
|
47
53
|
"superjson": "^1.11.0",
|
|
48
54
|
"tslib": "^2.4.1",
|
|
49
55
|
"upper-case-first": "^2.0.2",
|
|
@@ -60,6 +66,7 @@
|
|
|
60
66
|
"@types/jest": "^29.5.0",
|
|
61
67
|
"@types/node": "^18.0.0",
|
|
62
68
|
"@types/pluralize": "^0.0.29",
|
|
69
|
+
"@types/semver": "^7.3.13",
|
|
63
70
|
"copyfiles": "^2.4.1",
|
|
64
71
|
"rimraf": "^3.0.2",
|
|
65
72
|
"typescript": "^4.9.3"
|
package/types.d.ts
CHANGED
|
@@ -1,28 +1,31 @@
|
|
|
1
|
+
export type PrismaPromise<T> = Promise<T> & Record<string, (args?: any) => PrismaPromise<any>>;
|
|
1
2
|
/**
|
|
2
3
|
* Weakly-typed database access methods
|
|
3
4
|
*/
|
|
4
5
|
export interface DbOperations {
|
|
5
|
-
findMany(args?: unknown): Promise<
|
|
6
|
-
findFirst(args
|
|
7
|
-
findFirstOrThrow(args
|
|
8
|
-
findUnique(args: unknown):
|
|
9
|
-
findUniqueOrThrow(args: unknown):
|
|
10
|
-
create(args: unknown): Promise<
|
|
6
|
+
findMany(args?: unknown): Promise<any[]>;
|
|
7
|
+
findFirst(args?: unknown): PrismaPromise<any>;
|
|
8
|
+
findFirstOrThrow(args?: unknown): PrismaPromise<any>;
|
|
9
|
+
findUnique(args: unknown): PrismaPromise<any>;
|
|
10
|
+
findUniqueOrThrow(args: unknown): PrismaPromise<any>;
|
|
11
|
+
create(args: unknown): Promise<any>;
|
|
11
12
|
createMany(args: unknown, skipDuplicates?: boolean): Promise<{
|
|
12
13
|
count: number;
|
|
13
14
|
}>;
|
|
14
|
-
update(args: unknown): Promise<
|
|
15
|
+
update(args: unknown): Promise<any>;
|
|
15
16
|
updateMany(args: unknown): Promise<{
|
|
16
17
|
count: number;
|
|
17
18
|
}>;
|
|
18
|
-
upsert(args: unknown): Promise<
|
|
19
|
-
delete(args: unknown): Promise<
|
|
19
|
+
upsert(args: unknown): Promise<any>;
|
|
20
|
+
delete(args: unknown): Promise<any>;
|
|
20
21
|
deleteMany(args?: unknown): Promise<{
|
|
21
22
|
count: number;
|
|
22
23
|
}>;
|
|
23
|
-
aggregate(args: unknown): Promise<
|
|
24
|
-
groupBy(args: unknown): Promise<
|
|
25
|
-
count(args?: unknown): Promise<
|
|
24
|
+
aggregate(args: unknown): Promise<any>;
|
|
25
|
+
groupBy(args: unknown): Promise<any>;
|
|
26
|
+
count(args?: unknown): Promise<any>;
|
|
27
|
+
subscribe(args?: unknown): Promise<any>;
|
|
28
|
+
fields: Record<string, any>;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* Kinds of access policy
|
|
@@ -44,6 +47,9 @@ export type QueryContext = {
|
|
|
44
47
|
* Current login user (provided by @see RequestHandlerOptions)
|
|
45
48
|
*/
|
|
46
49
|
user?: AuthUser;
|
|
50
|
+
/**
|
|
51
|
+
* Pre-update value of the entity
|
|
52
|
+
*/
|
|
47
53
|
preValue?: any;
|
|
48
54
|
};
|
|
49
55
|
export type RuntimeAttribute = {
|
|
@@ -93,9 +99,17 @@ export type FieldInfo = {
|
|
|
93
99
|
* If the field is the owner side of a relation
|
|
94
100
|
*/
|
|
95
101
|
isRelationOwner: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* If the field is a foreign key field
|
|
104
|
+
*/
|
|
105
|
+
isForeignKey: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Mapping from foreign key field names to relation field names
|
|
108
|
+
*/
|
|
109
|
+
foreignKeyMapping?: Record<string, string>;
|
|
96
110
|
};
|
|
97
111
|
export type DbClientContract = Record<string, DbOperations> & {
|
|
98
|
-
$transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T
|
|
112
|
+
$transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T>, options?: unknown) => Promise<T>;
|
|
99
113
|
};
|
|
100
|
-
export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "connect", "disconnect", "delete", "deleteMany"];
|
|
114
|
+
export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "connect", "disconnect", "set", "delete", "deleteMany"];
|
|
101
115
|
export type PrismaWriteActionType = (typeof PrismaWriteActions)[number];
|
package/types.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
exports.PrismaWriteActions = void 0;
|
|
4
5
|
exports.PrismaWriteActions = [
|
|
@@ -10,6 +11,7 @@ exports.PrismaWriteActions = [
|
|
|
10
11
|
'upsert',
|
|
11
12
|
'connect',
|
|
12
13
|
'disconnect',
|
|
14
|
+
'set',
|
|
13
15
|
'delete',
|
|
14
16
|
'deleteMany',
|
|
15
17
|
];
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AA+H1C,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,YAAY;CACN,CAAC"}
|
package/validation.d.ts
CHANGED
|
@@ -17,3 +17,8 @@ export declare function validate(validator: z.ZodType, data: unknown): void;
|
|
|
17
17
|
* @returns
|
|
18
18
|
*/
|
|
19
19
|
export declare function hasAllFields(obj: any, fields: string[]): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Check if the given objects have equal values for the given fields. Returns
|
|
22
|
+
* false if either object is nullish or is not an object.
|
|
23
|
+
*/
|
|
24
|
+
export declare function allFieldsEqual(obj1: any, obj2: any, fields: string[]): boolean;
|
package/validation.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hasAllFields = exports.validate = exports.ValidationError = void 0;
|
|
3
|
+
exports.allFieldsEqual = exports.hasAllFields = exports.validate = exports.ValidationError = void 0;
|
|
4
4
|
const zod_validation_error_1 = require("zod-validation-error");
|
|
5
5
|
/**
|
|
6
6
|
* Error indicating violations of field-level constraints
|
|
@@ -37,4 +37,16 @@ function hasAllFields(obj, fields) {
|
|
|
37
37
|
return fields.every((f) => obj[f] !== undefined && obj[f] !== null);
|
|
38
38
|
}
|
|
39
39
|
exports.hasAllFields = hasAllFields;
|
|
40
|
+
/**
|
|
41
|
+
* Check if the given objects have equal values for the given fields. Returns
|
|
42
|
+
* false if either object is nullish or is not an object.
|
|
43
|
+
*/
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
45
|
+
function allFieldsEqual(obj1, obj2, fields) {
|
|
46
|
+
if (!obj1 || !obj2 || typeof obj1 !== 'object' || typeof obj2 !== 'object') {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
return fields.every((f) => obj1[f] === obj2[f]);
|
|
50
|
+
}
|
|
51
|
+
exports.allFieldsEqual = allFieldsEqual;
|
|
40
52
|
//# sourceMappingURL=validation.js.map
|
package/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AACA,+DAAoD;AAEpD;;GAEG;AACH,MAAa,eAAe;IACxB,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAClD;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAAoB,EAAE,IAAa;IACxD,IAAI;QACA,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,eAAe,CAAC,IAAA,mCAAY,EAAC,GAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;KACtE;AACL,CAAC;AAND,4BAMC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,YAAY,CAAC,GAAQ,EAAE,MAAgB;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AALD,oCAKC"}
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;;AACA,+DAAoD;AAEpD;;GAEG;AACH,MAAa,eAAe;IACxB,YAA4B,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;CAClD;AAFD,0CAEC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAC,SAAoB,EAAE,IAAa;IACxD,IAAI;QACA,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IAAC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,eAAe,CAAC,IAAA,mCAAY,EAAC,GAAiB,CAAC,CAAC,OAAO,CAAC,CAAC;KACtE;AACL,CAAC;AAND,4BAMC;AAED;;;;;GAKG;AACH,8DAA8D;AAC9D,SAAgB,YAAY,CAAC,GAAQ,EAAE,MAAgB;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,EAAE;QACjC,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AALD,oCAKC;AAED;;;GAGG;AACH,8DAA8D;AAC9D,SAAgB,cAAc,CAAC,IAAS,EAAE,IAAS,EAAE,MAAgB;IACjE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QACxE,OAAO,KAAK,CAAC;KAChB;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AALD,wCAKC"}
|
package/version.d.ts
CHANGED
package/version.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getVersion = void 0;
|
|
6
|
+
exports.getPrismaVersion = exports.getVersion = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
4
8
|
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
5
9
|
function getVersion() {
|
|
6
10
|
try {
|
|
@@ -17,4 +21,33 @@ function getVersion() {
|
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
23
|
exports.getVersion = getVersion;
|
|
24
|
+
/**
|
|
25
|
+
* Gets installed Prisma version by first checking "@prisma/client" and if not available,
|
|
26
|
+
* "prisma".
|
|
27
|
+
*/
|
|
28
|
+
function getPrismaVersion() {
|
|
29
|
+
try {
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
31
|
+
return require('@prisma/client/package.json').version;
|
|
32
|
+
}
|
|
33
|
+
catch (_a) {
|
|
34
|
+
try {
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
36
|
+
return require('prisma/package.json').version;
|
|
37
|
+
}
|
|
38
|
+
catch (_b) {
|
|
39
|
+
if (process.env.ZENSTACK_TEST === '1') {
|
|
40
|
+
// test environment
|
|
41
|
+
try {
|
|
42
|
+
return require(path_1.default.resolve('./node_modules/@prisma/client/package.json')).version;
|
|
43
|
+
}
|
|
44
|
+
catch (_c) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.getPrismaVersion = getPrismaVersion;
|
|
20
53
|
//# sourceMappingURL=version.js.map
|
package/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAExB,uDAAuD;AACvD,SAAgB,UAAU;IACtB,IAAI;QACA,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;KAC5C;IAAC,WAAM;QACJ,IAAI;YACA,kBAAkB;YAClB,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;SAC7C;QAAC,WAAM;YACJ,OAAO,SAAS,CAAC;SACpB;KACJ;AACL,CAAC;AAXD,gCAWC;AAED;;;GAGG;AACH,SAAgB,gBAAgB;IAC5B,IAAI;QACA,8DAA8D;QAC9D,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC;KACzD;IAAC,WAAM;QACJ,IAAI;YACA,8DAA8D;YAC9D,OAAO,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC;SACjD;QAAC,WAAM;YACJ,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,EAAE;gBACnC,mBAAmB;gBACnB,IAAI;oBACA,OAAO,OAAO,CAAC,cAAI,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,CAAC,OAAO,CAAC;iBACtF;gBAAC,WAAM;oBACJ,OAAO,SAAS,CAAC;iBACpB;aACJ;YAED,OAAO,SAAS,CAAC;SACpB;KACJ;AACL,CAAC;AArBD,4CAqBC"}
|
package/zod/index.d.ts
CHANGED
package/zod/index.js
CHANGED
package/zod/objects.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '.zenstack/zod/objects';
|
package/zod/objects.js
ADDED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nested-write-vistor.js","sourceRoot":"","sources":["../../src/enhancements/nested-write-vistor.ts"],"names":[],"mappings":"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"}
|