@zenstackhq/server 1.0.0-beta.8 → 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/api/base.d.ts ADDED
@@ -0,0 +1,49 @@
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
+ };
43
+ /**
44
+ * Base class for API handlers
45
+ */
46
+ export declare abstract class APIHandlerBase {
47
+ protected readonly defaultModelMeta: ModelMeta | undefined;
48
+ constructor();
49
+ }
package/api/base.js ADDED
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIHandlerBase = void 0;
4
+ const runtime_1 = require("@zenstackhq/runtime");
5
+ /**
6
+ * Base class for API handlers
7
+ */
8
+ class APIHandlerBase {
9
+ constructor() {
10
+ try {
11
+ this.defaultModelMeta = (0, runtime_1.getDefaultModelMeta)(undefined);
12
+ }
13
+ catch (_a) {
14
+ // noop
15
+ }
16
+ }
17
+ }
18
+ exports.APIHandlerBase = APIHandlerBase;
19
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
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"}
@@ -1,4 +1,5 @@
1
- import { RequestContext, Response } from '../../types';
1
+ import { Response } from '../../types';
2
+ import { RequestContext } from '../base';
2
3
  /**
3
4
  * Request handler options
4
5
  */
@@ -16,4 +17,4 @@ export type Options = {
16
17
  */
17
18
  pageSize?: number;
18
19
  };
19
- export default function makeHandler(options: Options): ({ prisma, method, path, query, requestBody, logger, modelMeta, }: RequestContext) => Promise<Response>;
20
+ export default function makeHandler(options: Options): ({ prisma, method, path, query, requestBody, logger, modelMeta, zodSchemas, }: RequestContext) => Promise<Response>;
package/api/rest/index.js CHANGED
@@ -12,15 +12,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- /* eslint-disable @typescript-eslint/no-explicit-any */
16
15
  const runtime_1 = require("@zenstackhq/runtime");
17
- const model_meta_1 = require("@zenstackhq/runtime/enhancements/model-meta");
18
16
  const change_case_1 = require("change-case");
19
17
  const lower_case_first_1 = require("lower-case-first");
18
+ const superjson_1 = __importDefault(require("superjson"));
20
19
  const ts_japi_1 = require("ts-japi");
20
+ const upper_case_first_1 = require("upper-case-first");
21
21
  const url_pattern_1 = __importDefault(require("url-pattern"));
22
22
  const zod_1 = __importDefault(require("zod"));
23
23
  const zod_validation_error_1 = require("zod-validation-error");
24
+ const base_1 = require("../base");
24
25
  const utils_1 = require("../utils");
25
26
  const urlPatterns = {
26
27
  // collection operations
@@ -54,11 +55,13 @@ const FilterOperations = [
54
55
  'hasSome',
55
56
  'isEmpty',
56
57
  ];
58
+ (0, utils_1.registerCustomSerializers)();
57
59
  /**
58
60
  * RESTful-style API request handler (compliant with JSON:API)
59
61
  */
60
- class RequestHandler {
62
+ class RequestHandler extends base_1.APIHandlerBase {
61
63
  constructor(options) {
64
+ super();
62
65
  this.options = options;
63
66
  // error responses
64
67
  this.errors = {
@@ -147,6 +150,7 @@ class RequestHandler {
147
150
  }))
148
151
  .optional(),
149
152
  }),
153
+ meta: zod_1.default.object({}).passthrough().optional(),
150
154
  })
151
155
  .strict();
152
156
  // zod schema for updating a single relationship
@@ -157,20 +161,18 @@ class RequestHandler {
157
161
  this.updateCollectionRelationSchema = zod_1.default.object({
158
162
  data: zod_1.default.array(zod_1.default.object({ type: zod_1.default.string(), id: zod_1.default.union([zod_1.default.string(), zod_1.default.number()]) })),
159
163
  });
160
- try {
161
- this.defaultModelMeta = (0, model_meta_1.getDefaultModelMeta)();
162
- }
163
- catch (_a) {
164
- // noop
165
- }
166
164
  }
167
- handleRequest({ prisma, method, path, query, requestBody, logger, modelMeta, }) {
165
+ handleRequest({ prisma, method, path, query, requestBody, logger, modelMeta, zodSchemas, }) {
168
166
  return __awaiter(this, void 0, void 0, function* () {
167
+ modelMeta = modelMeta !== null && modelMeta !== void 0 ? modelMeta : this.defaultModelMeta;
168
+ if (!modelMeta) {
169
+ throw new Error('Model metadata is not provided or loaded from default location');
170
+ }
169
171
  if (!this.serializers) {
170
- this.buildSerializers(modelMeta !== null && modelMeta !== void 0 ? modelMeta : this.defaultModelMeta);
172
+ this.buildSerializers(modelMeta);
171
173
  }
172
174
  if (!this.typeMap) {
173
- this.buildTypeMap(logger, modelMeta !== null && modelMeta !== void 0 ? modelMeta : this.defaultModelMeta);
175
+ this.buildTypeMap(logger, modelMeta);
174
176
  }
175
177
  method = method.toUpperCase();
176
178
  if (!path.startsWith('/')) {
@@ -192,7 +194,7 @@ class RequestHandler {
192
194
  match = urlPatterns.relationship.match(path);
193
195
  if (match) {
194
196
  // read relationship
195
- return yield this.processReadRelationship(prisma, match.type, match.id, match.relationship, query, modelMeta !== null && modelMeta !== void 0 ? modelMeta : this.defaultModelMeta);
197
+ return yield this.processReadRelationship(prisma, match.type, match.id, match.relationship, query, modelMeta);
196
198
  }
197
199
  match = urlPatterns.collection.match(path);
198
200
  if (match) {
@@ -202,10 +204,13 @@ class RequestHandler {
202
204
  return this.makeError('invalidPath');
203
205
  }
204
206
  case 'POST': {
207
+ if (!requestBody) {
208
+ return this.makeError('invalidPayload');
209
+ }
205
210
  let match = urlPatterns.collection.match(path);
206
211
  if (match) {
207
212
  // resource creation
208
- return yield this.processCreate(prisma, match.type, query, requestBody /*, zodSchemas */);
213
+ return yield this.processCreate(prisma, match.type, query, requestBody, zodSchemas);
209
214
  }
210
215
  match = urlPatterns.relationship.match(path);
211
216
  if (match) {
@@ -217,10 +222,13 @@ class RequestHandler {
217
222
  // TODO: PUT for full update
218
223
  case 'PUT':
219
224
  case 'PATCH': {
225
+ if (!requestBody) {
226
+ return this.makeError('invalidPayload');
227
+ }
220
228
  let match = urlPatterns.single.match(path);
221
229
  if (match) {
222
230
  // resource update
223
- return yield this.processUpdate(prisma, match.type, match.id, query, requestBody /*, zodSchemas */);
231
+ return yield this.processUpdate(prisma, match.type, match.id, query, requestBody, zodSchemas);
224
232
  }
225
233
  match = urlPatterns.relationship.match(path);
226
234
  if (match) {
@@ -504,35 +512,42 @@ class RequestHandler {
504
512
  : null,
505
513
  }));
506
514
  }
507
- processCreate(prisma, type, _query, requestBody
508
- // zodSchemas?: ModelZodSchema
509
- ) {
515
+ processRequestBody(type, requestBody, zodSchemas, mode) {
510
516
  var _a, _b;
517
+ let body = requestBody;
518
+ if ((_a = body.meta) === null || _a === void 0 ? void 0 : _a.serialization) {
519
+ // superjson deserialize body if a serialization meta is provided
520
+ body = superjson_1.default.deserialize({ json: body, meta: body.meta.serialization });
521
+ }
522
+ const parsed = this.createUpdatePayloadSchema.parse(body);
523
+ const attributes = parsed.data.attributes;
524
+ if (attributes) {
525
+ const schemaName = `${(0, upper_case_first_1.upperCaseFirst)(type)}${(0, upper_case_first_1.upperCaseFirst)(mode)}Schema`;
526
+ // zod-parse attributes if a schema is provided
527
+ const payloadSchema = (_b = zodSchemas === null || zodSchemas === void 0 ? void 0 : zodSchemas.models) === null || _b === void 0 ? void 0 : _b[schemaName];
528
+ if (payloadSchema) {
529
+ const parsed = payloadSchema.safeParse(attributes);
530
+ if (!parsed.success) {
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
+ };
534
+ }
535
+ }
536
+ }
537
+ return { attributes, relationships: parsed.data.relationships };
538
+ }
539
+ processCreate(prisma, type, _query, requestBody, zodSchemas) {
511
540
  return __awaiter(this, void 0, void 0, function* () {
512
541
  const typeInfo = this.typeMap[type];
513
542
  if (!typeInfo) {
514
543
  return this.makeUnsupportedModelError(type);
515
544
  }
516
- // zod-parse payload
517
- const parsed = this.createUpdatePayloadSchema.safeParse(requestBody);
518
- if (!parsed.success) {
519
- return this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message);
520
- }
521
- const parsedPayload = parsed.data;
522
- const createPayload = { data: Object.assign({}, (_a = parsedPayload.data) === null || _a === void 0 ? void 0 : _a.attributes) };
523
- // TODO: we need to somehow exclude relation fields from the zod schema because relations are
524
- // not part of "data" in the payload
525
- //
526
- // // zod-parse attributes if a schema is provided
527
- // const dataSchema = zodSchemas ? getZodSchema(zodSchemas, type, 'create') : undefined;
528
- // if (dataSchema) {
529
- // const dataParsed = dataSchema.safeParse(createPayload);
530
- // if (!dataParsed.success) {
531
- // return this.makeError('invalidPayload', fromZodError(dataParsed.error).message);
532
- // }
533
- // }
534
- // turn relashionship payload into Prisma connect objects
535
- const relationships = (_b = parsedPayload.data) === null || _b === void 0 ? void 0 : _b.relationships;
545
+ const { error, attributes, relationships } = this.processRequestBody(type, requestBody, zodSchemas, 'create');
546
+ if (error) {
547
+ return error;
548
+ }
549
+ const createPayload = { data: Object.assign({}, attributes) };
550
+ // turn relationship payload into Prisma connect objects
536
551
  if (relationships) {
537
552
  for (const [key, data] of Object.entries(relationships)) {
538
553
  if (!(data === null || data === void 0 ? void 0 : data.data)) {
@@ -590,7 +605,7 @@ class RequestHandler {
590
605
  // zod-parse payload
591
606
  const parsed = this.updateSingleRelationSchema.safeParse(requestBody);
592
607
  if (!parsed.success) {
593
- 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);
594
609
  }
595
610
  if (parsed.data.data === null) {
596
611
  if (!relationInfo.isOptional) {
@@ -618,7 +633,7 @@ class RequestHandler {
618
633
  // zod-parse payload
619
634
  const parsed = this.updateCollectionRelationSchema.safeParse(requestBody);
620
635
  if (!parsed.success) {
621
- 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);
622
637
  }
623
638
  // create -> connect, delete -> disconnect, update -> set
624
639
  const relationVerb = mode === 'create' ? 'connect' : mode === 'delete' ? 'disconnect' : 'set';
@@ -643,42 +658,21 @@ class RequestHandler {
643
658
  };
644
659
  });
645
660
  }
646
- processUpdate(prisma, type, resourceId, query, requestBody
647
- // zodSchemas?: ModelZodSchema
648
- ) {
649
- var _a, _b;
661
+ processUpdate(prisma, type, resourceId, _query, requestBody, zodSchemas) {
650
662
  return __awaiter(this, void 0, void 0, function* () {
651
663
  const typeInfo = this.typeMap[type];
652
664
  if (!typeInfo) {
653
665
  return this.makeUnsupportedModelError(type);
654
666
  }
655
- // zod-parse payload
656
- const parsed = this.createUpdatePayloadSchema.safeParse(requestBody);
657
- if (!parsed.success) {
658
- return this.makeError('invalidPayload', (0, zod_validation_error_1.fromZodError)(parsed.error).message);
659
- }
660
- const parsedPayload = parsed.data;
661
- const attributes = (_a = parsedPayload.data) === null || _a === void 0 ? void 0 : _a.attributes;
662
- if (!attributes) {
663
- return this.makeError('invalidPayload');
667
+ const { error, attributes, relationships } = this.processRequestBody(type, requestBody, zodSchemas, 'update');
668
+ if (error) {
669
+ return error;
664
670
  }
665
671
  const updatePayload = {
666
672
  where: this.makeIdFilter(typeInfo.idField, typeInfo.idFieldType, resourceId),
667
673
  data: Object.assign({}, attributes),
668
674
  };
669
- // TODO: we need to somehow exclude relation fields from the zod schema because relations are
670
- // not part of "data" in the payload
671
- //
672
- // // zod-parse attributes if a schema is provided
673
- // const dataSchema = zodSchemas ? getZodSchema(zodSchemas, type, 'update') : undefined;
674
- // if (dataSchema) {
675
- // const dataParsed = dataSchema.safeParse(updatePayload);
676
- // if (!dataParsed.success) {
677
- // return this.makeError('invalidPayload', fromZodError(dataParsed.error).message);
678
- // }
679
- // }
680
675
  // turn relationships into prisma payload
681
- const relationships = (_b = parsedPayload.data) === null || _b === void 0 ? void 0 : _b.relationships;
682
676
  if (relationships) {
683
677
  for (const [key, data] of Object.entries(relationships)) {
684
678
  if (!(data === null || data === void 0 ? void 0 : data.data)) {
@@ -856,10 +850,49 @@ class RequestHandler {
856
850
  if (!serializer) {
857
851
  throw new Error(`serializer not found for model ${model}`);
858
852
  }
859
- (0, utils_1.stripAuxFields)(items);
860
- return JSON.parse(JSON.stringify(yield serializer.serialize(items, options)));
853
+ // serialize to JSON:API strcuture
854
+ const serialized = yield serializer.serialize(items, options);
855
+ // convert the serialization result to plain object otherwise SuperJSON won't work
856
+ const plainResult = this.toPlainObject(serialized);
857
+ // superjson serialize the result
858
+ const { json, meta } = superjson_1.default.serialize(plainResult);
859
+ const result = json;
860
+ if (meta) {
861
+ result.meta = Object.assign(Object.assign({}, result.meta), { serialization: meta });
862
+ }
863
+ return result;
861
864
  });
862
865
  }
866
+ toPlainObject(data) {
867
+ if (data === undefined || data === null) {
868
+ return data;
869
+ }
870
+ if (Array.isArray(data)) {
871
+ return data.map((item) => this.toPlainObject(item));
872
+ }
873
+ if (typeof data === 'object') {
874
+ if (typeof data.toJSON === 'function') {
875
+ // custom toJSON function
876
+ return data.toJSON();
877
+ }
878
+ const result = {};
879
+ for (const [field, value] of Object.entries(data)) {
880
+ if (value === undefined || typeof value === 'function') {
881
+ // trim undefined and functions
882
+ continue;
883
+ }
884
+ else if (field === 'attributes') {
885
+ // don't visit into entity data
886
+ result[field] = value;
887
+ }
888
+ else {
889
+ result[field] = this.toPlainObject(value);
890
+ }
891
+ }
892
+ return result;
893
+ }
894
+ return data;
895
+ }
863
896
  replaceURLSearchParams(url, params) {
864
897
  const r = new URL(url);
865
898
  for (const [key, value] of Object.entries(params)) {
@@ -1220,10 +1253,10 @@ class RequestHandler {
1220
1253
  }
1221
1254
  }
1222
1255
  handlePrismaError(err) {
1223
- var _a;
1256
+ var _a, _b;
1224
1257
  if ((0, runtime_1.isPrismaClientKnownRequestError)(err)) {
1225
- if (err.code === 'P2004') {
1226
- return this.makeError('forbidden', undefined, 403, (_a = err.meta) === null || _a === void 0 ? void 0 : _a.reason);
1258
+ if (err.code === runtime_1.PrismaErrorCode.CONSTRAINED_FAILED) {
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);
1227
1260
  }
1228
1261
  else if (err.code === 'P2025' || err.code === 'P2018') {
1229
1262
  return this.makeError('notFound');
@@ -1250,19 +1283,25 @@ class RequestHandler {
1250
1283
  return this.makeError('unknownError', `${_err.message}\n${_err.stack}`);
1251
1284
  }
1252
1285
  }
1253
- 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
+ }
1254
1301
  return {
1255
1302
  status: status !== null && status !== void 0 ? status : this.errors[code].status,
1256
1303
  body: {
1257
- errors: [
1258
- {
1259
- status: status !== null && status !== void 0 ? status : this.errors[code].status,
1260
- code: (0, change_case_1.paramCase)(code),
1261
- title: this.errors[code].title,
1262
- detail: detail || this.errors[code].detail,
1263
- reason,
1264
- },
1265
- ],
1304
+ errors: [error],
1266
1305
  },
1267
1306
  };
1268
1307
  }
@@ -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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"}
@@ -1,2 +1,3 @@
1
- import { RequestContext, Response } from '../../types';
2
- export default function makeHandler(): ({ prisma, method, path, query, requestBody, zodSchemas, logger, }: RequestContext) => Promise<Response>;
1
+ import { Response } from '../../types';
2
+ import { RequestContext } from '../base';
3
+ export default function makeHandler(): ({ prisma, method, path, query, requestBody, modelMeta, zodSchemas, logger, }: RequestContext) => Promise<Response>;