@zenstackhq/server 1.0.0-beta.9 → 1.0.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/api/base.d.ts +42 -1
- package/api/base.js +1 -1
- package/api/base.js.map +1 -1
- package/api/rest/index.d.ts +2 -1
- package/api/rest/index.js +25 -18
- package/api/rest/index.js.map +1 -1
- package/api/rpc/index.d.ts +2 -1
- package/api/rpc/index.js +39 -41
- package/api/rpc/index.js.map +1 -1
- package/api/utils.d.ts +0 -4
- package/api/utils.js +1 -28
- package/api/utils.js.map +1 -1
- package/express/middleware.js +3 -13
- package/express/middleware.js.map +1 -1
- package/fastify/plugin.js +7 -14
- package/fastify/plugin.js.map +1 -1
- package/next/app-route-handler.js +3 -11
- package/next/app-route-handler.js.map +1 -1
- package/next/pages-route-handler.js +3 -11
- package/next/pages-route-handler.js.map +1 -1
- package/package.json +22 -5
- package/shared.d.ts +6 -0
- package/shared.js +23 -0
- package/shared.js.map +1 -0
- package/sveltekit/handler.js +5 -13
- package/sveltekit/handler.js.map +1 -1
- package/types.d.ts +7 -44
package/api/base.d.ts
CHANGED
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
import { ModelMeta } from '@zenstackhq/runtime';
|
|
1
|
+
import { DbClientContract, ModelMeta, ZodSchemas } from '@zenstackhq/runtime';
|
|
2
|
+
import { LoggerConfig } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* API request context
|
|
5
|
+
*/
|
|
6
|
+
export type RequestContext = {
|
|
7
|
+
/**
|
|
8
|
+
* The PrismaClient instance
|
|
9
|
+
*/
|
|
10
|
+
prisma: DbClientContract;
|
|
11
|
+
/**
|
|
12
|
+
* The HTTP method
|
|
13
|
+
*/
|
|
14
|
+
method: string;
|
|
15
|
+
/**
|
|
16
|
+
* The request endpoint path (excluding any prefix)
|
|
17
|
+
*/
|
|
18
|
+
path: string;
|
|
19
|
+
/**
|
|
20
|
+
* The query parameters
|
|
21
|
+
*/
|
|
22
|
+
query?: Record<string, string | string[]>;
|
|
23
|
+
/**
|
|
24
|
+
* The request body object
|
|
25
|
+
*/
|
|
26
|
+
requestBody?: unknown;
|
|
27
|
+
/**
|
|
28
|
+
* Model metadata. By default loaded from the @see loadPath path. You can pass
|
|
29
|
+
* it in explicitly to override.
|
|
30
|
+
*/
|
|
31
|
+
modelMeta?: ModelMeta;
|
|
32
|
+
/**
|
|
33
|
+
* Zod schemas for validating create and update payloads. By default loaded from
|
|
34
|
+
* the @see loadPath path. You can pass it in explicitly to override.
|
|
35
|
+
*/
|
|
36
|
+
zodSchemas?: ZodSchemas;
|
|
37
|
+
/**
|
|
38
|
+
* Logging configuration. Set to `null` to disable logging.
|
|
39
|
+
* If unset or set to `undefined`, log will be output to console.
|
|
40
|
+
*/
|
|
41
|
+
logger?: LoggerConfig;
|
|
42
|
+
};
|
|
2
43
|
/**
|
|
3
44
|
* Base class for API handlers
|
|
4
45
|
*/
|
package/api/base.js
CHANGED
|
@@ -8,7 +8,7 @@ const runtime_1 = require("@zenstackhq/runtime");
|
|
|
8
8
|
class APIHandlerBase {
|
|
9
9
|
constructor() {
|
|
10
10
|
try {
|
|
11
|
-
this.defaultModelMeta = (0, runtime_1.getDefaultModelMeta)();
|
|
11
|
+
this.defaultModelMeta = (0, runtime_1.getDefaultModelMeta)(undefined);
|
|
12
12
|
}
|
|
13
13
|
catch (_a) {
|
|
14
14
|
// noop
|
package/api/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/api/base.ts"],"names":[],"mappings":";;;AAAA,iDAAmG;AAmDnG;;GAEG;AACH,MAAsB,cAAc;IAIhC;QACI,IAAI;YACA,IAAI,CAAC,gBAAgB,GAAG,IAAA,6BAAmB,EAAC,SAAS,CAAC,CAAC;SAC1D;QAAC,WAAM;YACJ,OAAO;SACV;IACL,CAAC;CACJ;AAXD,wCAWC"}
|
package/api/rest/index.d.ts
CHANGED
package/api/rest/index.js
CHANGED
|
@@ -166,7 +166,7 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
166
166
|
return __awaiter(this, void 0, void 0, function* () {
|
|
167
167
|
modelMeta = modelMeta !== null && modelMeta !== void 0 ? modelMeta : this.defaultModelMeta;
|
|
168
168
|
if (!modelMeta) {
|
|
169
|
-
throw new Error('Model
|
|
169
|
+
throw new Error('Model metadata is not provided or loaded from default location');
|
|
170
170
|
}
|
|
171
171
|
if (!this.serializers) {
|
|
172
172
|
this.buildSerializers(modelMeta);
|
|
@@ -528,7 +528,9 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
528
528
|
if (payloadSchema) {
|
|
529
529
|
const parsed = payloadSchema.safeParse(attributes);
|
|
530
530
|
if (!parsed.success) {
|
|
531
|
-
return {
|
|
531
|
+
return {
|
|
532
|
+
error: this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message, undefined, runtime_1.CrudFailureReason.DATA_VALIDATION_VIOLATION, parsed.error),
|
|
533
|
+
};
|
|
532
534
|
}
|
|
533
535
|
}
|
|
534
536
|
}
|
|
@@ -545,7 +547,7 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
545
547
|
return error;
|
|
546
548
|
}
|
|
547
549
|
const createPayload = { data: Object.assign({}, attributes) };
|
|
548
|
-
// turn
|
|
550
|
+
// turn relationship payload into Prisma connect objects
|
|
549
551
|
if (relationships) {
|
|
550
552
|
for (const [key, data] of Object.entries(relationships)) {
|
|
551
553
|
if (!(data === null || data === void 0 ? void 0 : data.data)) {
|
|
@@ -603,7 +605,7 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
603
605
|
// zod-parse payload
|
|
604
606
|
const parsed = this.updateSingleRelationSchema.safeParse(requestBody);
|
|
605
607
|
if (!parsed.success) {
|
|
606
|
-
return this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message);
|
|
608
|
+
return this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message, undefined, runtime_1.CrudFailureReason.DATA_VALIDATION_VIOLATION, parsed.error);
|
|
607
609
|
}
|
|
608
610
|
if (parsed.data.data === null) {
|
|
609
611
|
if (!relationInfo.isOptional) {
|
|
@@ -631,7 +633,7 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
631
633
|
// zod-parse payload
|
|
632
634
|
const parsed = this.updateCollectionRelationSchema.safeParse(requestBody);
|
|
633
635
|
if (!parsed.success) {
|
|
634
|
-
return this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message);
|
|
636
|
+
return this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message, undefined, runtime_1.CrudFailureReason.DATA_VALIDATION_VIOLATION, parsed.error);
|
|
635
637
|
}
|
|
636
638
|
// create -> connect, delete -> disconnect, update -> set
|
|
637
639
|
const relationVerb = mode === 'create' ? 'connect' : mode === 'delete' ? 'disconnect' : 'set';
|
|
@@ -848,7 +850,6 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
848
850
|
if (!serializer) {
|
|
849
851
|
throw new Error(`serializer not found for model ${model}`);
|
|
850
852
|
}
|
|
851
|
-
(0, utils_1.processEntityData)(items);
|
|
852
853
|
// serialize to JSON:API strcuture
|
|
853
854
|
const serialized = yield serializer.serialize(items, options);
|
|
854
855
|
// convert the serialization result to plain object otherwise SuperJSON won't work
|
|
@@ -1252,10 +1253,10 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
1252
1253
|
}
|
|
1253
1254
|
}
|
|
1254
1255
|
handlePrismaError(err) {
|
|
1255
|
-
var _a;
|
|
1256
|
+
var _a, _b;
|
|
1256
1257
|
if ((0, runtime_1.isPrismaClientKnownRequestError)(err)) {
|
|
1257
1258
|
if (err.code === runtime_1.PrismaErrorCode.CONSTRAINED_FAILED) {
|
|
1258
|
-
return this.makeError('forbidden', undefined, 403, (_a = err.meta) === null || _a === void 0 ? void 0 : _a.reason);
|
|
1259
|
+
return this.makeError('forbidden', undefined, 403, (_a = err.meta) === null || _a === void 0 ? void 0 : _a.reason, (_b = err.meta) === null || _b === void 0 ? void 0 : _b.zodErrors);
|
|
1259
1260
|
}
|
|
1260
1261
|
else if (err.code === 'P2025' || err.code === 'P2018') {
|
|
1261
1262
|
return this.makeError('notFound');
|
|
@@ -1282,19 +1283,25 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
1282
1283
|
return this.makeError('unknownError', `${_err.message}\n${_err.stack}`);
|
|
1283
1284
|
}
|
|
1284
1285
|
}
|
|
1285
|
-
makeError(code, detail, status, reason) {
|
|
1286
|
+
makeError(code, detail, status, reason, zodErrors) {
|
|
1287
|
+
const error = {
|
|
1288
|
+
status: status !== null && status !== void 0 ? status : this.errors[code].status,
|
|
1289
|
+
code: (0, change_case_1.paramCase)(code),
|
|
1290
|
+
title: this.errors[code].title,
|
|
1291
|
+
};
|
|
1292
|
+
if (detail) {
|
|
1293
|
+
error.detail = detail;
|
|
1294
|
+
}
|
|
1295
|
+
if (reason) {
|
|
1296
|
+
error.reason = reason;
|
|
1297
|
+
}
|
|
1298
|
+
if (zodErrors) {
|
|
1299
|
+
error.zodErrors = zodErrors;
|
|
1300
|
+
}
|
|
1286
1301
|
return {
|
|
1287
1302
|
status: status !== null && status !== void 0 ? status : this.errors[code].status,
|
|
1288
1303
|
body: {
|
|
1289
|
-
errors: [
|
|
1290
|
-
{
|
|
1291
|
-
status: status !== null && status !== void 0 ? status : this.errors[code].status,
|
|
1292
|
-
code: (0, change_case_1.paramCase)(code),
|
|
1293
|
-
title: this.errors[code].title,
|
|
1294
|
-
detail: detail || this.errors[code].detail,
|
|
1295
|
-
reason,
|
|
1296
|
-
},
|
|
1297
|
-
],
|
|
1304
|
+
errors: [error],
|
|
1298
1305
|
},
|
|
1299
1306
|
};
|
|
1300
1307
|
}
|
package/api/rest/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/rest/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/rest/index.ts"],"names":[],"mappings":"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"}
|
package/api/rpc/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Response } from '../../types';
|
|
2
|
+
import { RequestContext } from '../base';
|
|
2
3
|
export default function makeHandler(): ({ prisma, method, path, query, requestBody, modelMeta, zodSchemas, logger, }: RequestContext) => Promise<Response>;
|
package/api/rpc/index.js
CHANGED
|
@@ -30,16 +30,21 @@ const zod_validation_error_1 = require("zod-validation-error");
|
|
|
30
30
|
const base_1 = require("../base");
|
|
31
31
|
const utils_1 = require("../utils");
|
|
32
32
|
(0, utils_1.registerCustomSerializers)();
|
|
33
|
+
const ERROR_STATUS_MAPPING = {
|
|
34
|
+
[runtime_1.PrismaErrorCode.CONSTRAINED_FAILED]: 403,
|
|
35
|
+
[runtime_1.PrismaErrorCode.REQUIRED_CONNECTED_RECORD_NOT_FOUND]: 404,
|
|
36
|
+
[runtime_1.PrismaErrorCode.DEPEND_ON_RECORD_NOT_FOUND]: 404,
|
|
37
|
+
};
|
|
33
38
|
/**
|
|
34
39
|
* Prisma RPC style API request handler that mirrors the Prisma Client API
|
|
35
40
|
*/
|
|
36
41
|
class RequestHandler extends base_1.APIHandlerBase {
|
|
37
42
|
handleRequest({ prisma, method, path, query, requestBody, modelMeta, zodSchemas, logger, }) {
|
|
38
|
-
var _a, _b;
|
|
43
|
+
var _a, _b, _c;
|
|
39
44
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
45
|
modelMeta = modelMeta !== null && modelMeta !== void 0 ? modelMeta : this.defaultModelMeta;
|
|
41
46
|
if (!modelMeta) {
|
|
42
|
-
throw new Error('Model
|
|
47
|
+
throw new Error('Model metadata is not provided or loaded from default location');
|
|
43
48
|
}
|
|
44
49
|
const parts = path.split('/').filter((p) => !!p);
|
|
45
50
|
const op = parts.pop();
|
|
@@ -83,7 +88,7 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
83
88
|
try {
|
|
84
89
|
args = (query === null || query === void 0 ? void 0 : query.q) ? this.unmarshalQ(query.q, query.meta) : {};
|
|
85
90
|
}
|
|
86
|
-
catch (
|
|
91
|
+
catch (_d) {
|
|
87
92
|
return { status: 400, body: this.makeError('invalid "q" query parameter') };
|
|
88
93
|
}
|
|
89
94
|
break;
|
|
@@ -111,23 +116,22 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
111
116
|
try {
|
|
112
117
|
args = (query === null || query === void 0 ? void 0 : query.q) ? this.unmarshalQ(query.q, query.meta) : {};
|
|
113
118
|
}
|
|
114
|
-
catch (
|
|
119
|
+
catch (_e) {
|
|
115
120
|
return { status: 400, body: this.makeError('invalid "q" query parameter') };
|
|
116
121
|
}
|
|
117
122
|
break;
|
|
118
123
|
default:
|
|
119
124
|
return { status: 400, body: this.makeError('invalid operation: ' + op) };
|
|
120
125
|
}
|
|
121
|
-
const { error, data: parsedArgs } = yield this.processRequestPayload(args, model, dbOp, zodSchemas);
|
|
126
|
+
const { error, zodErrors, data: parsedArgs } = yield this.processRequestPayload(args, model, dbOp, zodSchemas);
|
|
122
127
|
if (error) {
|
|
123
|
-
return { status: 400, body: this.makeError(error) };
|
|
128
|
+
return { status: 400, body: this.makeError(error, runtime_1.CrudFailureReason.DATA_VALIDATION_VIOLATION, zodErrors) };
|
|
124
129
|
}
|
|
125
130
|
try {
|
|
126
131
|
if (!prisma[model]) {
|
|
127
132
|
return { status: 400, body: this.makeError(`unknown model name: ${model}`) };
|
|
128
133
|
}
|
|
129
134
|
const result = yield prisma[model][dbOp](parsedArgs);
|
|
130
|
-
(0, utils_1.processEntityData)(result);
|
|
131
135
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
132
136
|
let response = { data: result };
|
|
133
137
|
// superjson serialize response
|
|
@@ -142,35 +146,14 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
142
146
|
}
|
|
143
147
|
catch (err) {
|
|
144
148
|
if ((0, runtime_1.isPrismaClientKnownRequestError)(err)) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
rejectedByPolicy: true,
|
|
154
|
-
code: err.code,
|
|
155
|
-
message: err.message,
|
|
156
|
-
reason: (_a = err.meta) === null || _a === void 0 ? void 0 : _a.reason,
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
return {
|
|
163
|
-
status: 400,
|
|
164
|
-
body: {
|
|
165
|
-
error: {
|
|
166
|
-
prisma: true,
|
|
167
|
-
code: err.code,
|
|
168
|
-
message: err.message,
|
|
169
|
-
reason: (_b = err.meta) === null || _b === void 0 ? void 0 : _b.reason,
|
|
170
|
-
},
|
|
171
|
-
},
|
|
172
|
-
};
|
|
173
|
-
}
|
|
149
|
+
const status = (_a = ERROR_STATUS_MAPPING[err.code]) !== null && _a !== void 0 ? _a : 400;
|
|
150
|
+
const { error } = this.makeError(err.message, (_b = err.meta) === null || _b === void 0 ? void 0 : _b.reason, (_c = err.meta) === null || _c === void 0 ? void 0 : _c.zodErrors);
|
|
151
|
+
return {
|
|
152
|
+
status,
|
|
153
|
+
body: {
|
|
154
|
+
error: Object.assign(Object.assign({}, error), { prisma: true, code: err.code }),
|
|
155
|
+
},
|
|
156
|
+
};
|
|
174
157
|
}
|
|
175
158
|
else if ((0, runtime_1.isPrismaClientUnknownRequestError)(err) || (0, runtime_1.isPrismaClientValidationError)(err)) {
|
|
176
159
|
(0, utils_1.logError)(logger, err.message);
|
|
@@ -195,8 +178,19 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
195
178
|
}
|
|
196
179
|
});
|
|
197
180
|
}
|
|
198
|
-
makeError(message) {
|
|
199
|
-
|
|
181
|
+
makeError(message, reason, zodErrors) {
|
|
182
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
183
|
+
const error = { message, reason };
|
|
184
|
+
if (reason === runtime_1.CrudFailureReason.ACCESS_POLICY_VIOLATION || reason === runtime_1.CrudFailureReason.RESULT_NOT_READABLE) {
|
|
185
|
+
error.rejectedByPolicy = true;
|
|
186
|
+
}
|
|
187
|
+
if (reason === runtime_1.CrudFailureReason.DATA_VALIDATION_VIOLATION) {
|
|
188
|
+
error.rejectedByValidation = true;
|
|
189
|
+
}
|
|
190
|
+
if (zodErrors) {
|
|
191
|
+
error.zodErrors = zodErrors;
|
|
192
|
+
}
|
|
193
|
+
return { error };
|
|
200
194
|
}
|
|
201
195
|
processRequestPayload(
|
|
202
196
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -220,14 +214,18 @@ class RequestHandler extends base_1.APIHandlerBase {
|
|
|
220
214
|
if (zodSchema) {
|
|
221
215
|
const parseResult = zodSchema.safeParse(args);
|
|
222
216
|
if (parseResult.success) {
|
|
223
|
-
return { data: args, error: undefined };
|
|
217
|
+
return { data: args, error: undefined, zodErrors: undefined };
|
|
224
218
|
}
|
|
225
219
|
else {
|
|
226
|
-
return {
|
|
220
|
+
return {
|
|
221
|
+
data: undefined,
|
|
222
|
+
error: (0, zod_validation_error_1.fromZodError)(parseResult.error).message,
|
|
223
|
+
zodErrors: parseResult.error,
|
|
224
|
+
};
|
|
227
225
|
}
|
|
228
226
|
}
|
|
229
227
|
else {
|
|
230
|
-
return { data: args, error: undefined };
|
|
228
|
+
return { data: args, error: undefined, zodErrors: undefined };
|
|
231
229
|
}
|
|
232
230
|
}
|
|
233
231
|
unmarshalQ(value, meta) {
|
package/api/rpc/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/rpc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/rpc/index.ts"],"names":[],"mappings":"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"}
|
package/api/utils.d.ts
CHANGED
|
@@ -2,10 +2,6 @@ import { LoggerConfig } from '../types';
|
|
|
2
2
|
export declare function logError(logger: LoggerConfig | undefined | null, message: string, code?: string): void;
|
|
3
3
|
export declare function logWarning(logger: LoggerConfig | undefined | null, message: string): void;
|
|
4
4
|
export declare function logInfo(logger: LoggerConfig | undefined | null, message: string): void;
|
|
5
|
-
/**
|
|
6
|
-
* Processes entity data returned from Prisma call.
|
|
7
|
-
*/
|
|
8
|
-
export declare function processEntityData(data: any): void;
|
|
9
5
|
/**
|
|
10
6
|
* Registers custom superjson serializers.
|
|
11
7
|
*/
|
package/api/utils.js
CHANGED
|
@@ -3,9 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.registerCustomSerializers = exports.
|
|
7
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
8
|
-
const runtime_1 = require("@zenstackhq/runtime");
|
|
6
|
+
exports.registerCustomSerializers = exports.logInfo = exports.logWarning = exports.logError = void 0;
|
|
9
7
|
const decimal_js_1 = require("decimal.js");
|
|
10
8
|
const superjson_1 = __importDefault(require("superjson"));
|
|
11
9
|
function logError(logger, message, code) {
|
|
@@ -35,31 +33,6 @@ function logInfo(logger, message) {
|
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
exports.logInfo = logInfo;
|
|
38
|
-
function stripAuxFields(data) {
|
|
39
|
-
if (Array.isArray(data)) {
|
|
40
|
-
return data.forEach(stripAuxFields);
|
|
41
|
-
}
|
|
42
|
-
else if (data && typeof data === 'object') {
|
|
43
|
-
for (const [key, value] of Object.entries(data)) {
|
|
44
|
-
if (runtime_1.AUXILIARY_FIELDS.includes(key)) {
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
-
delete data[key];
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
stripAuxFields(value);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Processes entity data returned from Prisma call.
|
|
56
|
-
*/
|
|
57
|
-
function processEntityData(data) {
|
|
58
|
-
if (data) {
|
|
59
|
-
stripAuxFields(data);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.processEntityData = processEntityData;
|
|
63
36
|
/**
|
|
64
37
|
* Registers custom superjson serializers.
|
|
65
38
|
*/
|
package/api/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/api/utils.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/api/utils.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAqC;AACrC,0DAAkC;AAGlC,SAAgB,QAAQ,CAAC,MAAuC,EAAE,OAAe,EAAE,IAAa;IAC5F,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;KAC1F;SAAM,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,EAAE;QACtB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KAC/B;AACL,CAAC;AAND,4BAMC;AAED,SAAgB,UAAU,CAAC,MAAuC,EAAE,OAAe;IAC/E,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,CAAC,IAAI,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;KAClD;SAAM,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxB;AACL,CAAC;AAND,gCAMC;AAED,SAAgB,OAAO,CAAC,MAAuC,EAAE,OAAe;IAC5E,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,CAAC,GAAG,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;KACjD;SAAM,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxB;AACL,CAAC;AAND,0BAMC;AAED;;GAEG;AACH,SAAgB,yBAAyB;IACrC,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,SAAS,CACZ,CAAC;IAEF,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,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC;KAC/C,EACD,OAAO,CACV,CAAC;AACN,CAAC;AAlBD,8DAkBC"}
|
package/express/middleware.js
CHANGED
|
@@ -13,22 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const rpc_1 = __importDefault(require("../api/rpc"));
|
|
16
|
+
const shared_1 = require("../shared");
|
|
16
17
|
/**
|
|
17
18
|
* Creates an Express middleware for handling CRUD requests.
|
|
18
19
|
*/
|
|
19
20
|
const factory = (options) => {
|
|
20
|
-
|
|
21
|
-
if (typeof options.zodSchemas === 'object') {
|
|
22
|
-
zodSchemas = options.zodSchemas;
|
|
23
|
-
}
|
|
24
|
-
else if (options.zodSchemas === true) {
|
|
25
|
-
try {
|
|
26
|
-
zodSchemas = require('@zenstackhq/runtime/zod');
|
|
27
|
-
}
|
|
28
|
-
catch (_a) {
|
|
29
|
-
throw new Error('Unable to load zod schemas from default location');
|
|
30
|
-
}
|
|
31
|
-
}
|
|
21
|
+
const { modelMeta, zodSchemas } = (0, shared_1.loadAssets)(options);
|
|
32
22
|
const requestHandler = options.handler || (0, rpc_1.default)();
|
|
33
23
|
if (options.useSuperJson !== undefined) {
|
|
34
24
|
console.warn('The option "useSuperJson" is deprecated. The server APIs automatically use superjson for serialization.');
|
|
@@ -55,7 +45,7 @@ const factory = (options) => {
|
|
|
55
45
|
query,
|
|
56
46
|
requestBody: request.body,
|
|
57
47
|
prisma,
|
|
58
|
-
modelMeta
|
|
48
|
+
modelMeta,
|
|
59
49
|
zodSchemas,
|
|
60
50
|
logger: options.logger,
|
|
61
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/express/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/express/middleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,qDAAuC;AACvC,sCAAuC;AAwBvC;;GAEG;AACH,MAAM,OAAO,GAAG,CAAC,OAA0B,EAAW,EAAE;IACpD,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,aAAa,GAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;QACpC,OAAO,CAAC,IAAI,CACR,yGAAyG,CAC5G,CAAC;KACL;IAED,OAAO,CAAO,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAqB,CAAC;QAChF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;QAEjC,IAAI,YAAY,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAChE;QAED,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;SAC9F;QAED,qEAAqE;QACrE,gEAAgE;QAChE,2EAA2E;QAC3E,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;QACjF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAE/C,IAAI;YACA,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC;gBAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,KAAK;gBACL,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,MAAM;gBACN,SAAS;gBACT,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,YAAY,KAAK,KAAK,EAAE;gBACxB,0DAA0D;gBAC1D,QAAQ,CAAC,MAAM,GAAG;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;iBACf,CAAC;gBACF,OAAO,IAAI,EAAE,CAAC;aACjB;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,YAAY,KAAK,KAAK,EAAE;gBACxB,MAAM,GAAG,CAAC;aACb;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,GAAG,EAAE,EAAE,CAAC,CAAC;SACxF;IACL,CAAC,CAAA,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
package/fastify/plugin.js
CHANGED
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
const fastify_plugin_1 = __importDefault(require("fastify-plugin"));
|
|
16
16
|
const rpc_1 = __importDefault(require("../api/rpc"));
|
|
17
17
|
const utils_1 = require("../api/utils");
|
|
18
|
+
const shared_1 = require("../shared");
|
|
18
19
|
/**
|
|
19
20
|
* Fastify plugin for handling CRUD requests.
|
|
20
21
|
*/
|
|
@@ -22,17 +23,8 @@ const pluginHandler = (fastify, options, done) => {
|
|
|
22
23
|
var _a, _b;
|
|
23
24
|
const prefix = (_a = options.prefix) !== null && _a !== void 0 ? _a : '';
|
|
24
25
|
(0, utils_1.logInfo)(options.logger, `ZenStackPlugin installing routes at prefix: ${prefix}`);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
zodSchemas = options.zodSchemas;
|
|
28
|
-
}
|
|
29
|
-
else if (options.zodSchemas === true) {
|
|
30
|
-
zodSchemas = require('@zenstackhq/runtime/zod');
|
|
31
|
-
if (!zodSchemas) {
|
|
32
|
-
throw new Error('Unable to load zod schemas from default location');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
const requestHanler = (_b = options.handler) !== null && _b !== void 0 ? _b : (0, rpc_1.default)();
|
|
26
|
+
const { modelMeta, zodSchemas } = (0, shared_1.loadAssets)(options);
|
|
27
|
+
const requestHandler = (_b = options.handler) !== null && _b !== void 0 ? _b : (0, rpc_1.default)();
|
|
36
28
|
if (options.useSuperJson !== undefined) {
|
|
37
29
|
console.warn('The option "useSuperJson" is deprecated. The server APIs automatically use superjson for serialization.');
|
|
38
30
|
}
|
|
@@ -40,16 +32,16 @@ const pluginHandler = (fastify, options, done) => {
|
|
|
40
32
|
const prisma = (yield options.getPrisma(request, reply));
|
|
41
33
|
if (!prisma) {
|
|
42
34
|
reply.status(500).send({ message: 'unable to get prisma from request context' });
|
|
43
|
-
return;
|
|
35
|
+
return reply;
|
|
44
36
|
}
|
|
45
37
|
try {
|
|
46
|
-
const response = yield
|
|
38
|
+
const response = yield requestHandler({
|
|
47
39
|
method: request.method,
|
|
48
40
|
path: request.params['*'],
|
|
49
41
|
query: request.query,
|
|
50
42
|
requestBody: request.body,
|
|
51
43
|
prisma,
|
|
52
|
-
modelMeta
|
|
44
|
+
modelMeta,
|
|
53
45
|
zodSchemas,
|
|
54
46
|
logger: options.logger,
|
|
55
47
|
});
|
|
@@ -58,6 +50,7 @@ const pluginHandler = (fastify, options, done) => {
|
|
|
58
50
|
catch (err) {
|
|
59
51
|
reply.status(500).send({ message: `An unhandled error occurred: ${err}` });
|
|
60
52
|
}
|
|
53
|
+
return reply;
|
|
61
54
|
}));
|
|
62
55
|
done();
|
|
63
56
|
};
|
package/fastify/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/fastify/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/fastify/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,oEAAgC;AAChC,qDAAuC;AACvC,wCAAuC;AACvC,sCAAuC;AAkBvC;;GAEG;AACH,MAAM,aAAa,GAAyC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;;IACnF,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC;IACpC,IAAA,eAAO,EAAC,OAAO,CAAC,MAAM,EAAE,+CAA+C,MAAM,EAAE,CAAC,CAAC;IAEjF,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAA,aAAa,GAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;QACpC,OAAO,CAAC,IAAI,CACR,yGAAyG,CAC5G,CAAC;KACL;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,IAAI,EAAE,CAAO,OAAO,EAAE,KAAK,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAqB,CAAC;QAC7E,IAAI,CAAC,MAAM,EAAE;YACT,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;YACjF,OAAO,KAAK,CAAC;SAChB;QAED,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC;gBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,IAAI,EAAG,OAAO,CAAC,MAAc,CAAC,GAAG,CAAC;gBAClC,KAAK,EAAE,OAAO,CAAC,KAA0C;gBACzD,WAAW,EAAE,OAAO,CAAC,IAAI;gBACzB,MAAM;gBACN,SAAS;gBACT,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrD;QAAC,OAAO,GAAG,EAAE;YACV,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC9E;QAED,OAAO,KAAK,CAAC;IACjB,CAAC,CAAA,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,kBAAe,IAAA,wBAAE,EAAC,aAAa,CAAC,CAAC"}
|
|
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
const server_1 = require("next/server");
|
|
17
17
|
const rpc_1 = __importDefault(require("../api/rpc"));
|
|
18
|
+
const shared_1 = require("../shared");
|
|
18
19
|
/**
|
|
19
20
|
* Creates a Next.js 13 "app dir" API route request handler which encapsulates Prisma CRUD operations.
|
|
20
21
|
*
|
|
@@ -22,16 +23,7 @@ const rpc_1 = __importDefault(require("../api/rpc"));
|
|
|
22
23
|
* @returns An API route request handler
|
|
23
24
|
*/
|
|
24
25
|
function factory(options) {
|
|
25
|
-
|
|
26
|
-
if (typeof options.zodSchemas === 'object') {
|
|
27
|
-
zodSchemas = options.zodSchemas;
|
|
28
|
-
}
|
|
29
|
-
else if (options.zodSchemas === true) {
|
|
30
|
-
zodSchemas = require('@zenstackhq/runtime/zod');
|
|
31
|
-
if (!zodSchemas) {
|
|
32
|
-
throw new Error('Unable to load zod schemas from default location');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
26
|
+
const { modelMeta, zodSchemas } = (0, shared_1.loadAssets)(options);
|
|
35
27
|
const requestHandler = options.handler || (0, rpc_1.default)();
|
|
36
28
|
if (options.useSuperJson !== undefined) {
|
|
37
29
|
console.warn('The option "useSuperJson" is deprecated. The server APIs automatically use superjson for serialization.');
|
|
@@ -65,7 +57,7 @@ function factory(options) {
|
|
|
65
57
|
query,
|
|
66
58
|
requestBody,
|
|
67
59
|
prisma,
|
|
68
|
-
modelMeta
|
|
60
|
+
modelMeta,
|
|
69
61
|
zodSchemas,
|
|
70
62
|
logger: options.logger,
|
|
71
63
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-route-handler.js","sourceRoot":"","sources":["../../src/next/app-route-handler.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"app-route-handler.js","sourceRoot":"","sources":["../../src/next/app-route-handler.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;;;;;;;;;;;;AAG7D,wCAAwD;AAExD,qDAAuC;AACvC,sCAAuC;AAIvC;;;;;GAKG;AACH,SAAwB,OAAO,CAC3B,OAAsC;IAEtC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,aAAa,GAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;QACpC,OAAO,CAAC,IAAI,CACR,yGAAyG,CAC5G,CAAC;KACL;IAED,OAAO,CAAO,GAAgB,EAAE,OAAgB,EAAE,EAAE;QAChD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAqB,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE;YACT,OAAO,qBAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;SACvG;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YACtB,OAAO,qBAAY,CAAC,IAAI,CACpB,EAAE,OAAO,EAAE,wBAAwB,EAAE,EACrC;gBACI,MAAM,EAAE,GAAG;aACd,CACJ,CAAC;SACL;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,WAAoB,CAAC;QACzB,IAAI,GAAG,CAAC,IAAI,EAAE;YACV,IAAI;gBACA,WAAW,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;aAClC;YAAC,WAAM;gBACJ,OAAO;aACV;SACJ;QAED,IAAI;YACA,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAO;gBACnB,IAAI;gBACJ,KAAK;gBACL,WAAW;gBACX,MAAM;gBACN,SAAS;gBACT,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,OAAO,qBAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;SAC1D;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,qBAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;SACjG;IACL,CAAC,CAAA,CAAC;AACN,CAAC;AAxDD,0BAwDC"}
|
|
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
};
|
|
15
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
16
|
const rpc_1 = __importDefault(require("../api/rpc"));
|
|
17
|
+
const shared_1 = require("../shared");
|
|
17
18
|
/**
|
|
18
19
|
* Creates a Next.js API endpoint (traditional "pages" route) request handler which encapsulates Prisma CRUD operations.
|
|
19
20
|
*
|
|
@@ -21,16 +22,7 @@ const rpc_1 = __importDefault(require("../api/rpc"));
|
|
|
21
22
|
* @returns An API endpoint request handler
|
|
22
23
|
*/
|
|
23
24
|
function factory(options) {
|
|
24
|
-
|
|
25
|
-
if (typeof options.zodSchemas === 'object') {
|
|
26
|
-
zodSchemas = options.zodSchemas;
|
|
27
|
-
}
|
|
28
|
-
else if (options.zodSchemas === true) {
|
|
29
|
-
zodSchemas = require('@zenstackhq/runtime/zod');
|
|
30
|
-
if (!zodSchemas) {
|
|
31
|
-
throw new Error('Unable to load zod schemas from default location');
|
|
32
|
-
}
|
|
33
|
-
}
|
|
25
|
+
const { modelMeta, zodSchemas } = (0, shared_1.loadAssets)(options);
|
|
34
26
|
const requestHandler = options.handler || (0, rpc_1.default)();
|
|
35
27
|
if (options.useSuperJson !== undefined) {
|
|
36
28
|
console.warn('The option "useSuperJson" is deprecated. The server APIs automatically use superjson for serialization.');
|
|
@@ -53,7 +45,7 @@ function factory(options) {
|
|
|
53
45
|
query: req.query,
|
|
54
46
|
requestBody: req.body,
|
|
55
47
|
prisma,
|
|
56
|
-
modelMeta
|
|
48
|
+
modelMeta,
|
|
57
49
|
zodSchemas,
|
|
58
50
|
logger: options.logger,
|
|
59
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-route-handler.js","sourceRoot":"","sources":["../../src/next/pages-route-handler.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"pages-route-handler.js","sourceRoot":"","sources":["../../src/next/pages-route-handler.ts"],"names":[],"mappings":";AAAA,6DAA6D;;;;;;;;;;;;;;AAK7D,qDAAuC;AACvC,sCAAuC;AAEvC;;;;;GAKG;AACH,SAAwB,OAAO,CAC3B,OAAwC;IAExC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,IAAI,IAAA,aAAa,GAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;QACpC,OAAO,CAAC,IAAI,CACR,yGAAyG,CAC5G,CAAC;KACL;IAED,OAAO,CAAO,GAAmB,EAAE,GAAoB,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAqB,CAAC;QACvE,IAAI,CAAC,MAAM,EAAE;YACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,CAAC;YAC/E,OAAO;SACV;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE;YACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC5D,OAAO;SACV;QACD,MAAM,IAAI,GAAI,GAAG,CAAC,KAAK,CAAC,IAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI;YACA,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC;gBAC3B,MAAM,EAAE,GAAG,CAAC,MAAO;gBACnB,IAAI;gBACJ,KAAK,EAAE,GAAG,CAAC,KAA0C;gBACrD,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,MAAM;gBACN,SAAS;gBACT,UAAU;gBACV,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACrC;QAAC,OAAO,GAAG,EAAE;YACV,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gCAAgC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC5E;IACL,CAAC,CAAA,CAAC;AACN,CAAC;AAzCD,0BAyCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zenstackhq/server",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"displayName": "ZenStack Server-side Adapters",
|
|
5
5
|
"description": "ZenStack server-side adapters",
|
|
6
6
|
"homepage": "https://zenstack.dev",
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
"linkDirectory": true
|
|
10
10
|
},
|
|
11
11
|
"keywords": [
|
|
12
|
-
"fastify"
|
|
12
|
+
"fastify",
|
|
13
|
+
"express",
|
|
14
|
+
"nextjs",
|
|
15
|
+
"sveltekit",
|
|
16
|
+
"nuxtjs"
|
|
13
17
|
],
|
|
14
18
|
"author": "",
|
|
15
19
|
"license": "MIT",
|
|
@@ -23,14 +27,15 @@
|
|
|
23
27
|
"url-pattern": "^1.0.3",
|
|
24
28
|
"zod": "3.21.1",
|
|
25
29
|
"zod-validation-error": "^0.2.1",
|
|
26
|
-
"@zenstackhq/
|
|
27
|
-
"@zenstackhq/
|
|
30
|
+
"@zenstackhq/runtime": "1.0.1",
|
|
31
|
+
"@zenstackhq/openapi": "1.0.1"
|
|
28
32
|
},
|
|
29
33
|
"devDependencies": {
|
|
30
34
|
"@sveltejs/kit": "1.21.0",
|
|
31
35
|
"@types/body-parser": "^1.19.2",
|
|
32
36
|
"@types/express": "^4.17.17",
|
|
33
37
|
"@types/jest": "^29.5.0",
|
|
38
|
+
"@types/node": "^18.0.0",
|
|
34
39
|
"@types/supertest": "^2.0.12",
|
|
35
40
|
"body-parser": "^1.20.2",
|
|
36
41
|
"copyfiles": "^2.4.1",
|
|
@@ -45,7 +50,19 @@
|
|
|
45
50
|
"supertest": "^6.3.3",
|
|
46
51
|
"ts-jest": "^29.0.5",
|
|
47
52
|
"typescript": "^4.9.4",
|
|
48
|
-
"@zenstackhq/testtools": "1.0.
|
|
53
|
+
"@zenstackhq/testtools": "1.0.1"
|
|
54
|
+
},
|
|
55
|
+
"exports": {
|
|
56
|
+
"./package.json": "./package.json",
|
|
57
|
+
"./api/rest": "./api/rest/index.js",
|
|
58
|
+
"./api/rpc": "./api/rpc/index.js",
|
|
59
|
+
"./express": "./express/index.js",
|
|
60
|
+
"./fastify": "./fastify/index.js",
|
|
61
|
+
"./next/app-route-handler": "./next/app-route-handler.js",
|
|
62
|
+
"./next": "./next/index.js",
|
|
63
|
+
"./next/pages-route-handler": "./next/pages-route-handler.js",
|
|
64
|
+
"./sveltekit": "./sveltekit/index.js",
|
|
65
|
+
"./types": "./types.js"
|
|
49
66
|
},
|
|
50
67
|
"scripts": {
|
|
51
68
|
"clean": "rimraf dist",
|
package/shared.d.ts
ADDED
package/shared.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.loadAssets = void 0;
|
|
4
|
+
const runtime_1 = require("@zenstackhq/runtime");
|
|
5
|
+
function loadAssets(options) {
|
|
6
|
+
var _a;
|
|
7
|
+
// model metadata
|
|
8
|
+
const modelMeta = (_a = options.modelMeta) !== null && _a !== void 0 ? _a : (0, runtime_1.getDefaultModelMeta)(options.loadPath);
|
|
9
|
+
// zod schemas
|
|
10
|
+
let zodSchemas;
|
|
11
|
+
if (typeof options.zodSchemas === 'object') {
|
|
12
|
+
zodSchemas = options.zodSchemas;
|
|
13
|
+
}
|
|
14
|
+
else if (options.zodSchemas === true) {
|
|
15
|
+
zodSchemas = (0, runtime_1.getDefaultZodSchemas)(options.loadPath);
|
|
16
|
+
if (!zodSchemas) {
|
|
17
|
+
throw new Error('Unable to load zod schemas from default location');
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return { modelMeta, zodSchemas };
|
|
21
|
+
}
|
|
22
|
+
exports.loadAssets = loadAssets;
|
|
23
|
+
//# sourceMappingURL=shared.js.map
|
package/shared.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":";;;AAAA,iDAA4F;AAG5F,SAAgB,UAAU,CAAC,OAA2B;;IAClD,iBAAiB;IACjB,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAA,6BAAmB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7E,cAAc;IACd,IAAI,UAAkC,CAAC;IACvC,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE;QACxC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;KACnC;SAAM,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE;QACpC,UAAU,GAAG,IAAA,8BAAoB,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACvE;KACJ;IAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC;AAhBD,gCAgBC"}
|
package/sveltekit/handler.js
CHANGED
|
@@ -14,23 +14,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
const rpc_1 = __importDefault(require("../api/rpc"));
|
|
16
16
|
const utils_1 = require("../api/utils");
|
|
17
|
+
const shared_1 = require("../shared");
|
|
17
18
|
/**
|
|
18
19
|
* SvelteKit server hooks handler for handling CRUD requests.
|
|
19
20
|
*/
|
|
20
21
|
function createHandler(options) {
|
|
21
22
|
var _a;
|
|
22
23
|
(0, utils_1.logInfo)(options.logger, `ZenStackHandler installing routes at prefix: ${options.prefix}`);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
zodSchemas = options.zodSchemas;
|
|
26
|
-
}
|
|
27
|
-
else if (options.zodSchemas === true) {
|
|
28
|
-
zodSchemas = require('@zenstackhq/runtime/zod');
|
|
29
|
-
if (!zodSchemas) {
|
|
30
|
-
throw new Error('Unable to load zod schemas from default location');
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
const requestHanler = (_a = options.handler) !== null && _a !== void 0 ? _a : (0, rpc_1.default)();
|
|
24
|
+
const { modelMeta, zodSchemas } = (0, shared_1.loadAssets)(options);
|
|
25
|
+
const requestHandler = (_a = options.handler) !== null && _a !== void 0 ? _a : (0, rpc_1.default)();
|
|
34
26
|
if (options.useSuperJson !== undefined) {
|
|
35
27
|
console.warn('The option "useSuperJson" is deprecated. The server APIs automatically use superjson for serialization.');
|
|
36
28
|
}
|
|
@@ -55,14 +47,14 @@ function createHandler(options) {
|
|
|
55
47
|
}
|
|
56
48
|
const path = event.url.pathname.substring(options.prefix.length);
|
|
57
49
|
try {
|
|
58
|
-
const r = yield
|
|
50
|
+
const r = yield requestHandler({
|
|
59
51
|
method: event.request.method,
|
|
60
52
|
path,
|
|
61
53
|
query,
|
|
62
54
|
requestBody,
|
|
63
55
|
prisma,
|
|
56
|
+
modelMeta,
|
|
64
57
|
zodSchemas,
|
|
65
|
-
modelMeta: options.modelMeta,
|
|
66
58
|
});
|
|
67
59
|
return new Response(JSON.stringify(r.body), {
|
|
68
60
|
status: r.status,
|
package/sveltekit/handler.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/sveltekit/handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/sveltekit/handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,qDAAuC;AACvC,wCAAuC;AACvC,sCAAuC;AAkBvC;;GAEG;AACH,SAAwB,aAAa,CAAC,OAAuB;;IACzD,IAAA,eAAO,EAAC,OAAO,CAAC,MAAM,EAAE,gDAAgD,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE1F,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAA,mBAAU,EAAC,OAAO,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAA,aAAa,GAAE,CAAC;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE;QACpC,OAAO,CAAC,IAAI,CACR,yGAAyG,CAC5G,CAAC;KACL;IAED,OAAO,CAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QAChC,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC/C,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAqB,CAAC;YACpE,IAAI,CAAC,MAAM,EAAE;gBACT,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC,EAAE;oBAC1F,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;qBACrC;iBACJ,CAAC,CAAC;aACN;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,WAAoB,CAAC;YACzB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;gBACpB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxC,IAAI,IAAI,EAAE;oBACN,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAClC;aACJ;YAED,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAEjE,IAAI;gBACA,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC;oBAC3B,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;oBAC5B,IAAI;oBACJ,KAAK;oBACL,WAAW;oBACX,MAAM;oBACN,SAAS;oBACT,UAAU;iBACb,CAAC,CAAC;gBAEH,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;oBACxC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;qBACrC;iBACJ,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,gCAAgC,GAAG,EAAE,EAAE,CAAC,EAAE;oBACpF,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE;wBACL,cAAc,EAAE,kBAAkB;qBACrC;iBACJ,CAAC,CAAC;aACN;SACJ;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC,CAAA,CAAC;AACN,CAAC;AAhED,gCAgEC"}
|
package/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ModelMeta, ZodSchemas } from '@zenstackhq/runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { RequestContext } from './api/base';
|
|
3
3
|
type LoggerMethod = (message: string, code?: string) => void;
|
|
4
4
|
/**
|
|
5
5
|
* Logger config.
|
|
@@ -10,49 +10,6 @@ export type LoggerConfig = {
|
|
|
10
10
|
warn?: LoggerMethod;
|
|
11
11
|
error?: LoggerMethod;
|
|
12
12
|
};
|
|
13
|
-
/**
|
|
14
|
-
* API request context
|
|
15
|
-
*/
|
|
16
|
-
export type RequestContext = {
|
|
17
|
-
/**
|
|
18
|
-
* The PrismaClient instance
|
|
19
|
-
*/
|
|
20
|
-
prisma: DbClientContract;
|
|
21
|
-
/**
|
|
22
|
-
* The HTTP method
|
|
23
|
-
*/
|
|
24
|
-
method: string;
|
|
25
|
-
/**
|
|
26
|
-
* The request endpoint path (excluding any prefix)
|
|
27
|
-
*/
|
|
28
|
-
path: string;
|
|
29
|
-
/**
|
|
30
|
-
* The query parameters
|
|
31
|
-
*/
|
|
32
|
-
query?: Record<string, string | string[]>;
|
|
33
|
-
/**
|
|
34
|
-
* The request body object
|
|
35
|
-
*/
|
|
36
|
-
requestBody?: unknown;
|
|
37
|
-
/**
|
|
38
|
-
* Model metadata. By default loaded from the standard output location
|
|
39
|
-
* of the `@zenstackhq/model-meta` plugin. You can pass it in explicitly
|
|
40
|
-
* if you configured the plugin to output to a different location.
|
|
41
|
-
*/
|
|
42
|
-
modelMeta?: ModelMeta;
|
|
43
|
-
/**
|
|
44
|
-
* Zod schemas for validating create and update payloads. By default
|
|
45
|
-
* loaded from the standard output location of the `@zenstackhq/zod`
|
|
46
|
-
* plugin. You can pass it in explicitly if you configured the plugin
|
|
47
|
-
* to output to a different location.
|
|
48
|
-
*/
|
|
49
|
-
zodSchemas?: ZodSchemas;
|
|
50
|
-
/**
|
|
51
|
-
* Logging configuration. Set to `null` to disable logging.
|
|
52
|
-
* If unset or set to `undefined`, log will be output to console.
|
|
53
|
-
*/
|
|
54
|
-
logger?: LoggerConfig;
|
|
55
|
-
};
|
|
56
13
|
/**
|
|
57
14
|
* API response
|
|
58
15
|
*/
|
|
@@ -83,6 +40,10 @@ export interface AdapterBaseOptions {
|
|
|
83
40
|
* (need to enable `@core/zod` plugin in schema.zmodel) or omit to disable input validation.
|
|
84
41
|
*/
|
|
85
42
|
zodSchemas?: ZodSchemas | boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Path to load model metadata and zod schemas from. Defaults to `node_modules/.zenstack`.
|
|
45
|
+
*/
|
|
46
|
+
loadPath?: string;
|
|
86
47
|
/**
|
|
87
48
|
* Api request handler function. Can be created using `@zenstackhq/server/api/rest` or `@zenstackhq/server/api/rpc` factory functions.
|
|
88
49
|
* Defaults to RPC-style API handler created with `/api/rpc`.
|
|
@@ -90,6 +51,8 @@ export interface AdapterBaseOptions {
|
|
|
90
51
|
handler?: HandleRequestFn;
|
|
91
52
|
/**
|
|
92
53
|
* Whether to use superjson for serialization/deserialization. Defaults to `false`.
|
|
54
|
+
*
|
|
55
|
+
* @deprecated Not needed anymore and will be removed in a future release.
|
|
93
56
|
*/
|
|
94
57
|
useSuperJson?: boolean;
|
|
95
58
|
}
|