zenstack 1.2.1 → 1.3.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.
@@ -1,3 +1,4 @@
1
1
  export * from './generate';
2
2
  export * from './info';
3
3
  export * from './init';
4
+ export * from './repl';
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./generate"), exports);
18
18
  __exportStar(require("./info"), exports);
19
19
  __exportStar(require("./init"), exports);
20
+ __exportStar(require("./repl"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB;AACvB,yCAAuB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * CLI action for starting a REPL session
3
+ */
4
+ export declare function repl(projectPath: string, options: {
5
+ prismaClient?: string;
6
+ debug?: boolean;
7
+ table?: boolean;
8
+ }): Promise<void>;
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.repl = void 0;
16
+ /* eslint-disable @typescript-eslint/no-explicit-any */
17
+ /* eslint-disable @typescript-eslint/no-var-requires */
18
+ const colors_1 = __importDefault(require("colors"));
19
+ const path_1 = __importDefault(require("path"));
20
+ const pretty_repl_1 = __importDefault(require("pretty-repl"));
21
+ const util_1 = require("util");
22
+ // inspired by: https://github.com/Kinjalrk2k/prisma-console
23
+ /**
24
+ * CLI action for starting a REPL session
25
+ */
26
+ function repl(projectPath, options) {
27
+ var _a;
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ console.log('Welcome to ZenStack REPL. See help with the ".help" command.');
30
+ console.log('Global variables:');
31
+ console.log(` ${colors_1.default.cyan('db')} to access enhanced PrismaClient`);
32
+ console.log(` ${colors_1.default.cyan('prisma')} to access raw PrismaClient`);
33
+ console.log('Commands:');
34
+ console.log(` ${colors_1.default.magenta('.auth { id: ... }')} - set current user`);
35
+ console.log(` ${colors_1.default.magenta('.table')} - toggle table output`);
36
+ console.log();
37
+ console.log(`Running as anonymous user. Use ".auth" to set current user.`);
38
+ const prismaClientModule = (_a = options.prismaClient) !== null && _a !== void 0 ? _a : path_1.default.join(projectPath, './node_modules/.prisma/client');
39
+ const { PrismaClient } = require(prismaClientModule);
40
+ const { enhance } = require('@zenstackhq/runtime');
41
+ let debug = !!options.debug;
42
+ let table = !!options.table;
43
+ let prisma;
44
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
+ let db;
46
+ let user;
47
+ const replServer = pretty_repl_1.default.start({
48
+ prompt: '[anonymous] > ',
49
+ eval: (cmd, _context, _filename, callback) => __awaiter(this, void 0, void 0, function* () {
50
+ try {
51
+ let r = undefined;
52
+ let isPrismaCall = false;
53
+ if (cmd.includes('await ')) {
54
+ // eval can't handle top-level await, so we wrap it in an async function
55
+ cmd = `(async () => (${cmd}))()`;
56
+ r = eval(cmd);
57
+ if (isPrismaPromise(r)) {
58
+ isPrismaCall = true;
59
+ }
60
+ r = yield r;
61
+ }
62
+ else {
63
+ r = eval(cmd);
64
+ if (isPrismaPromise(r)) {
65
+ isPrismaCall = true;
66
+ // automatically await Prisma promises
67
+ r = yield r;
68
+ }
69
+ }
70
+ if (isPrismaCall && table) {
71
+ console.table(r);
72
+ callback(null, undefined);
73
+ }
74
+ else {
75
+ callback(null, r);
76
+ }
77
+ }
78
+ catch (err) {
79
+ if (err.code) {
80
+ console.error(colors_1.default.red(err.message));
81
+ console.error('Code:', err.code);
82
+ if (err.meta) {
83
+ console.error('Meta:', err.meta);
84
+ }
85
+ callback(null, undefined);
86
+ }
87
+ else {
88
+ callback(err, undefined);
89
+ }
90
+ }
91
+ }),
92
+ });
93
+ // .table command
94
+ replServer.defineCommand('table', {
95
+ help: 'Toggle table output',
96
+ action(value) {
97
+ if (value && value !== 'on' && value !== 'off' && value !== 'true' && value !== 'false') {
98
+ console.error('Invalid argument. Usage: .table [on|off|true|false]');
99
+ this.displayPrompt();
100
+ return;
101
+ }
102
+ this.clearBufferedCommand();
103
+ table = value ? value === 'on' || value === 'true' : !table;
104
+ console.log('Table output:', table);
105
+ this.displayPrompt();
106
+ },
107
+ });
108
+ // .debug command
109
+ replServer.defineCommand('debug', {
110
+ help: 'Toggle debug output',
111
+ action(value) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ if (value && value !== 'on' && value !== 'off' && value !== 'true' && value !== 'false') {
114
+ console.error('Invalid argument. Usage: .debug [on|off|true|false]');
115
+ this.displayPrompt();
116
+ return;
117
+ }
118
+ this.clearBufferedCommand();
119
+ debug = value ? value === 'on' || value === 'true' : !debug;
120
+ console.log('Debug mode:', debug);
121
+ yield createClient();
122
+ setPrompt();
123
+ this.displayPrompt();
124
+ });
125
+ },
126
+ });
127
+ // .auth command
128
+ replServer.defineCommand('auth', {
129
+ help: 'Set current user. Run without argument to switch to anonymous. Pass an user object to set current user.',
130
+ action(value) {
131
+ this.clearBufferedCommand();
132
+ try {
133
+ if (!(value === null || value === void 0 ? void 0 : value.trim())) {
134
+ // set anonymous
135
+ setAuth(undefined);
136
+ console.log(`Auth user: anonymous. Use ".auth { id: ... }" to change.`);
137
+ }
138
+ else {
139
+ // set current user
140
+ const user = eval(`(${value})`);
141
+ if (!user || typeof user !== 'object') {
142
+ console.error(`Invalid argument. Pass a user object like { id: ... }`);
143
+ this.displayPrompt();
144
+ return;
145
+ }
146
+ setAuth(user);
147
+ console.log(`Auth user: ${(0, util_1.inspect)(user)}. Use ".auth" to switch to anonymous.`);
148
+ }
149
+ }
150
+ catch (err) {
151
+ console.error('Unable to set auth user:', err.message);
152
+ }
153
+ this.displayPrompt();
154
+ },
155
+ });
156
+ replServer.setupHistory(path_1.default.join(projectPath, './.zenstack_repl_history'), (err) => {
157
+ if (err) {
158
+ console.error('unable to setup REPL history:', err);
159
+ }
160
+ });
161
+ setPrompt();
162
+ yield createClient();
163
+ function createClient() {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ if (prisma) {
166
+ prisma.$disconnect();
167
+ }
168
+ prisma = new PrismaClient(debug ? { log: ['info'] } : undefined);
169
+ prisma[Symbol.for('nodejs.util.inspect.custom')] = 'PrismaClient';
170
+ db = enhance(prisma, { user }, { logPrismaQuery: debug });
171
+ replServer.context.prisma = prisma;
172
+ replServer.context.db = db;
173
+ });
174
+ }
175
+ function setPrompt() {
176
+ replServer.setPrompt(`[${debug ? colors_1.default.yellow('D ') : ''}${user ? (0, util_1.inspect)(user) : 'anonymous'}] > `);
177
+ }
178
+ function setAuth(_user) {
179
+ user = _user;
180
+ // recreate enhanced PrismaClient
181
+ db = replServer.context.db = enhance(prisma, { user }, { logPrismaQuery: debug });
182
+ setPrompt();
183
+ }
184
+ });
185
+ }
186
+ exports.repl = repl;
187
+ function isPrismaPromise(r) {
188
+ return (r === null || r === void 0 ? void 0 : r[Symbol.toStringTag]) === 'PrismaPromise' || (r === null || r === void 0 ? void 0 : r[Symbol.toStringTag]) === 'ZenStackPromise';
189
+ }
190
+ //# sourceMappingURL=repl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repl.js","sourceRoot":"","sources":["../../../src/cli/actions/repl.ts"],"names":[],"mappings":"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"}
package/cli/index.d.ts CHANGED
@@ -3,5 +3,6 @@ import * as actions from './actions';
3
3
  export declare const initAction: (projectPath: string, options: Parameters<typeof actions.init>[1]) => Promise<void>;
4
4
  export declare const infoAction: (projectPath: string) => Promise<void>;
5
5
  export declare const generateAction: (options: Parameters<typeof actions.generate>[1]) => Promise<void>;
6
+ export declare const replAction: (options: Parameters<typeof actions.repl>[1]) => Promise<void>;
6
7
  export declare function createProgram(): Command;
7
8
  export default function (): Promise<void>;
package/cli/index.js CHANGED
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.createProgram = exports.generateAction = exports.infoAction = exports.initAction = void 0;
38
+ exports.createProgram = exports.replAction = exports.generateAction = exports.infoAction = exports.initAction = void 0;
39
39
  /* eslint-disable @typescript-eslint/no-explicit-any */
40
40
  const module_1 = require("@zenstackhq/language/module");
41
41
  const colors_1 = __importDefault(require("colors"));
@@ -58,6 +58,10 @@ const generateAction = (options) => __awaiter(void 0, void 0, void 0, function*
58
58
  yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'generate' }, () => actions.generate(process.cwd(), options));
59
59
  });
60
60
  exports.generateAction = generateAction;
61
+ const replAction = (options) => __awaiter(void 0, void 0, void 0, function* () {
62
+ yield telemetry_1.default.trackSpan('cli:command:start', 'cli:command:complete', 'cli:command:error', { command: 'repl' }, () => actions.repl(process.cwd(), options));
63
+ });
64
+ exports.replAction = replAction;
61
65
  function createProgram() {
62
66
  const program = new commander_1.Command('zenstack');
63
67
  program.version((0, version_utils_1.getVersion)(), '-v --version', 'display CLI version');
@@ -101,6 +105,13 @@ function createProgram() {
101
105
  .addOption(noVersionCheckOption)
102
106
  .addOption(noDependencyCheck)
103
107
  .action(exports.generateAction);
108
+ program
109
+ .command('repl')
110
+ .description('Start a REPL session.')
111
+ .option('--prisma-client <module>', 'path to Prisma client module')
112
+ .option('--debug', 'enable debug output')
113
+ .option('--table', 'enable table format output')
114
+ .action(exports.replAction);
104
115
  // make sure config is loaded before actions run
105
116
  program.hook('preAction', (_, actionCommand) => __awaiter(this, void 0, void 0, function* () {
106
117
  let configFile = actionCommand.opts().config;
package/cli/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "name": "zenstack",
3
3
  "publisher": "zenstack",
4
4
  "displayName": "ZenStack Language Tools",
5
- "description": "A toolkit for building secure CRUD apps with Next.js + Typescript",
6
- "version": "1.2.1",
5
+ "description": "Build scalable web apps with minimum code by defining authorization and validation rules inside the data schema that closer to the database",
6
+ "version": "1.3.0",
7
7
  "author": {
8
8
  "name": "ZenStack Team"
9
9
  },
@@ -78,6 +78,7 @@
78
78
  "node-machine-id": "^1.1.12",
79
79
  "ora": "^5.4.1",
80
80
  "pluralize": "^8.0.0",
81
+ "pretty-repl": "^4.0.0",
81
82
  "promisify": "^0.0.3",
82
83
  "semver": "^7.3.8",
83
84
  "sleep-promise": "^9.1.0",
@@ -94,8 +95,8 @@
94
95
  "vscode-uri": "^3.0.6",
95
96
  "zod": "^3.22.4",
96
97
  "zod-validation-error": "^1.5.0",
97
- "@zenstackhq/sdk": "1.2.1",
98
- "@zenstackhq/language": "1.2.1"
98
+ "@zenstackhq/language": "1.3.0",
99
+ "@zenstackhq/sdk": "1.3.0"
99
100
  },
100
101
  "devDependencies": {
101
102
  "@prisma/client": "^4.8.0",
@@ -127,15 +128,15 @@
127
128
  "tsc-alias": "^1.7.0",
128
129
  "typescript": "^4.8.4",
129
130
  "vitest": "^0.29.7",
130
- "@zenstackhq/runtime": "1.2.1"
131
+ "@zenstackhq/runtime": "1.3.0"
131
132
  },
132
133
  "scripts": {
133
134
  "vscode:publish": "vsce publish --no-dependencies",
134
135
  "vscode:prepublish": "pnpm bundle",
135
136
  "vscode:package": "vsce package --no-dependencies",
136
137
  "clean": "rimraf bundle dist",
137
- "build": "pnpm clean && pnpm lint && tsc && copyfiles -F \"bin/*\" dist && copyfiles ./README-global.md ./LICENSE ./package.json dist && renamer --replace \"README.md\" dist/README-global.md && copyfiles -u 1 \"src/res/*\" dist && node build/post-build.js && pnpm pack dist --pack-destination '../../../.build'",
138
- "bundle": "pnpm clean && pnpm lint && node build/bundle.js --minify",
138
+ "build": "pnpm clean && pnpm lint --max-warnings=0 && tsc && copyfiles -F \"bin/*\" dist && copyfiles ./README-global.md ./LICENSE ./package.json dist && renamer --replace \"README.md\" dist/README-global.md && copyfiles -u 1 \"src/res/*\" dist && node build/post-build.js && pnpm pack dist --pack-destination '../../../.build'",
139
+ "bundle": "pnpm clean && pnpm lint --max-warnings=0 && node build/bundle.js --minify",
139
140
  "watch": "tsc --watch",
140
141
  "lint": "eslint src tests --ext ts",
141
142
  "test": "ZENSTACK_TEST=1 jest",
@@ -28,7 +28,9 @@ export declare class ExpressionWriter {
28
28
  private isFieldAccess;
29
29
  private guard;
30
30
  private plain;
31
+ private writeIdFieldsCheck;
31
32
  private writeComparison;
33
+ private isFutureMemberAccess;
32
34
  private requireIdFields;
33
35
  private equivalentRefs;
34
36
  private writeFieldReference;
@@ -157,11 +157,28 @@ class ExpressionWriter {
157
157
  }
158
158
  }
159
159
  writeCollectionPredicate(expr, operator) {
160
- this.block(() => {
161
- this.writeFieldCondition(expr.left, () => {
162
- this.write(expr.right);
163
- }, operator === '?' ? 'some' : operator === '!' ? 'every' : 'none');
164
- });
160
+ // check if the operand should be compiled to a relation query
161
+ // or a plain expression
162
+ const compileToRelationQuery =
163
+ // expression rooted to `auth()` is always compiled to plain expression
164
+ !this.isAuthOrAuthMemberAccess(expr.left) &&
165
+ // `future()` in post-update context
166
+ ((this.isPostGuard && this.isFutureMemberAccess(expr.left)) ||
167
+ // non-`future()` in pre-update context
168
+ (!this.isPostGuard && !this.isFutureMemberAccess(expr.left)));
169
+ if (compileToRelationQuery) {
170
+ this.block(() => {
171
+ this.writeFieldCondition(expr.left, () => {
172
+ // inner scope of collection expression is always compiled as non-post-guard
173
+ const innerWriter = new ExpressionWriter(this.writer, false);
174
+ innerWriter.write(expr.right);
175
+ }, operator === '?' ? 'some' : operator === '!' ? 'every' : 'none');
176
+ });
177
+ }
178
+ else {
179
+ const plain = this.plainExprBuilder.transform(expr);
180
+ this.writer.write(`${plain} ? ${exports.TRUE} : ${exports.FALSE}`);
181
+ }
165
182
  }
166
183
  isFieldAccess(expr) {
167
184
  if ((0, ast_1.isThisExpr)(expr)) {
@@ -204,6 +221,18 @@ class ExpressionWriter {
204
221
  }
205
222
  }
206
223
  }
224
+ writeIdFieldsCheck(model, value) {
225
+ const idFields = this.requireIdFields(model);
226
+ idFields.forEach((idField, idx) => {
227
+ // eg: id: user.id
228
+ this.writer.write(`${idField.name}:`);
229
+ this.plain(value);
230
+ this.writer.write(`.${idField.name}`);
231
+ if (idx !== idFields.length - 1) {
232
+ this.writer.write(',');
233
+ }
234
+ });
235
+ }
207
236
  writeComparison(expr, operator) {
208
237
  var _a;
209
238
  const leftIsFieldAccess = this.isFieldAccess(expr.left);
@@ -226,7 +255,7 @@ class ExpressionWriter {
226
255
  operand = expr.left;
227
256
  operator = this.negateOperator(operator);
228
257
  }
229
- if ((0, ast_1.isMemberAccessExpr)(fieldAccess) && (0, sdk_1.isFutureExpr)(fieldAccess.operand)) {
258
+ if (this.isFutureMemberAccess(fieldAccess)) {
230
259
  // future().field should be treated as the "field" directly, so we
231
260
  // strip 'future().' and synthesize a reference expr
232
261
  fieldAccess = {
@@ -262,7 +291,6 @@ class ExpressionWriter {
262
291
  if (dataModel && (0, ast_utils_1.isAuthInvocation)(operand)) {
263
292
  // right now this branch only serves comparison with `auth`, like
264
293
  // @@allow('all', owner == auth())
265
- const idFields = this.requireIdFields(dataModel);
266
294
  if (operator !== '==' && operator !== '!=') {
267
295
  throw new sdk_1.PluginError(_1.name, 'Only == and != operators are allowed');
268
296
  }
@@ -275,25 +303,14 @@ class ExpressionWriter {
275
303
  }
276
304
  }
277
305
  this.block(() => {
278
- idFields.forEach((idField, idx) => {
279
- const writeIdsCheck = () => {
280
- // id: user.id
281
- this.writer.write(`${idField.name}:`);
282
- this.plain(operand);
283
- this.writer.write(`.${idField.name}`);
284
- if (idx !== idFields.length - 1) {
285
- this.writer.write(',');
286
- }
287
- };
288
- if ((0, ast_1.isThisExpr)(fieldAccess) && operator === '!=') {
289
- // wrap a not
290
- this.writer.writeLine('NOT:');
291
- this.block(() => writeIdsCheck());
292
- }
293
- else {
294
- writeIdsCheck();
295
- }
296
- });
306
+ if ((0, ast_1.isThisExpr)(fieldAccess) && operator === '!=') {
307
+ // negate
308
+ this.writer.writeLine('isNot:');
309
+ this.block(() => this.writeIdFieldsCheck(dataModel, operand));
310
+ }
311
+ else {
312
+ this.writeIdFieldsCheck(dataModel, operand);
313
+ }
297
314
  });
298
315
  }
299
316
  else {
@@ -310,7 +327,14 @@ class ExpressionWriter {
310
327
  this.writeFieldReference(operand);
311
328
  }
312
329
  else {
313
- this.plain(operand);
330
+ if (dataModel && this.isModelTyped(operand)) {
331
+ // the comparison is between model types, generate id fields comparison block
332
+ this.block(() => this.writeIdFieldsCheck(dataModel, operand));
333
+ }
334
+ else {
335
+ // scalar value, just generate the plain expression
336
+ this.plain(operand);
337
+ }
314
338
  }
315
339
  });
316
340
  }
@@ -322,6 +346,9 @@ class ExpressionWriter {
322
346
  // avoid generating a new layer
323
347
  !(0, ast_1.isThisExpr)(fieldAccess));
324
348
  }
349
+ isFutureMemberAccess(expr) {
350
+ return (0, ast_1.isMemberAccessExpr)(expr) && (0, sdk_1.isFutureExpr)(expr.operand);
351
+ }
325
352
  requireIdFields(dataModel) {
326
353
  const idFields = (0, ast_utils_1.getIdFields)(dataModel);
327
354
  if (!idFields || idFields.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/expression-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/expression-writer.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { PluginGlobalOptions, PluginOptions } from '@zenstackhq/sdk';
5
5
  */
6
6
  export default class PolicyGenerator {
7
7
  generate(model: Model, options: PluginOptions, globalOptions?: PluginGlobalOptions): Promise<void>;
8
+ private generateAuthSelector;
8
9
  private isEnumReferenced;
9
10
  private getPolicyExpressions;
10
11
  private processUpdatePolicies;
@@ -42,7 +42,6 @@ class PolicyGenerator {
42
42
  namedImports: [
43
43
  { name: 'type QueryContext' },
44
44
  { name: 'type DbOperations' },
45
- { name: 'hasAllFields' },
46
45
  { name: 'allFieldsEqual' },
47
46
  { name: 'type PolicyDef' },
48
47
  ],
@@ -61,6 +60,7 @@ class PolicyGenerator {
61
60
  for (const model of models) {
62
61
  policyMap[model.name] = yield this.generateQueryGuardForModel(model, sf);
63
62
  }
63
+ const authSelector = this.generateAuthSelector(models);
64
64
  sf.addVariableStatement({
65
65
  declarationKind: ts_morph_1.VariableDeclarationKind.Const,
66
66
  declarations: [
@@ -97,6 +97,10 @@ class PolicyGenerator {
97
97
  writer.writeLine(',');
98
98
  }
99
99
  });
100
+ if (authSelector) {
101
+ writer.writeLine(',');
102
+ writer.write(`authSelector: ${JSON.stringify(authSelector)}`);
103
+ }
100
104
  });
101
105
  },
102
106
  },
@@ -120,6 +124,36 @@ class PolicyGenerator {
120
124
  }
121
125
  });
122
126
  }
127
+ // Generates a { select: ... } object to select `auth()` fields used in policy rules
128
+ generateAuthSelector(models) {
129
+ const authRules = [];
130
+ models.forEach((model) => {
131
+ // model-level rules
132
+ const modelPolicyAttrs = model.attributes.filter((attr) => ['@@allow', '@@deny'].includes(attr.decl.$refText));
133
+ // field-level rules
134
+ const fieldPolicyAttrs = model.fields
135
+ .flatMap((f) => f.attributes)
136
+ .filter((attr) => ['@allow', '@deny'].includes(attr.decl.$refText));
137
+ // all rule expression
138
+ const allExpressions = [...modelPolicyAttrs, ...fieldPolicyAttrs]
139
+ .filter((attr) => attr.args.length > 1)
140
+ .map((attr) => attr.args[1].value);
141
+ // collect `auth()` member access
142
+ allExpressions.forEach((rule) => {
143
+ (0, langium_1.streamAst)(rule).forEach((node) => {
144
+ if ((0, ast_1.isMemberAccessExpr)(node) && (0, ast_utils_1.isAuthInvocation)(node.operand)) {
145
+ authRules.push(node);
146
+ }
147
+ });
148
+ });
149
+ });
150
+ if (authRules.length > 0) {
151
+ return this.generateSelectForRules(authRules, true);
152
+ }
153
+ else {
154
+ return undefined;
155
+ }
156
+ }
123
157
  isEnumReferenced(model, decl) {
124
158
  return (0, langium_1.streamAllContents)(model).some((node) => {
125
159
  var _a, _b;
@@ -158,9 +192,17 @@ class PolicyGenerator {
158
192
  return result;
159
193
  }
160
194
  processUpdatePolicies(expressions, postUpdate) {
161
- return expressions
162
- .map((expr) => this.visitPolicyExpression(expr, postUpdate))
163
- .filter((e) => !!e);
195
+ const hasFutureReference = expressions.some((expr) => this.hasFutureReference(expr));
196
+ if (postUpdate) {
197
+ // when compiling post-update rules, if any rule contains `future()` reference,
198
+ // we include all as post-update rules
199
+ return hasFutureReference ? expressions : [];
200
+ }
201
+ else {
202
+ // when compiling pre-update rules, if any rule contains `future()` reference,
203
+ // we completely skip pre-update check and defer them to post-update
204
+ return hasFutureReference ? [] : expressions;
205
+ }
164
206
  }
165
207
  visitPolicyExpression(expr, postUpdate) {
166
208
  if ((0, ast_1.isBinaryExpr)(expr) && (expr.operator === '&&' || expr.operator === '||')) {
@@ -231,7 +273,7 @@ class PolicyGenerator {
231
273
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
232
274
  result[kind] = guardFunc.getName();
233
275
  if (kind === 'postUpdate') {
234
- const preValueSelect = this.generateSelectForRules(allows, denies);
276
+ const preValueSelect = this.generateSelectForRules([...allows, ...denies]);
235
277
  if (preValueSelect) {
236
278
  result[runtime_1.PRE_UPDATE_VALUE_SELECTOR] = preValueSelect;
237
279
  }
@@ -266,7 +308,7 @@ class PolicyGenerator {
266
308
  }
267
309
  if (allFieldsAllows.length > 0 || allFieldsDenies.length > 0) {
268
310
  result[runtime_1.HAS_FIELD_LEVEL_POLICY_FLAG] = true;
269
- const readFieldCheckSelect = this.generateSelectForRules(allFieldsAllows, allFieldsDenies);
311
+ const readFieldCheckSelect = this.generateSelectForRules([...allFieldsAllows, ...allFieldsDenies]);
270
312
  if (readFieldCheckSelect) {
271
313
  result[runtime_1.FIELD_LEVEL_READ_CHECKER_SELECTOR] = readFieldCheckSelect;
272
314
  }
@@ -376,7 +418,7 @@ class PolicyGenerator {
376
418
  }
377
419
  // generates a "select" object that contains (recursively) fields referenced by the
378
420
  // given policy rules
379
- generateSelectForRules(allows, denies) {
421
+ generateSelectForRules(rules, forAuthContext = false) {
380
422
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
381
423
  const result = {};
382
424
  const addPath = (path) => {
@@ -404,6 +446,9 @@ class PolicyGenerator {
404
446
  }
405
447
  }
406
448
  else if ((0, ast_1.isMemberAccessExpr)(node)) {
449
+ if (forAuthContext && (0, ast_utils_1.isAuthInvocation)(node.operand)) {
450
+ return [node.member.$refText];
451
+ }
407
452
  if ((0, sdk_1.isFutureExpr)(node.operand)) {
408
453
  // future().field is not subject to pre-update select
409
454
  return undefined;
@@ -453,6 +498,10 @@ class PolicyGenerator {
453
498
  return [];
454
499
  }
455
500
  }
501
+ else if ((0, ast_1.isInvocationExpr)(expr)) {
502
+ // recurse into function arguments
503
+ return expr.args.flatMap((arg) => collectReferencePaths(arg.value));
504
+ }
456
505
  else {
457
506
  // recurse
458
507
  const children = (0, langium_1.streamContents)(expr)
@@ -461,7 +510,7 @@ class PolicyGenerator {
461
510
  return children.flatMap((child) => collectReferencePaths(child));
462
511
  }
463
512
  };
464
- for (const rule of [...allows, ...denies]) {
513
+ for (const rule of rules) {
465
514
  const paths = collectReferencePaths(rule);
466
515
  paths.forEach((p) => addPath(p));
467
516
  }
@@ -501,7 +550,20 @@ class PolicyGenerator {
501
550
  throw err;
502
551
  }
503
552
  }
504
- writer.write(`return ${expression_writer_1.FALSE};`);
553
+ if (forField) {
554
+ if (allows.length === 0) {
555
+ // if there's no allow rule, for field-level rules, by default we allow
556
+ writer.write(`return ${expression_writer_1.TRUE};`);
557
+ }
558
+ else {
559
+ // if there's any allow rule, we deny unless any allow rule evaluates to true
560
+ writer.write(`return ${expression_writer_1.FALSE};`);
561
+ }
562
+ }
563
+ else {
564
+ // for model-level rules, the default is always deny
565
+ writer.write(`return ${expression_writer_1.FALSE};`);
566
+ }
505
567
  });
506
568
  }
507
569
  else {
@@ -528,6 +590,7 @@ class PolicyGenerator {
528
590
  writer.conditionalWrite(allows.length > 1, ']}');
529
591
  };
530
592
  if (allows.length > 0 && denies.length > 0) {
593
+ // include both allow and deny rules
531
594
  writer.write('{ AND: [');
532
595
  writeDenies();
533
596
  writer.write(',');
@@ -535,9 +598,11 @@ class PolicyGenerator {
535
598
  writer.write(']}');
536
599
  }
537
600
  else if (denies.length > 0) {
601
+ // only deny rules
538
602
  writeDenies();
539
603
  }
540
604
  else if (allows.length > 0) {
605
+ // only allow rules
541
606
  writeAllows();
542
607
  }
543
608
  else {
@@ -624,9 +689,7 @@ class PolicyGenerator {
624
689
  throw new sdk_1.PluginError(_1.name, 'User model does not have an id field');
625
690
  }
626
691
  // normalize user to null to avoid accidentally use undefined in filter
627
- statements.push(`const user = hasAllFields(context.user, [${userIdFields
628
- .map((f) => "'" + f.name + "'")
629
- .join(', ')}]) ? context.user as any : null;`);
692
+ statements.push(`const user: any = context.user ?? null;`);
630
693
  }
631
694
  }
632
695
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy-guard-generator.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/policy-guard-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy-guard-generator.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/policy-guard-generator.ts"],"names":[],"mappings":"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"}
@@ -149,7 +149,7 @@ class Transformer {
149
149
  if (
150
150
  // fieldRefTypes refer to other fields in the model and don't need to be generated as part of schema
151
151
  !isFieldRef &&
152
- ('prisma' || isEnum)) {
152
+ (inputType.namespace === 'prisma' || isEnum)) {
153
153
  if (inputType.type !== this.originalName && typeof inputType.type === 'string') {
154
154
  this.addSchemaImport(inputType.type);
155
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/plugins/zod/transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/plugins/zod/transformer.ts"],"names":[],"mappings":"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"}
package/res/stdlib.zmodel CHANGED
@@ -287,7 +287,7 @@ attribute @db.Citext() @@@targetField([StringField]) @@@prisma
287
287
  // Boolean type modifiers
288
288
 
289
289
  attribute @db.Boolean() @@@targetField([BooleanField]) @@@prisma
290
- attribute @db.TinyInt(_ x: Int?) @@@targetField([BooleanField]) @@@prisma
290
+ attribute @db.TinyInt(_ x: Int?) @@@targetField([BooleanField, IntField]) @@@prisma
291
291
  attribute @db.Bool() @@@targetField([BooleanField]) @@@prisma
292
292
 
293
293
  // Int type modifiers
@@ -10,4 +10,4 @@ export declare function resolveImportUri(imp: ModelImport): URI | undefined;
10
10
  export declare function resolveTransitiveImports(documents: LangiumDocuments, model: Model): Model[];
11
11
  export declare function resolveImport(documents: LangiumDocuments, imp: ModelImport): Model | undefined;
12
12
  export declare function getAllDeclarationsFromImports(documents: LangiumDocuments, model: Model): import("@zenstackhq/language/ast").AbstractDeclaration[];
13
- export declare function isCollectionPredicate(expr: Expression): expr is BinaryExpr;
13
+ export declare function isCollectionPredicate(node: AstNode): node is BinaryExpr;
@@ -129,8 +129,8 @@ function getAllDeclarationsFromImports(documents, model) {
129
129
  return model.declarations.concat(...imports.map((imp) => imp.declarations));
130
130
  }
131
131
  exports.getAllDeclarationsFromImports = getAllDeclarationsFromImports;
132
- function isCollectionPredicate(expr) {
133
- return (0, ast_1.isBinaryExpr)(expr) && ['?', '!', '^'].includes(expr.operator);
132
+ function isCollectionPredicate(node) {
133
+ return (0, ast_1.isBinaryExpr)(node) && ['?', '!', '^'].includes(node.operator);
134
134
  }
135
135
  exports.isCollectionPredicate = isCollectionPredicate;
136
136
  //# sourceMappingURL=ast-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/utils/ast-utils.ts"],"names":[],"mappings":";;;AAAA,kDAgBkC;AAClC,yCAA+C;AAC/C,qCAA0E;AAC1E,2CAAwC;AAExC,SAAgB,+BAA+B,CAAC,KAAY;IACxD,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,SAAS,CAAA,EAAA,CAAC,CAC3E,CAAC;AACrB,CAAC;AAJD,0EAIC;AAED,SAAgB,cAAc,CAAC,KAAY;IACvC,KAAK,CAAC,YAAY;SACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC;SACtC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,MAAM,SAAS,GAAG,IAAiB,CAAC;QAEpC,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,UAAU;YACnC,oEAAoE;aACnE,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,GAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;aACzE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE9B,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU;YACvC,oEAAoE;aACnE,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,GAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;aAC7E,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEP,yBAAyB;IACzB,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AACrG,CAAC;AAnBD,wCAmBC;AAED,SAAS,eAAe,CAAoB,KAAU,EAAE,SAAkB;IACtE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACtB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,UAAwB,CAAC;QACzC,mBAAmB;QACnB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/B,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,WAAW,CAAC,SAAoB;IAC5C,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACtD,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAC5D,CAAC;IACF,IAAI,YAAY,EAAE;QACd,OAAO,CAAC,YAAY,CAAC,CAAC;KACzB;SAAM;QACH,iCAAiC;QACjC,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,0CAAE,IAAI,MAAK,MAAM,CAAA,EAAA,CAAC,CAAC;QACzF,IAAI,WAAW,EAAE;YACb,kEAAkE;YAClE,IAAI,CAAC,IAAA,iBAAW,EAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBACzC,OAAO,EAAE,CAAC;aACb;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3C,OAAO,QAAQ,CAAC,KAAK;iBAChB,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;iBACpG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAqB,CAAC,CAAC;SACzD;KACJ;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AArBD,kCAqBC;AAED,SAAgB,gBAAgB,CAAC,IAAa;;IAC1C,OAAO,IAAA,sBAAgB,EAAC,IAAI,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,MAAK,MAAM,IAAI,IAAA,kBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC3G,CAAC;AAFD,4CAEC;AAED,SAAgB,0BAA0B,CAAC,IAAgB;IACvD,IAAI,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;KAC1B;SAAM,IAAI,IAAA,wBAAkB,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;KAC1B;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AARD,gEAQC;AAED,SAAgB,gBAAgB,CAAC,GAAgB;IAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACjD,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,MAAM,GAAG,kBAAK,CAAC,OAAO,CAAC,IAAA,qBAAW,EAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAClC,WAAW,IAAI,SAAS,CAAC;KAC5B;IACD,OAAO,kBAAK,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAVD,4CAUC;AAED,SAAgB,wBAAwB,CAAC,SAA2B,EAAE,KAAY;IAC9E,OAAO,gCAAgC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC9D,CAAC;AAFD,4DAEC;AAED,SAAS,gCAAgC,CACrC,SAA2B,EAC3B,KAAY,EACZ,YAAY,GAAG,KAAK,EACpB,UAAoB,IAAI,GAAG,EAAE,EAC7B,SAAqB,IAAI,GAAG,EAAE;IAE9B,MAAM,GAAG,GAAG,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,YAAY,KAAK,KAAK,EAAE;QACxB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACrB;IACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE;YAC7B,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YACpD,IAAI,aAAa,EAAE;gBACf,gCAAgC,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;aAC7F;SACJ;KACJ;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,aAAa,CAAC,SAA2B,EAAE,GAAgB;IACvE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI;QACA,IAAI,WAAW,EAAE;YACb,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YACpE,MAAM,IAAI,GAAG,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC;YAChD,IAAI,IAAA,aAAO,EAAC,IAAI,CAAC,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;SACJ;KACJ;IAAC,WAAM;QACJ,OAAO;KACV;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAdD,sCAcC;AAED,SAAgB,6BAA6B,CAAC,SAA2B,EAAE,KAAY;IACnF,MAAM,OAAO,GAAG,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3D,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;AAChF,CAAC;AAHD,sEAGC;AAED,SAAgB,qBAAqB,CAAC,IAAgB;IAClD,OAAO,IAAA,kBAAY,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC;AAFD,sDAEC"}
1
+ {"version":3,"file":"ast-utils.js","sourceRoot":"","sources":["../../src/utils/ast-utils.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class TypeScriptExpressionTransformerError extends Error {
6
6
  declare type Options = {
7
7
  isPostGuard?: boolean;
8
8
  fieldReferenceContext?: string;
9
+ thisExprContext?: string;
9
10
  context: ExpressionContext;
10
11
  };
11
12
  /**
@@ -48,6 +49,7 @@ export declare class TypeScriptExpressionTransformer {
48
49
  private array;
49
50
  private literal;
50
51
  private unary;
52
+ private isModelType;
51
53
  private binary;
52
54
  private collectionPredicate;
53
55
  }
@@ -72,8 +72,9 @@ class TypeScriptExpressionTransformer {
72
72
  }
73
73
  }
74
74
  this(_expr) {
75
+ var _a;
75
76
  // "this" is mapped to the input argument
76
- return 'input';
77
+ return (_a = this.options.thisExprContext) !== null && _a !== void 0 ? _a : 'input';
77
78
  }
78
79
  memberAccess(expr, normalizeUndefined) {
79
80
  var _a;
@@ -241,8 +242,19 @@ class TypeScriptExpressionTransformer {
241
242
  unary(expr, normalizeUndefined) {
242
243
  return `(${expr.operator} ${this.transform(expr.operand, normalizeUndefined)})`;
243
244
  }
245
+ isModelType(expr) {
246
+ var _a;
247
+ return (0, ast_1.isDataModel)((_a = expr.$resolvedType) === null || _a === void 0 ? void 0 : _a.decl);
248
+ }
244
249
  binary(expr, normalizeUndefined) {
245
- const _default = `(${this.transform(expr.left, normalizeUndefined)} ${expr.operator} ${this.transform(expr.right, normalizeUndefined)})`;
250
+ let left = this.transform(expr.left, normalizeUndefined);
251
+ let right = this.transform(expr.right, normalizeUndefined);
252
+ if (this.isModelType(expr.left) && this.isModelType(expr.right)) {
253
+ // comparison between model type values, map to id comparison
254
+ left = `(${left}?.id ?? null)`;
255
+ right = `(${right}?.id ?? null)`;
256
+ }
257
+ const _default = `(${left} ${expr.operator} ${right})`;
246
258
  return (0, ts_pattern_1.match)(expr.operator)
247
259
  .with('in', () => `(${this.transform(expr.right, false)}?.includes(${this.transform(expr.left, normalizeUndefined)}) ?? false)`)
248
260
  .with(ts_pattern_1.P.union('==', '!='), () => {
@@ -271,7 +283,7 @@ class TypeScriptExpressionTransformer {
271
283
  }
272
284
  collectionPredicate(expr, operator, normalizeUndefined) {
273
285
  const operand = this.transform(expr.left, normalizeUndefined);
274
- const innerTransformer = new TypeScriptExpressionTransformer(Object.assign(Object.assign({}, this.options), { fieldReferenceContext: '_item' }));
286
+ const innerTransformer = new TypeScriptExpressionTransformer(Object.assign(Object.assign({}, this.options), { isPostGuard: false, fieldReferenceContext: '_item', thisExprContext: '_item' }));
275
287
  const predicate = innerTransformer.transform(expr.right, normalizeUndefined);
276
288
  return (0, ts_pattern_1.match)(operator)
277
289
  .with('?', () => `!!((${operand})?.some((_item: any) => ${predicate}))`)
@@ -1 +1 @@
1
- {"version":3,"file":"typescript-expression-transformer.js","sourceRoot":"","sources":["../../src/utils/typescript-expression-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript-expression-transformer.js","sourceRoot":"","sources":["../../src/utils/typescript-expression-transformer.ts"],"names":[],"mappings":"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"}