@zenstackhq/runtime 0.6.0-pre.2 → 1.0.0-alpha.19

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.
Files changed (120) hide show
  1. package/constants.d.ts +4 -0
  2. package/constants.js +8 -0
  3. package/constants.js.map +1 -0
  4. package/enhancements/index.d.ts +4 -0
  5. package/enhancements/index.js +21 -0
  6. package/enhancements/index.js.map +1 -0
  7. package/enhancements/model-meta.d.ts +9 -0
  8. package/enhancements/model-meta.js +25 -0
  9. package/enhancements/model-meta.js.map +1 -0
  10. package/enhancements/nested-write-vistor.d.ts +65 -0
  11. package/enhancements/nested-write-vistor.js +155 -0
  12. package/enhancements/nested-write-vistor.js.map +1 -0
  13. package/enhancements/omit.d.ts +5 -0
  14. package/enhancements/omit.js +60 -0
  15. package/enhancements/omit.js.map +1 -0
  16. package/enhancements/password.d.ts +5 -0
  17. package/enhancements/password.js +66 -0
  18. package/enhancements/password.js.map +1 -0
  19. package/enhancements/policy/handler.d.ts +36 -0
  20. package/enhancements/policy/handler.js +278 -0
  21. package/enhancements/policy/handler.js.map +1 -0
  22. package/enhancements/policy/index.d.ts +17 -0
  23. package/enhancements/policy/index.js +31 -0
  24. package/enhancements/policy/index.js.map +1 -0
  25. package/{lib/proxy → enhancements/policy}/logger.d.ts +3 -0
  26. package/{lib/proxy → enhancements/policy}/logger.js +4 -0
  27. package/enhancements/policy/logger.js.map +1 -0
  28. package/enhancements/policy/policy-utils.d.ts +78 -0
  29. package/enhancements/policy/policy-utils.js +575 -0
  30. package/enhancements/policy/policy-utils.js.map +1 -0
  31. package/enhancements/preset.d.ts +16 -0
  32. package/enhancements/preset.js +24 -0
  33. package/enhancements/preset.js.map +1 -0
  34. package/enhancements/proxy.d.ts +75 -0
  35. package/enhancements/proxy.js +196 -0
  36. package/enhancements/proxy.js.map +1 -0
  37. package/enhancements/types.d.ts +24 -0
  38. package/{lib/config.js → enhancements/types.js} +1 -1
  39. package/enhancements/types.js.map +1 -0
  40. package/enhancements/utils.d.ts +16 -0
  41. package/enhancements/utils.js +31 -0
  42. package/enhancements/utils.js.map +1 -0
  43. package/error.d.ts +10 -0
  44. package/error.js +17 -0
  45. package/error.js.map +1 -0
  46. package/index.d.ts +5 -0
  47. package/{lib/index.js → index.js} +3 -4
  48. package/index.js.map +1 -0
  49. package/package.json +5 -4
  50. package/{lib/serialization-utils.d.ts → serialization-utils.d.ts} +0 -0
  51. package/{lib/serialization-utils.js → serialization-utils.js} +0 -0
  52. package/serialization-utils.js.map +1 -0
  53. package/types.d.ts +73 -0
  54. package/types.js +14 -0
  55. package/types.js.map +1 -0
  56. package/{lib/validation.d.ts → validation.d.ts} +0 -0
  57. package/{lib/validation.js → validation.js} +0 -0
  58. package/validation.js.map +1 -0
  59. package/{lib/version.d.ts → version.d.ts} +0 -0
  60. package/{lib/version.js → version.js} +6 -1
  61. package/version.js.map +1 -0
  62. package/client/index.d.ts +0 -3
  63. package/client/index.js +0 -11
  64. package/lib/config.d.ts +0 -14
  65. package/lib/config.js.map +0 -1
  66. package/lib/constants.d.ts +0 -12
  67. package/lib/constants.js +0 -16
  68. package/lib/constants.js.map +0 -1
  69. package/lib/handler/data/crud.d.ts +0 -17
  70. package/lib/handler/data/crud.js +0 -255
  71. package/lib/handler/data/crud.js.map +0 -1
  72. package/lib/handler/data/handler.d.ts +0 -20
  73. package/lib/handler/data/handler.js +0 -150
  74. package/lib/handler/data/handler.js.map +0 -1
  75. package/lib/handler/data/nested-write-vistor.d.ts +0 -31
  76. package/lib/handler/data/nested-write-vistor.js +0 -67
  77. package/lib/handler/data/nested-write-vistor.js.map +0 -1
  78. package/lib/handler/data/policy-utils.d.ts +0 -73
  79. package/lib/handler/data/policy-utils.js +0 -447
  80. package/lib/handler/data/policy-utils.js.map +0 -1
  81. package/lib/handler/index.d.ts +0 -1
  82. package/lib/handler/index.js +0 -9
  83. package/lib/handler/index.js.map +0 -1
  84. package/lib/handler/types.d.ts +0 -28
  85. package/lib/handler/types.js +0 -36
  86. package/lib/handler/types.js.map +0 -1
  87. package/lib/index.d.ts +0 -6
  88. package/lib/index.js.map +0 -1
  89. package/lib/policy.d.ts +0 -11
  90. package/lib/policy.js +0 -10
  91. package/lib/policy.js.map +0 -1
  92. package/lib/proxy/handler.d.ts +0 -37
  93. package/lib/proxy/handler.js +0 -333
  94. package/lib/proxy/handler.js.map +0 -1
  95. package/lib/proxy/logger.js.map +0 -1
  96. package/lib/proxy/nested-write-vistor.d.ts +0 -30
  97. package/lib/proxy/nested-write-vistor.js +0 -69
  98. package/lib/proxy/nested-write-vistor.js.map +0 -1
  99. package/lib/proxy/policy-utils.d.ts +0 -78
  100. package/lib/proxy/policy-utils.js +0 -508
  101. package/lib/proxy/policy-utils.js.map +0 -1
  102. package/lib/request-handler.d.ts +0 -21
  103. package/lib/request-handler.js +0 -37
  104. package/lib/request-handler.js.map +0 -1
  105. package/lib/request.d.ts +0 -37
  106. package/lib/request.js +0 -164
  107. package/lib/request.js.map +0 -1
  108. package/lib/serialization-utils.js.map +0 -1
  109. package/lib/service.d.ts +0 -32
  110. package/lib/service.js +0 -184
  111. package/lib/service.js.map +0 -1
  112. package/lib/types.d.ts +0 -185
  113. package/lib/types.js +0 -71
  114. package/lib/types.js.map +0 -1
  115. package/lib/validation.js.map +0 -1
  116. package/lib/version.js.map +0 -1
  117. package/server/index.d.ts +0 -16
  118. package/server/index.js +0 -6
  119. package/types/index.d.ts +0 -1
  120. package/types/index.js +0 -3
@@ -0,0 +1,75 @@
1
+ import { DbClientContract } from '../types';
2
+ import { ModelMeta } from './types';
3
+ /**
4
+ * Prisma batch write operation result
5
+ */
6
+ export type BatchResult = {
7
+ count: number;
8
+ };
9
+ /**
10
+ * Interface for proxy that intercepts Prisma operations.
11
+ */
12
+ export interface PrismaProxyHandler {
13
+ findUnique(args: any): Promise<unknown | null>;
14
+ findUniqueOrThrow(args: any): Promise<unknown>;
15
+ findFirst(args: any): Promise<unknown | null>;
16
+ findFirstOrThrow(args: any): Promise<unknown>;
17
+ findMany(args: any): Promise<unknown[]>;
18
+ create(args: any): Promise<unknown>;
19
+ createMany(args: any, skipDuplicates?: boolean): Promise<BatchResult>;
20
+ update(args: any): Promise<unknown>;
21
+ updateMany(args: any): Promise<BatchResult>;
22
+ upsert(args: any): Promise<unknown>;
23
+ delete(args: any): Promise<unknown>;
24
+ deleteMany(args: any): Promise<BatchResult>;
25
+ aggregate(args: any): Promise<unknown>;
26
+ groupBy(args: any): Promise<unknown>;
27
+ count(args: any): Promise<unknown | number>;
28
+ }
29
+ /**
30
+ * All Prisma operation names
31
+ */
32
+ export type PrismaProxyActions = keyof PrismaProxyHandler;
33
+ /**
34
+ * A default implementation of @see PrismaProxyHandler which directly
35
+ * delegates to the wrapped Prisma client. It offers a few overridable
36
+ * methods to allow more easily inject custom logic.
37
+ */
38
+ export declare class DefaultPrismaProxyHandler implements PrismaProxyHandler {
39
+ protected readonly prisma: DbClientContract;
40
+ protected readonly model: string;
41
+ constructor(prisma: DbClientContract, model: string);
42
+ findUnique(args: any): Promise<unknown>;
43
+ findUniqueOrThrow(args: any): Promise<unknown>;
44
+ findFirst(args: any): Promise<unknown>;
45
+ findFirstOrThrow(args: any): Promise<unknown>;
46
+ findMany(args: any): Promise<unknown[]>;
47
+ create(args: any): Promise<unknown>;
48
+ createMany(args: any, skipDuplicates?: boolean | undefined): Promise<{
49
+ count: number;
50
+ }>;
51
+ update(args: any): Promise<unknown>;
52
+ updateMany(args: any): Promise<{
53
+ count: number;
54
+ }>;
55
+ upsert(args: any): Promise<unknown>;
56
+ delete(args: any): Promise<unknown>;
57
+ deleteMany(args: any): Promise<{
58
+ count: number;
59
+ }>;
60
+ aggregate(args: any): Promise<unknown>;
61
+ groupBy(args: any): Promise<unknown>;
62
+ count(args: any): Promise<unknown>;
63
+ /**
64
+ * Processes result entities before they're returned
65
+ */
66
+ protected processResultEntity<T>(data: T): Promise<T>;
67
+ /**
68
+ * Processes query args before they're passed to Prisma.
69
+ */
70
+ protected preprocessArgs(method: PrismaProxyActions, args: any): Promise<any>;
71
+ }
72
+ /**
73
+ * Makes a Prisma client proxy.
74
+ */
75
+ export declare function makeProxy<T extends PrismaProxyHandler>(prisma: any, modelMeta: ModelMeta, makeHandler: (prisma: object, model: string) => T, name?: string, inTransaction?: boolean): any;
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
+ return new (P || (P = Promise))(function (resolve, reject) {
6
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
10
+ });
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.makeProxy = exports.DefaultPrismaProxyHandler = void 0;
14
+ /**
15
+ * A default implementation of @see PrismaProxyHandler which directly
16
+ * delegates to the wrapped Prisma client. It offers a few overridable
17
+ * methods to allow more easily inject custom logic.
18
+ */
19
+ class DefaultPrismaProxyHandler {
20
+ constructor(prisma, model) {
21
+ this.prisma = prisma;
22
+ this.model = model;
23
+ }
24
+ findUnique(args) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ args = yield this.preprocessArgs('findUnique', args);
27
+ const r = yield this.prisma[this.model].findUnique(args);
28
+ return this.processResultEntity(r);
29
+ });
30
+ }
31
+ findUniqueOrThrow(args) {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ args = yield this.preprocessArgs('findUniqueOrThrow', args);
34
+ const r = yield this.prisma[this.model].findUniqueOrThrow(args);
35
+ return this.processResultEntity(r);
36
+ });
37
+ }
38
+ findFirst(args) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ args = yield this.preprocessArgs('findFirst', args);
41
+ const r = this.prisma[this.model].findFirst(args);
42
+ return this.processResultEntity(r);
43
+ });
44
+ }
45
+ findFirstOrThrow(args) {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ args = yield this.preprocessArgs('findFirstOrThrow', args);
48
+ const r = yield this.prisma[this.model].findFirstOrThrow(args);
49
+ return this.processResultEntity(r);
50
+ });
51
+ }
52
+ findMany(args) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ args = yield this.preprocessArgs('findMany', args);
55
+ const r = yield this.prisma[this.model].findMany(args);
56
+ return this.processResultEntity(r);
57
+ });
58
+ }
59
+ create(args) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ args = yield this.preprocessArgs('create', args);
62
+ const r = yield this.prisma[this.model].create(args);
63
+ return this.processResultEntity(r);
64
+ });
65
+ }
66
+ createMany(args, skipDuplicates) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ args = yield this.preprocessArgs('createMany', args);
69
+ return this.prisma[this.model].createMany(args, skipDuplicates);
70
+ });
71
+ }
72
+ update(args) {
73
+ return __awaiter(this, void 0, void 0, function* () {
74
+ args = yield this.preprocessArgs('update', args);
75
+ const r = this.prisma[this.model].update(args);
76
+ return this.processResultEntity(r);
77
+ });
78
+ }
79
+ updateMany(args) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ args = yield this.preprocessArgs('updateMany', args);
82
+ return this.prisma[this.model].updateMany(args);
83
+ });
84
+ }
85
+ upsert(args) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ args = yield this.preprocessArgs('upsert', args);
88
+ const r = this.prisma[this.model].upsert(args);
89
+ return this.processResultEntity(r);
90
+ });
91
+ }
92
+ delete(args) {
93
+ return __awaiter(this, void 0, void 0, function* () {
94
+ args = yield this.preprocessArgs('delete', args);
95
+ const r = this.prisma[this.model].delete(args);
96
+ return this.processResultEntity(r);
97
+ });
98
+ }
99
+ deleteMany(args) {
100
+ return __awaiter(this, void 0, void 0, function* () {
101
+ args = yield this.preprocessArgs('deleteMany', args);
102
+ return this.prisma[this.model].deleteMany(args);
103
+ });
104
+ }
105
+ aggregate(args) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ args = yield this.preprocessArgs('aggregate', args);
108
+ return this.prisma[this.model].aggregate(args);
109
+ });
110
+ }
111
+ groupBy(args) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ args = yield this.preprocessArgs('groupBy', args);
114
+ return this.prisma[this.model].groupBy(args);
115
+ });
116
+ }
117
+ count(args) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ args = yield this.preprocessArgs('count', args);
120
+ return this.prisma[this.model].count(args);
121
+ });
122
+ }
123
+ /**
124
+ * Processes result entities before they're returned
125
+ */
126
+ processResultEntity(data) {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ return data;
129
+ });
130
+ }
131
+ /**
132
+ * Processes query args before they're passed to Prisma.
133
+ */
134
+ preprocessArgs(method, args) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ return args;
137
+ });
138
+ }
139
+ }
140
+ exports.DefaultPrismaProxyHandler = DefaultPrismaProxyHandler;
141
+ /**
142
+ * Makes a Prisma client proxy.
143
+ */
144
+ function makeProxy(prisma, modelMeta, makeHandler, name = 'unnamed_enhancer', inTransaction = false) {
145
+ const models = Object.keys(modelMeta.fields);
146
+ const proxy = new Proxy(prisma, {
147
+ get: (target, prop, receiver) => {
148
+ // enhancer metadata
149
+ if (prop === '__zenstack_enhancer') {
150
+ return name;
151
+ }
152
+ // transaction metadata
153
+ if (prop === '__zenstack_tx') {
154
+ return inTransaction;
155
+ }
156
+ if (prop === '$transaction') {
157
+ // for interactive transactions, we need to proxy the transaction function so that
158
+ // when it runs the callback, it provides a proxy to the Prisma client wrapped with
159
+ // the same handler
160
+ //
161
+ // TODO: batch transaction is not supported yet, how?
162
+ const $transaction = Reflect.get(target, prop, receiver);
163
+ if ($transaction) {
164
+ return (input, ...rest) => {
165
+ if (Array.isArray(input)) {
166
+ throw new Error('Sequential operations transaction is not supported by ZenStack enhanced Prisma client. Please use interactive transaction instead.');
167
+ }
168
+ else if (typeof input !== 'function') {
169
+ throw new Error('A function value input is expected');
170
+ }
171
+ const txFunc = input;
172
+ return $transaction.bind(target)((tx) => {
173
+ const txProxy = makeProxy(tx, modelMeta, makeHandler, name + '$tx', true);
174
+ return txFunc(txProxy);
175
+ }, ...rest);
176
+ };
177
+ }
178
+ else {
179
+ return $transaction;
180
+ }
181
+ }
182
+ if (typeof prop !== 'string' || prop.startsWith('$') || !models.includes(prop)) {
183
+ // skip non-model fields
184
+ return Reflect.get(target, prop, receiver);
185
+ }
186
+ const propVal = Reflect.get(target, prop, receiver);
187
+ if (!propVal) {
188
+ return undefined;
189
+ }
190
+ return makeHandler(target, prop);
191
+ },
192
+ });
193
+ return proxy;
194
+ }
195
+ exports.makeProxy = makeProxy;
196
+ //# sourceMappingURL=proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/enhancements/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { z } from 'zod';
2
+ import { FieldInfo, PolicyOperationKind, QueryContext } from '../types';
3
+ /**
4
+ * ZModel data model metadata
5
+ */
6
+ export type ModelMeta = {
7
+ fields: Record<string, Record<string, FieldInfo>>;
8
+ };
9
+ /**
10
+ * Function for getting policy guard with a given context
11
+ */
12
+ export type PolicyFunc = (context: QueryContext) => object;
13
+ /**
14
+ * Policy definition
15
+ */
16
+ export type PolicyDef = {
17
+ guard: Record<string, {
18
+ allowAll?: boolean;
19
+ denyAll?: boolean;
20
+ } & Partial<Record<PolicyOperationKind, PolicyFunc>> & {
21
+ preValueSelect?: object;
22
+ }>;
23
+ schema: Record<string, z.ZodSchema>;
24
+ };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=config.js.map
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/enhancements/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Wraps a value into array if it's not already one
3
+ */
4
+ export declare function ensureArray<T>(value: T): T[];
5
+ /**
6
+ * Gets field names in a data model entity, filtering out internal fields.
7
+ */
8
+ export declare function getModelFields(data: object): string[];
9
+ /**
10
+ * Array or scalar
11
+ */
12
+ export type Enumerable<T> = T | Array<T>;
13
+ /**
14
+ * Uniformly enumerates an array or scalar.
15
+ */
16
+ export declare function enumerate<T>(x: Enumerable<T>): T[];
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enumerate = exports.getModelFields = exports.ensureArray = void 0;
4
+ const sdk_1 = require("@zenstackhq/sdk");
5
+ /**
6
+ * Wraps a value into array if it's not already one
7
+ */
8
+ function ensureArray(value) {
9
+ return Array.isArray(value) ? value : [value];
10
+ }
11
+ exports.ensureArray = ensureArray;
12
+ /**
13
+ * Gets field names in a data model entity, filtering out internal fields.
14
+ */
15
+ function getModelFields(data) {
16
+ return Object.keys(data).filter((f) => !sdk_1.AUXILIARY_FIELDS.includes(f));
17
+ }
18
+ exports.getModelFields = getModelFields;
19
+ /**
20
+ * Uniformly enumerates an array or scalar.
21
+ */
22
+ function enumerate(x) {
23
+ if (Array.isArray(x)) {
24
+ return x;
25
+ }
26
+ else {
27
+ return [x];
28
+ }
29
+ }
30
+ exports.enumerate = enumerate;
31
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/enhancements/utils.ts"],"names":[],"mappings":";;;AAAA,yCAAmD;AAEnD;;GAEG;AACH,SAAgB,WAAW,CAAI,KAAQ;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAFD,kCAEC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,IAAY;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAFD,wCAEC;AAOD;;GAEG;AACH,SAAgB,SAAS,CAAI,CAAgB;IACzC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAClB,OAAO,CAAC,CAAC;KACZ;SAAM;QACH,OAAO,CAAC,CAAC,CAAC,CAAC;KACd;AACL,CAAC;AAND,8BAMC"}
package/error.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ export declare function isPrismaClientKnownRequestError(err: any): err is {
2
+ code: string;
3
+ message: string;
4
+ };
5
+ export declare function isPrismaClientUnknownRequestError(err: any): err is {
6
+ message: string;
7
+ };
8
+ export declare function isPrismaClientValidationError(err: any): err is {
9
+ message: string;
10
+ };
package/error.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPrismaClientValidationError = exports.isPrismaClientUnknownRequestError = exports.isPrismaClientKnownRequestError = void 0;
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ function isPrismaClientKnownRequestError(err) {
6
+ return err.__proto__.constructor.name === 'PrismaClientKnownRequestError';
7
+ }
8
+ exports.isPrismaClientKnownRequestError = isPrismaClientKnownRequestError;
9
+ function isPrismaClientUnknownRequestError(err) {
10
+ return err.__proto__.constructor.name === 'PrismaClientUnknownRequestError';
11
+ }
12
+ exports.isPrismaClientUnknownRequestError = isPrismaClientUnknownRequestError;
13
+ function isPrismaClientValidationError(err) {
14
+ return err.__proto__.constructor.name === 'PrismaClientValidationError';
15
+ }
16
+ exports.isPrismaClientValidationError = isPrismaClientValidationError;
17
+ //# sourceMappingURL=error.js.map
package/error.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,+BAA+B,CAAC,GAAQ;IACpD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,+BAA+B,CAAC;AAC9E,CAAC;AAFD,0EAEC;AAED,SAAgB,iCAAiC,CAAC,GAAQ;IACtD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,iCAAiC,CAAC;AAChF,CAAC;AAFD,8EAEC;AAED,SAAgB,6BAA6B,CAAC,GAAQ;IAClD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,KAAK,6BAA6B,CAAC;AAC5E,CAAC;AAFD,sEAEC"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ export * from './enhancements';
2
+ export * from './enhancements/policy';
3
+ export * from './types';
4
+ export * from './validation';
5
+ export * from './error';
@@ -14,10 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./enhancements"), exports);
18
+ __exportStar(require("./enhancements/policy"), exports);
17
19
  __exportStar(require("./types"), exports);
18
- __exportStar(require("./config"), exports);
19
- __exportStar(require("./service"), exports);
20
- __exportStar(require("./request-handler"), exports);
21
20
  __exportStar(require("./validation"), exports);
22
- __exportStar(require("./policy"), exports);
21
+ __exportStar(require("./error"), exports);
23
22
  //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,wDAAsC;AACtC,0CAAwB;AACxB,+CAA6B;AAC7B,0CAAwB"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zenstackhq/runtime",
3
3
  "displayName": "ZenStack Runtime Library",
4
- "version": "0.6.0-pre.2",
4
+ "version": "1.0.0-alpha.19",
5
5
  "description": "Runtime of ZenStack for both client-side and server-side environments.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -23,13 +23,14 @@
23
23
  "swr": "^1.3.0",
24
24
  "tslib": "^2.4.1",
25
25
  "zod": "^3.19.1",
26
- "zod-validation-error": "^0.2.1"
26
+ "zod-validation-error": "^0.2.1",
27
+ "@zenstackhq/sdk": "1.0.0-alpha.19"
27
28
  },
28
29
  "peerDependencies": {
29
30
  "next": "^12.3.1 || ^13",
30
31
  "react": "^17.0.2 || ^18",
31
32
  "react-dom": "^17.0.2 || ^18",
32
- "@prisma/client": "^4.7.1"
33
+ "@prisma/client": "^4.0.0"
33
34
  },
34
35
  "author": {
35
36
  "name": "ZenStack Team"
@@ -45,7 +46,7 @@
45
46
  },
46
47
  "scripts": {
47
48
  "clean": "rimraf dist",
48
- "build": "pnpm lint && pnpm clean && tsc && cp -r pre/* dist/ && cp ./package.json ./README.md dist/",
49
+ "build": "pnpm lint && pnpm clean && tsc && cp ./package.json ./README.md ../../LICENSE dist/",
49
50
  "watch": "tsc --watch",
50
51
  "lint": "eslint src --ext ts",
51
52
  "publish-dev": "pnpm publish --tag dev"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization-utils.js","sourceRoot":"","sources":["../src/serialization-utils.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAiC;AACjC,0DAAkC;AAElC,SAAgB,mBAAmB;IAC/B,mBAAS,CAAC,cAAc,CACpB;QACI,YAAY,EAAE,CAAC,CAAC,EAAe,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjD,EACD,QAAQ,CACX,CAAC;IACF,mBAAS,CAAC,cAAc,CACpB;QACI,YAAY,EAAE,CAAC,CAAC,EAAgB,EAAE,CAAC,oBAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACvD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE;QAC5B,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,oBAAO,CAAC,CAAC,CAAC;KACrC,EACD,YAAY,CACf,CAAC;AACN,CAAC;AAjBD,kDAiBC"}
package/types.d.ts ADDED
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Weakly-typed database access methods
3
+ */
4
+ export interface DbOperations {
5
+ findMany(args?: unknown): Promise<unknown[]>;
6
+ findFirst(args: unknown): Promise<unknown>;
7
+ findFirstOrThrow(args: unknown): Promise<unknown>;
8
+ findUnique(args: unknown): Promise<unknown>;
9
+ findUniqueOrThrow(args: unknown): Promise<unknown>;
10
+ create(args: unknown): Promise<unknown>;
11
+ createMany(args: unknown, skipDuplicates?: boolean): Promise<{
12
+ count: number;
13
+ }>;
14
+ update(args: unknown): Promise<unknown>;
15
+ updateMany(args: unknown): Promise<{
16
+ count: number;
17
+ }>;
18
+ upsert(args: unknown): Promise<unknown>;
19
+ delete(args: unknown): Promise<unknown>;
20
+ deleteMany(args?: unknown): Promise<{
21
+ count: number;
22
+ }>;
23
+ aggregate(args: unknown): Promise<unknown>;
24
+ groupBy(args: unknown): Promise<unknown>;
25
+ count(args?: unknown): Promise<unknown>;
26
+ }
27
+ /**
28
+ * Kinds of access policy
29
+ */
30
+ export type PolicyKind = 'allow' | 'deny';
31
+ /**
32
+ * Kinds of operations controlled by access policies
33
+ */
34
+ export type PolicyOperationKind = 'create' | 'update' | 'postUpdate' | 'read' | 'delete';
35
+ /**
36
+ * Current login user info
37
+ */
38
+ export type AuthUser = Record<string, unknown>;
39
+ /**
40
+ * Context for database query
41
+ */
42
+ export type QueryContext = {
43
+ /**
44
+ * Current login user (provided by @see RequestHandlerOptions)
45
+ */
46
+ user?: AuthUser;
47
+ preValue?: any;
48
+ };
49
+ export type RuntimeAttribute = {
50
+ name: string;
51
+ args: Array<{
52
+ name?: string;
53
+ value: unknown;
54
+ }>;
55
+ };
56
+ /**
57
+ * Runtime information of a data model field
58
+ */
59
+ export type FieldInfo = {
60
+ name: string;
61
+ type: string;
62
+ isId: boolean;
63
+ isDataModel: boolean;
64
+ isArray: boolean;
65
+ isOptional: boolean;
66
+ attributes: RuntimeAttribute[];
67
+ backLink?: string;
68
+ };
69
+ export type DbClientContract = Record<string, DbOperations> & {
70
+ $transaction: <T>(action: (tx: Record<string, DbOperations>) => Promise<T>) => Promise<T>;
71
+ };
72
+ export declare const PrismaWriteActions: readonly ["create", "createMany", "connectOrCreate", "update", "updateMany", "upsert", "delete", "deleteMany"];
73
+ export type PrismaWriteActionType = typeof PrismaWriteActions[number];
package/types.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrismaWriteActions = void 0;
4
+ exports.PrismaWriteActions = [
5
+ 'create',
6
+ 'createMany',
7
+ 'connectOrCreate',
8
+ 'update',
9
+ 'updateMany',
10
+ 'upsert',
11
+ 'delete',
12
+ 'deleteMany',
13
+ ];
14
+ //# sourceMappingURL=types.js.map
package/types.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAwEa,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,YAAY;IACZ,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,YAAY;CACN,CAAC"}
File without changes
File without changes
@@ -0,0 +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"}
File without changes
@@ -3,7 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getVersion = void 0;
4
4
  /* eslint-disable @typescript-eslint/no-var-requires */
5
5
  function getVersion() {
6
- return require('../package.json').version;
6
+ try {
7
+ return require('./package.json').version;
8
+ }
9
+ catch (_a) {
10
+ return require('../package.json').version;
11
+ }
7
12
  }
8
13
  exports.getVersion = getVersion;
9
14
  //# sourceMappingURL=version.js.map
package/version.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,UAAU;IACtB,IAAI;QACA,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC;KAC5C;IAAC,WAAM;QACJ,OAAO,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;KAC7C;AACL,CAAC;AAND,gCAMC"}
package/client/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export { HooksError, ServerErrorCode, RequestOptions } from '../lib/types';
2
- export * as request from '../lib/request';
3
- export * from '../lib/validation';
package/client/index.js DELETED
@@ -1,11 +0,0 @@
1
- // needed for importing from client-side code
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
-
4
- const request = require('../lib/request');
5
- const types = require('../lib/types');
6
-
7
- module.exports = {
8
- ...require('../lib/validation'),
9
- ServerErrorCode: types.ServerErrorCode,
10
- request,
11
- };
package/lib/config.d.ts DELETED
@@ -1,14 +0,0 @@
1
- import { LogLevel } from './types';
2
- /**
3
- * Logging config definition
4
- */
5
- export type LogDefinition = {
6
- level: LogLevel;
7
- emit: 'stdout' | 'event';
8
- };
9
- /**
10
- * Service configuration
11
- */
12
- export interface ServiceConfig {
13
- log?: Array<LogLevel | LogDefinition>;
14
- }
package/lib/config.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- /**
2
- * Auxiliary database field for supporting policy check for nested writes
3
- */
4
- export declare const TRANSACTION_FIELD_NAME = "zenstack_transaction";
5
- /**
6
- * Auxiliary database field for building up policy check queries
7
- */
8
- export declare const GUARD_FIELD_NAME = "zenstack_guard";
9
- /**
10
- * Default length of password hash salt (used by bcryptjs to hash password)
11
- */
12
- export declare const DEFAULT_PASSWORD_SALT_LENGTH = 12;