@zenstackhq/runtime 1.8.2 → 2.0.0-alpha.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.
Files changed (69) hide show
  1. package/constants.d.ts +5 -1
  2. package/constants.js +6 -2
  3. package/constants.js.map +1 -1
  4. package/cross/index.d.mts +60 -11
  5. package/cross/index.d.ts +60 -11
  6. package/cross/index.js +33 -7
  7. package/cross/index.js.map +1 -1
  8. package/cross/index.mjs +30 -7
  9. package/cross/index.mjs.map +1 -1
  10. package/enhance.d.ts +1 -0
  11. package/enhance.js +10 -0
  12. package/enhancements/create-enhancement.d.ts +78 -0
  13. package/enhancements/create-enhancement.js +86 -0
  14. package/enhancements/create-enhancement.js.map +1 -0
  15. package/enhancements/default-auth.d.ts +7 -0
  16. package/enhancements/default-auth.js +92 -0
  17. package/enhancements/default-auth.js.map +1 -0
  18. package/enhancements/delegate.d.ts +64 -0
  19. package/enhancements/delegate.js +903 -0
  20. package/enhancements/delegate.js.map +1 -0
  21. package/enhancements/index.d.ts +1 -6
  22. package/enhancements/index.js +1 -6
  23. package/enhancements/index.js.map +1 -1
  24. package/enhancements/logger.js.map +1 -0
  25. package/enhancements/omit.d.ts +4 -14
  26. package/enhancements/omit.js +14 -14
  27. package/enhancements/omit.js.map +1 -1
  28. package/enhancements/password.d.ts +4 -14
  29. package/enhancements/password.js +6 -10
  30. package/enhancements/password.js.map +1 -1
  31. package/enhancements/policy/handler.d.ts +18 -19
  32. package/enhancements/policy/handler.js +166 -168
  33. package/enhancements/policy/handler.js.map +1 -1
  34. package/enhancements/policy/index.d.ts +3 -53
  35. package/enhancements/policy/index.js +7 -24
  36. package/enhancements/policy/index.js.map +1 -1
  37. package/enhancements/policy/policy-utils.d.ts +23 -45
  38. package/enhancements/policy/policy-utils.js +34 -147
  39. package/enhancements/policy/policy-utils.js.map +1 -1
  40. package/enhancements/proxy.d.ts +11 -3
  41. package/enhancements/proxy.js +10 -9
  42. package/enhancements/proxy.js.map +1 -1
  43. package/enhancements/query-utils.d.ts +24 -0
  44. package/enhancements/query-utils.js +152 -0
  45. package/enhancements/query-utils.js.map +1 -0
  46. package/enhancements/types.d.ts +3 -3
  47. package/enhancements/utils.d.ts +3 -3
  48. package/enhancements/utils.js +9 -68
  49. package/enhancements/utils.js.map +1 -1
  50. package/index.d.ts +1 -1
  51. package/index.js +1 -1
  52. package/index.js.map +1 -1
  53. package/package.json +2 -2
  54. package/types.d.ts +9 -2
  55. package/version.d.ts +3 -4
  56. package/version.js +29 -46
  57. package/version.js.map +1 -1
  58. package/enhancements/enhance.d.ts +0 -18
  59. package/enhancements/enhance.js +0 -42
  60. package/enhancements/enhance.js.map +0 -1
  61. package/enhancements/policy/logger.js.map +0 -1
  62. package/enhancements/preset.d.ts +0 -15
  63. package/enhancements/preset.js +0 -21
  64. package/enhancements/preset.js.map +0 -1
  65. package/loader.d.ts +0 -22
  66. package/loader.js +0 -99
  67. package/loader.js.map +0 -1
  68. /package/enhancements/{policy/logger.d.ts → logger.d.ts} +0 -0
  69. /package/enhancements/{policy/logger.js → logger.js} +0 -0
@@ -21,20 +21,25 @@ const zod_validation_error_1 = require("zod-validation-error");
21
21
  const constants_1 = require("../../constants");
22
22
  const cross_1 = require("../../cross");
23
23
  const version_1 = require("../../version");
24
+ const logger_1 = require("../logger");
25
+ const query_utils_1 = require("../query-utils");
24
26
  const utils_1 = require("../utils");
25
- const logger_1 = require("./logger");
26
27
  /**
27
28
  * Access policy enforcement utilities
28
29
  */
29
- class PolicyUtil {
30
- constructor(db, modelMeta, policy, zodSchemas, user, shouldLogQuery = false) {
30
+ class PolicyUtil extends query_utils_1.QueryUtils {
31
+ constructor(db, options, context, shouldLogQuery = false) {
32
+ super(db, options);
31
33
  this.db = db;
32
- this.modelMeta = modelMeta;
33
- this.policy = policy;
34
- this.zodSchemas = zodSchemas;
35
- this.user = user;
36
34
  this.shouldLogQuery = shouldLogQuery;
37
35
  this.logger = new logger_1.Logger(db);
36
+ this.user = context === null || context === void 0 ? void 0 : context.user;
37
+ ({
38
+ modelMeta: this.modelMeta,
39
+ policy: this.policy,
40
+ zodSchemas: this.zodSchemas,
41
+ prismaModule: this.prismaModule,
42
+ } = options);
38
43
  }
39
44
  //#region Logical operators
40
45
  /**
@@ -444,101 +449,12 @@ class PolicyUtil {
444
449
  }
445
450
  return true;
446
451
  }
447
- // flatten unique constraint filters
448
- flattenGeneratedUniqueField(model, args) {
449
- var _a;
450
- // e.g.: { a_b: { a: '1', b: '1' } } => { a: '1', b: '1' }
451
- const uniqueConstraints = (_a = this.modelMeta.uniqueConstraints) === null || _a === void 0 ? void 0 : _a[(0, lower_case_first_1.lowerCaseFirst)(model)];
452
- if (uniqueConstraints && Object.keys(uniqueConstraints).length > 0) {
453
- for (const [field, value] of Object.entries(args)) {
454
- if (uniqueConstraints[field] &&
455
- uniqueConstraints[field].fields.length > 1 &&
456
- typeof value === 'object') {
457
- // multi-field unique constraint, flatten it
458
- delete args[field];
459
- if (value) {
460
- for (const [f, v] of Object.entries(value)) {
461
- args[f] = v;
462
- }
463
- }
464
- }
465
- }
466
- }
467
- }
468
452
  /**
469
453
  * Gets unique constraints for the given model.
470
454
  */
471
455
  getUniqueConstraints(model) {
472
456
  var _a, _b;
473
- return (_b = (_a = this.modelMeta.uniqueConstraints) === null || _a === void 0 ? void 0 : _a[(0, lower_case_first_1.lowerCaseFirst)(model)]) !== null && _b !== void 0 ? _b : {};
474
- }
475
- /**
476
- * Builds a reversed query for the given nested path.
477
- */
478
- buildReversedQuery(context, forMutationPayload = false, unsafeOperation = false) {
479
- let result, currQuery;
480
- let currField;
481
- for (let i = context.nestingPath.length - 1; i >= 0; i--) {
482
- const { field, model, where } = context.nestingPath[i];
483
- // never modify the original where because it's shared in the structure
484
- const visitWhere = Object.assign({}, where);
485
- if (model && where) {
486
- // make sure composite unique condition is flattened
487
- this.flattenGeneratedUniqueField(model, visitWhere);
488
- }
489
- if (!result) {
490
- // first segment (bottom), just use its where clause
491
- result = currQuery = Object.assign({}, visitWhere);
492
- currField = field;
493
- }
494
- else {
495
- if (!currField) {
496
- throw this.unknownError(`missing field in nested path`);
497
- }
498
- if (!currField.backLink) {
499
- throw this.unknownError(`field ${currField.type}.${currField.name} doesn't have a backLink`);
500
- }
501
- const backLinkField = this.getModelField(currField.type, currField.backLink);
502
- if (!backLinkField) {
503
- throw this.unknownError(`missing backLink field ${currField.backLink} in ${currField.type}`);
504
- }
505
- if (backLinkField.isArray && !forMutationPayload) {
506
- // many-side of relationship, wrap with "some" query
507
- currQuery[currField.backLink] = { some: Object.assign({}, visitWhere) };
508
- currQuery = currQuery[currField.backLink].some;
509
- }
510
- else {
511
- const fkMapping = where && backLinkField.isRelationOwner && backLinkField.foreignKeyMapping;
512
- // calculate if we should preserve the relation condition (e.g., { user: { id: 1 } })
513
- const shouldPreserveRelationCondition =
514
- // doing a mutation
515
- forMutationPayload &&
516
- // and it's a safe mutate
517
- !unsafeOperation &&
518
- // and the current segment is the direct parent (the last one is the mutate itself),
519
- // the relation condition should be preserved and will be converted to a "connect" later
520
- i === context.nestingPath.length - 2;
521
- if (fkMapping && !shouldPreserveRelationCondition) {
522
- // turn relation condition into foreign key condition, e.g.:
523
- // { user: { id: 1 } } => { userId: 1 }
524
- for (const [r, fk] of Object.entries(fkMapping)) {
525
- currQuery[fk] = visitWhere[r];
526
- }
527
- if (i > 0) {
528
- // prepare for the next segment
529
- currQuery[currField.backLink] = {};
530
- }
531
- }
532
- else {
533
- // preserve the original structure
534
- currQuery[currField.backLink] = Object.assign({}, visitWhere);
535
- }
536
- currQuery = currQuery[currField.backLink];
537
- }
538
- currField = field;
539
- }
540
- }
541
- return result;
457
+ return (_b = (_a = this.modelMeta.models[(0, lower_case_first_1.lowerCaseFirst)(model)]) === null || _a === void 0 ? void 0 : _a.uniqueConstraints) !== null && _b !== void 0 ? _b : {};
542
458
  }
543
459
  injectNestedReadConditions(db, model, args) {
544
460
  var _a;
@@ -866,7 +782,7 @@ class PolicyUtil {
866
782
  }
867
783
  }
868
784
  makeAllScalarFieldSelect(model) {
869
- const fields = this.modelMeta.fields[(0, lower_case_first_1.lowerCaseFirst)(model)];
785
+ const fields = this.getModelFields(model);
870
786
  const result = {};
871
787
  if (fields) {
872
788
  Object.entries(fields).forEach(([k, v]) => {
@@ -887,22 +803,14 @@ class PolicyUtil {
887
803
  if (zodErrors) {
888
804
  args.meta.zodErrors = zodErrors;
889
805
  }
890
- return (0, utils_1.prismaClientKnownRequestError)(this.db, `denied by policy: ${model} entities failed '${operation}' check${extra ? ', ' + extra : ''}`, args);
806
+ return (0, utils_1.prismaClientKnownRequestError)(this.db, this.prismaModule, `denied by policy: ${model} entities failed '${operation}' check${extra ? ', ' + extra : ''}`, args);
891
807
  }
892
808
  notFound(model) {
893
- return (0, utils_1.prismaClientKnownRequestError)(this.db, `entity not found for model ${model}`, {
809
+ return (0, utils_1.prismaClientKnownRequestError)(this.db, this.prismaModule, `entity not found for model ${model}`, {
894
810
  clientVersion: (0, version_1.getVersion)(),
895
811
  code: 'P2025',
896
812
  });
897
813
  }
898
- validationError(message) {
899
- return (0, utils_1.prismaClientValidationError)(this.db, message);
900
- }
901
- unknownError(message) {
902
- return (0, utils_1.prismaClientUnknownRequestError)(this.db, message, {
903
- clientVersion: (0, version_1.getVersion)(),
904
- });
905
- }
906
814
  //#endregion
907
815
  //#region Misc
908
816
  /**
@@ -1025,27 +933,30 @@ class PolicyUtil {
1025
933
  }
1026
934
  }
1027
935
  }
1028
- /**
1029
- * Gets information for all fields of a model.
1030
- */
1031
- getModelFields(model) {
1032
- model = (0, lower_case_first_1.lowerCaseFirst)(model);
1033
- return this.modelMeta.fields[model];
1034
- }
1035
- /**
1036
- * Gets information for a specific model field.
1037
- */
1038
- getModelField(model, field) {
1039
- var _a;
1040
- model = (0, lower_case_first_1.lowerCaseFirst)(model);
1041
- return (_a = this.modelMeta.fields[model]) === null || _a === void 0 ? void 0 : _a[field];
1042
- }
1043
936
  /**
1044
937
  * Clones an object and makes sure it's not empty.
1045
938
  */
1046
939
  clone(value) {
1047
940
  return value ? (0, deepcopy_1.default)(value) : {};
1048
941
  }
942
+ /**
943
+ * Replace content of `target` object with `withObject` in-place.
944
+ */
945
+ replace(target, withObject) {
946
+ if (!target || typeof target !== 'object' || !withObject || typeof withObject !== 'object') {
947
+ return;
948
+ }
949
+ // remove missing keys
950
+ for (const key of Object.keys(target)) {
951
+ if (!(key in withObject)) {
952
+ delete target[key];
953
+ }
954
+ }
955
+ // overwrite keys
956
+ for (const [key, value] of Object.entries(withObject)) {
957
+ target[key] = value;
958
+ }
959
+ }
1049
960
  /**
1050
961
  * Picks properties from an object.
1051
962
  */
@@ -1058,30 +969,6 @@ class PolicyUtil {
1058
969
  return result;
1059
970
  }, {});
1060
971
  }
1061
- /**
1062
- * Gets "id" fields for a given model.
1063
- */
1064
- getIdFields(model) {
1065
- return (0, cross_1.getIdFields)(this.modelMeta, model, true);
1066
- }
1067
- /**
1068
- * Gets id field values from an entity.
1069
- */
1070
- getEntityIds(model, entityData) {
1071
- const idFields = this.getIdFields(model);
1072
- const result = {};
1073
- for (const idField of idFields) {
1074
- result[idField.name] = entityData[idField.name];
1075
- }
1076
- return result;
1077
- }
1078
- /**
1079
- * Creates a selection object for id fields for the given model.
1080
- */
1081
- makeIdSelection(model) {
1082
- const idFields = this.getIdFields(model);
1083
- return Object.assign({}, ...idFields.map((f) => ({ [f.name]: true })));
1084
- }
1085
972
  mergeWhereClause(where, extra) {
1086
973
  var _a;
1087
974
  if (!where) {
@@ -1 +1 @@
1
- {"version":3,"file":"policy-utils.js","sourceRoot":"","sources":["../../../src/enhancements/policy/policy-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-utils.js","sourceRoot":"","sources":["../../../src/enhancements/policy/policy-utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ModelMeta } from '../cross';
2
2
  import type { DbClientContract } from '../types';
3
+ import { InternalEnhancementOptions } from './create-enhancement';
3
4
  /**
4
5
  * Prisma batch write operation result
5
6
  */
@@ -20,7 +21,10 @@ export interface PrismaProxyHandler {
20
21
  findFirstOrThrow(args: any): Promise<unknown>;
21
22
  findMany(args: any): Promise<unknown[]>;
22
23
  create(args: any): Promise<unknown>;
23
- createMany(args: any, skipDuplicates?: boolean): Promise<BatchResult>;
24
+ createMany(args: {
25
+ data: any;
26
+ skipDuplicates?: boolean;
27
+ }): Promise<BatchResult>;
24
28
  update(args: any): Promise<unknown>;
25
29
  updateMany(args: any): Promise<BatchResult>;
26
30
  upsert(args: any): Promise<unknown>;
@@ -43,14 +47,18 @@ export type PrismaProxyActions = keyof PrismaProxyHandler;
43
47
  export declare class DefaultPrismaProxyHandler implements PrismaProxyHandler {
44
48
  protected readonly prisma: DbClientContract;
45
49
  protected readonly model: string;
46
- constructor(prisma: DbClientContract, model: string);
50
+ protected readonly options: InternalEnhancementOptions;
51
+ constructor(prisma: DbClientContract, model: string, options: InternalEnhancementOptions);
47
52
  findUnique(args: any): Promise<unknown>;
48
53
  findUniqueOrThrow(args: any): Promise<unknown>;
49
54
  findFirst(args: any): Promise<unknown>;
50
55
  findFirstOrThrow(args: any): Promise<unknown>;
51
56
  findMany(args: any): Promise<unknown[]>;
52
57
  create(args: any): Promise<unknown>;
53
- createMany(args: any, skipDuplicates?: boolean | undefined): Promise<{
58
+ createMany(args: {
59
+ data: any;
60
+ skipDuplicates?: boolean;
61
+ }): Promise<{
54
62
  count: number;
55
63
  }>;
56
64
  update(args: any): Promise<unknown>;
@@ -19,9 +19,10 @@ const promise_1 = require("./policy/promise");
19
19
  * methods to allow more easily inject custom logic.
20
20
  */
21
21
  class DefaultPrismaProxyHandler {
22
- constructor(prisma, model) {
22
+ constructor(prisma, model, options) {
23
23
  this.prisma = prisma;
24
24
  this.model = model;
25
+ this.options = options;
25
26
  }
26
27
  findUnique(args) {
27
28
  return __awaiter(this, void 0, void 0, function* () {
@@ -65,10 +66,10 @@ class DefaultPrismaProxyHandler {
65
66
  return this.processResultEntity(r);
66
67
  });
67
68
  }
68
- createMany(args, skipDuplicates) {
69
+ createMany(args) {
69
70
  return __awaiter(this, void 0, void 0, function* () {
70
71
  args = yield this.preprocessArgs('createMany', args);
71
- return this.prisma[this.model].createMany(args, skipDuplicates);
72
+ return this.prisma[this.model].createMany(args);
72
73
  });
73
74
  }
74
75
  update(args) {
@@ -152,7 +153,7 @@ const ERROR_MARKER = '__error_marker__';
152
153
  * Makes a Prisma client proxy.
153
154
  */
154
155
  function makeProxy(prisma, modelMeta, makeHandler, name = 'unnamed_enhancer', errorTransformer) {
155
- const models = Object.keys(modelMeta.fields).map((k) => k.toLowerCase());
156
+ const models = Object.keys(modelMeta.models).map((k) => k.toLowerCase());
156
157
  const proxy = new Proxy(prisma, {
157
158
  get: (target, prop, receiver) => {
158
159
  // enhancer metadata
@@ -198,14 +199,14 @@ function makeProxy(prisma, modelMeta, makeHandler, name = 'unnamed_enhancer', er
198
199
  if (!propVal || typeof propVal !== 'object') {
199
200
  return propVal;
200
201
  }
201
- return createHandlerProxy(makeHandler(target, prop), propVal, errorTransformer);
202
+ return createHandlerProxy(makeHandler(target, prop), propVal, prop, errorTransformer);
202
203
  },
203
204
  });
204
205
  return proxy;
205
206
  }
206
207
  exports.makeProxy = makeProxy;
207
208
  // A proxy for capturing errors and processing stack trace
208
- function createHandlerProxy(handler, origTarget, errorTransformer) {
209
+ function createHandlerProxy(handler, origTarget, model, errorTransformer) {
209
210
  return new Proxy(handler, {
210
211
  get(target, propKey) {
211
212
  const prop = target[propKey];
@@ -229,7 +230,7 @@ function createHandlerProxy(handler, origTarget, errorTransformer) {
229
230
  if (capture.stack && err instanceof Error) {
230
231
  // save the original stack and replace it with a clean one
231
232
  err.internalStack = err.stack;
232
- err.stack = cleanCallStack(capture.stack, propKey.toString(), err.message);
233
+ err.stack = cleanCallStack(capture.stack, model, propKey.toString(), err.message);
233
234
  }
234
235
  if (errorTransformer) {
235
236
  err = errorTransformer ? errorTransformer(err) : err;
@@ -250,9 +251,9 @@ function createHandlerProxy(handler, origTarget, errorTransformer) {
250
251
  });
251
252
  }
252
253
  // Filter out @zenstackhq/runtime stack (generated by proxy) from stack trace
253
- function cleanCallStack(stack, method, message) {
254
+ function cleanCallStack(stack, model, method, message) {
254
255
  // message line
255
- let resultStack = `Error calling enhanced Prisma method \`${method}\`: ${message}`;
256
+ let resultStack = `Error calling enhanced Prisma method \`${model}.${method}\`: ${message}`;
256
257
  const lines = stack.split('\n');
257
258
  let foundMarker = false;
258
259
  for (let i = 0; i < lines.length; i++) {
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/enhancements/proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../src/enhancements/proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { FieldInfo, NestedWriteVisitorContext } from '../cross';
2
+ import { CrudContract, DbClientContract } from '../types';
3
+ import { InternalEnhancementOptions } from './create-enhancement';
4
+ export declare class QueryUtils {
5
+ private readonly prisma;
6
+ private readonly options;
7
+ constructor(prisma: DbClientContract, options: InternalEnhancementOptions);
8
+ getIdFields(model: string): FieldInfo[];
9
+ makeIdSelection(model: string): any;
10
+ getEntityIds(model: string, entityData: any): Record<string, unknown>;
11
+ /**
12
+ * Initiates a transaction.
13
+ */
14
+ transaction<T>(db: CrudContract, action: (tx: CrudContract) => Promise<T>): Promise<T>;
15
+ buildReversedQuery(context: NestedWriteVisitorContext, mutating?: boolean, unsafeOperation?: boolean): any;
16
+ flattenGeneratedUniqueField(model: string, args: any): void;
17
+ validationError(message: string): Error;
18
+ unknownError(message: string): Error;
19
+ getModelFields(model: string): Record<string, FieldInfo> | undefined;
20
+ /**
21
+ * Gets information for a specific model field.
22
+ */
23
+ getModelField(model: string, field: string): FieldInfo | undefined;
24
+ }