zenstack 1.0.0-alpha.23 → 1.0.0-alpha.25
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/README.md +79 -9
- package/cli/cli-error.js +3 -5
- package/cli/cli-error.js.map +1 -1
- package/cli/cli-util.js +123 -105
- package/cli/cli-util.js.map +1 -1
- package/cli/index.js +105 -63
- package/cli/index.js.map +1 -1
- package/cli/plugin-runner.js +130 -127
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/constants.js +5 -13
- package/language-server/constants.js.map +1 -1
- package/language-server/main.js +8 -15
- package/language-server/main.js.map +1 -1
- package/language-server/types.js +3 -1
- package/language-server/types.js.map +1 -1
- package/language-server/utils.js +13 -16
- package/language-server/utils.js.map +1 -1
- package/language-server/validator/attribute-validator.js +3 -7
- package/language-server/validator/attribute-validator.js.map +1 -1
- package/language-server/validator/datamodel-validator.js +293 -347
- package/language-server/validator/datamodel-validator.js.map +1 -1
- package/language-server/validator/datasource-validator.js +61 -71
- package/language-server/validator/datasource-validator.js.map +1 -1
- package/language-server/validator/enum-validator.js +6 -10
- package/language-server/validator/enum-validator.js.map +1 -1
- package/language-server/validator/expression-validator.js +25 -31
- package/language-server/validator/expression-validator.js.map +1 -1
- package/language-server/validator/schema-validator.js +18 -25
- package/language-server/validator/schema-validator.js.map +1 -1
- package/language-server/validator/utils.js +86 -85
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/validator/zmodel-validator.js +55 -58
- package/language-server/validator/zmodel-validator.js.map +1 -1
- package/language-server/zmodel-formatter.js +40 -21
- package/language-server/zmodel-formatter.js.map +1 -1
- package/language-server/zmodel-linker.js +328 -331
- package/language-server/zmodel-linker.js.map +1 -1
- package/language-server/zmodel-module.js +50 -59
- package/language-server/zmodel-module.js.map +1 -1
- package/language-server/zmodel-scope.js +35 -25
- package/language-server/zmodel-scope.js.map +1 -1
- package/language-server/zmodel-workspace-manager.js +30 -18
- package/language-server/zmodel-workspace-manager.js.map +1 -1
- package/package.json +8 -12
- package/plugins/access-policy/expression-writer.js +301 -292
- package/plugins/access-policy/expression-writer.js.map +1 -1
- package/plugins/access-policy/index.js +20 -11
- package/plugins/access-policy/index.js.map +1 -1
- package/plugins/access-policy/policy-guard-generator.js +327 -321
- package/plugins/access-policy/policy-guard-generator.js.map +1 -1
- package/plugins/access-policy/typescript-expression-transformer.js +94 -95
- package/plugins/access-policy/typescript-expression-transformer.js.map +1 -1
- package/plugins/access-policy/utils.js +7 -9
- package/plugins/access-policy/utils.js.map +1 -1
- package/plugins/access-policy/zod-schema-generator.js +143 -159
- package/plugins/access-policy/zod-schema-generator.js.map +1 -1
- package/plugins/model-meta/index.js +97 -102
- package/plugins/model-meta/index.js.map +1 -1
- package/plugins/plugin-utils.js +34 -40
- package/plugins/plugin-utils.js.map +1 -1
- package/plugins/prisma/indent-string.js +4 -8
- package/plugins/prisma/indent-string.js.map +1 -1
- package/plugins/prisma/index.js +20 -11
- package/plugins/prisma/index.js.map +1 -1
- package/plugins/prisma/prisma-builder.js +235 -213
- package/plugins/prisma/prisma-builder.js.map +1 -1
- package/plugins/prisma/schema-generator.js +205 -192
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/prisma/zmodel-code-generator.js +109 -114
- package/plugins/prisma/zmodel-code-generator.js.map +1 -1
- package/telemetry.js +107 -90
- package/telemetry.js.map +1 -1
- package/types.js +3 -1
- package/types.js.map +1 -1
- package/utils/ast-utils.js +67 -67
- package/utils/ast-utils.js.map +1 -1
- package/utils/exec-utils.js +6 -15
- package/utils/exec-utils.js.map +1 -1
- package/utils/pkg-utils.js +38 -35
- package/utils/pkg-utils.js.map +1 -1
- package/utils/version-utils.js +9 -10
- package/utils/version-utils.js.map +1 -1
- package/global.d.js +0 -1
- package/global.d.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-writer.js","names":["ExpressionWriter","constructor","writer","isPostGuard","plainExprBuilder","TypeScriptExpressionTransformer","write","expr","_write","$type","LiteralExpr","writeLiteral","UnaryExpr","writeUnary","BinaryExpr","writeBinary","ReferenceExpr","writeReference","MemberAccessExpr","writeMemberAccess","Error","block","isEnumField","target","ref","name","writeFieldCondition","operand","member","writeExprList","exprs","i","length","operator","writeLogical","writeComparison","writeCollectionPredicate","left","right","isFieldAccess","isThisExpr","isMemberAccessExpr","isFutureExpr","isReferenceExpr","isDataModelField","guard","GUARD_FIELD_NAME","plain","transform","leftIsFieldAccess","rightIsFieldAccess","PluginError","fieldAccess","negateOperator","$container","$resolvedType","dataModel","isModelTyped","idField","getIdField","writeOperator","writeOperand","mapOperator","writeCondition","relationOp","selector","condition","inlineBlock","isDataModel","decl","undefined"],"sources":["../../../src/plugins/access-policy/expression-writer.ts"],"sourcesContent":["import {\n BinaryExpr,\n DataModel,\n Expression,\n LiteralExpr,\n MemberAccessExpr,\n ReferenceExpr,\n UnaryExpr,\n isDataModel,\n isDataModelField,\n isEnumField,\n isMemberAccessExpr,\n isReferenceExpr,\n isThisExpr,\n} from '@zenstackhq/language/ast';\nimport { GUARD_FIELD_NAME, PluginError } from '@zenstackhq/sdk';\nimport { CodeBlockWriter } from 'ts-morph';\nimport { getIdField } from '../../utils/ast-utils';\nimport TypeScriptExpressionTransformer from './typescript-expression-transformer';\nimport { isFutureExpr } from './utils';\n\ntype ComparisonOperator = '==' | '!=' | '>' | '>=' | '<' | '<=';\n\n/**\n * Utility for writing ZModel expression as Prisma query argument objects into a ts-morph writer\n */\nexport class ExpressionWriter {\n private readonly plainExprBuilder: TypeScriptExpressionTransformer;\n\n /**\n * Constructs a new ExpressionWriter\n *\n * @param isPostGuard indicates if we're writing for post-update conditions\n */\n constructor(private readonly writer: CodeBlockWriter, private readonly isPostGuard = false) {\n this.plainExprBuilder = new TypeScriptExpressionTransformer(this.isPostGuard);\n }\n\n /**\n * Writes the given ZModel expression.\n */\n write(expr: Expression): void {\n const _write = () => {\n switch (expr.$type) {\n case LiteralExpr:\n this.writeLiteral(expr as LiteralExpr);\n break;\n\n case UnaryExpr:\n this.writeUnary(expr as UnaryExpr);\n break;\n\n case BinaryExpr:\n this.writeBinary(expr as BinaryExpr);\n break;\n\n case ReferenceExpr:\n this.writeReference(expr as ReferenceExpr);\n break;\n\n case MemberAccessExpr:\n this.writeMemberAccess(expr as MemberAccessExpr);\n break;\n\n default:\n throw new Error(`Not implemented: ${expr.$type}`);\n }\n };\n\n this.block(_write);\n }\n\n private writeReference(expr: ReferenceExpr) {\n if (isEnumField(expr.target.ref)) {\n throw new Error('We should never get here');\n } else {\n this.writer.write(`${expr.target.ref?.name}: true`);\n }\n }\n\n private writeMemberAccess(expr: MemberAccessExpr) {\n this.writeFieldCondition(\n expr.operand,\n () => {\n this.block(() => {\n this.writer.write(`${expr.member.ref?.name}: true`);\n });\n },\n 'is'\n );\n }\n\n private writeExprList(exprs: Expression[]) {\n this.writer.write('[');\n for (let i = 0; i < exprs.length; i++) {\n this.write(exprs[i]);\n if (i !== exprs.length - 1) {\n this.writer.write(',');\n }\n }\n this.writer.write(']');\n }\n\n private writeBinary(expr: BinaryExpr) {\n switch (expr.operator) {\n case '&&':\n case '||':\n this.writeLogical(expr, expr.operator);\n break;\n\n case '==':\n case '!=':\n case '>':\n case '>=':\n case '<':\n case '<=':\n this.writeComparison(expr, expr.operator);\n break;\n\n case '?':\n case '!':\n case '^':\n this.writeCollectionPredicate(expr, expr.operator);\n break;\n }\n }\n\n private writeCollectionPredicate(expr: BinaryExpr, operator: string) {\n this.writeFieldCondition(\n expr.left,\n () => {\n this.write(expr.right);\n },\n operator === '?' ? 'some' : operator === '!' ? 'every' : 'none'\n );\n }\n\n private isFieldAccess(expr: Expression): boolean {\n if (isThisExpr(expr)) {\n return true;\n }\n\n if (isMemberAccessExpr(expr)) {\n if (isFutureExpr(expr.operand) && this.isPostGuard) {\n // when writing for post-update, future().field.x is a field access\n return true;\n } else {\n return this.isFieldAccess(expr.operand);\n }\n }\n if (isReferenceExpr(expr) && isDataModelField(expr.target.ref) && !this.isPostGuard) {\n return true;\n }\n return false;\n }\n\n private guard(write: () => void) {\n this.writer.write(`${GUARD_FIELD_NAME}: `);\n write();\n }\n\n private plain(expr: Expression) {\n this.writer.write(this.plainExprBuilder.transform(expr));\n }\n\n private writeComparison(expr: BinaryExpr, operator: ComparisonOperator) {\n const leftIsFieldAccess = this.isFieldAccess(expr.left);\n const rightIsFieldAccess = this.isFieldAccess(expr.right);\n\n if (leftIsFieldAccess && rightIsFieldAccess) {\n throw new PluginError(`Comparison between fields are not supported yet`);\n }\n\n if (!leftIsFieldAccess && !rightIsFieldAccess) {\n // compile down to a plain expression\n this.guard(() => {\n this.plain(expr.left);\n this.writer.write(' ' + operator + ' ');\n this.plain(expr.right);\n });\n\n return;\n }\n\n let fieldAccess: Expression;\n let operand: Expression;\n if (leftIsFieldAccess) {\n fieldAccess = expr.left;\n operand = expr.right;\n } else {\n fieldAccess = expr.right;\n operand = expr.left;\n operator = this.negateOperator(operator);\n }\n\n if (isMemberAccessExpr(fieldAccess) && isFutureExpr(fieldAccess.operand)) {\n // future().field should be treated as the \"field\" directly, so we\n // strip 'future().' and synthesize a reference expr\n fieldAccess = {\n $type: ReferenceExpr,\n $container: fieldAccess.$container,\n target: fieldAccess.member,\n $resolvedType: fieldAccess.$resolvedType,\n } as ReferenceExpr;\n }\n\n this.writeFieldCondition(\n fieldAccess,\n () => {\n this.block(\n () => {\n const dataModel = this.isModelTyped(fieldAccess);\n if (dataModel) {\n const idField = getIdField(dataModel);\n if (!idField) {\n throw new PluginError(`Data model ${dataModel.name} does not have an id field`);\n }\n // comparing with an object, conver to \"id\" comparison instead\n this.writer.write(`${idField.name}: `);\n this.block(() => {\n this.writeOperator(operator, () => {\n this.plain(operand);\n this.writer.write(`?.${idField.name}`);\n });\n });\n } else {\n this.writeOperator(operator, () => {\n this.plain(operand);\n });\n }\n },\n // \"this\" expression is compiled away (to .id access), so we should\n // avoid generating a new layer\n !isThisExpr(fieldAccess)\n );\n },\n 'is'\n );\n }\n\n private writeOperator(operator: ComparisonOperator, writeOperand: () => void) {\n if (operator === '!=') {\n // wrap a 'not'\n this.writer.write('not: ');\n this.block(() => {\n this.writeOperator('==', writeOperand);\n });\n } else {\n this.writer.write(`${this.mapOperator(operator)}: `);\n writeOperand();\n }\n }\n\n private writeFieldCondition(\n fieldAccess: Expression,\n writeCondition: () => void,\n relationOp: 'is' | 'some' | 'every' | 'none'\n ) {\n let selector: string | undefined;\n let operand: Expression | undefined;\n\n if (isThisExpr(fieldAccess)) {\n // pass on\n writeCondition();\n return;\n } else if (isReferenceExpr(fieldAccess)) {\n selector = fieldAccess.target.ref?.name;\n } else if (isMemberAccessExpr(fieldAccess)) {\n if (isFutureExpr(fieldAccess.operand)) {\n // future().field should be treated as the \"field\"\n selector = fieldAccess.member.ref?.name;\n } else {\n selector = fieldAccess.member.ref?.name;\n operand = fieldAccess.operand;\n }\n } else {\n throw new PluginError(`Unsupported expression type: ${fieldAccess.$type}`);\n }\n\n if (!selector) {\n throw new PluginError(`Failed to write FieldAccess expression`);\n }\n\n if (operand) {\n // member access expression\n this.writeFieldCondition(\n operand,\n () => {\n this.block(\n () => {\n this.writer.write(selector + ': ');\n if (this.isModelTyped(fieldAccess)) {\n // expression is resolved to a model, generate relation query\n this.block(() => {\n this.writer.write(`${relationOp}: `);\n writeCondition();\n });\n } else {\n // generate plain query\n writeCondition();\n }\n },\n // if operand is \"this\", it doesn't really generate a new layer of query,\n // so we should avoid generating a new block\n !isThisExpr(operand)\n );\n },\n 'is'\n );\n } else if (this.isModelTyped(fieldAccess)) {\n // reference resolved to a model, generate relation query\n this.writer.write(selector + ': ');\n this.block(() => {\n this.writer.write(`${relationOp}: `);\n writeCondition();\n });\n } else {\n // generate a plain query\n this.writer.write(selector + ': ');\n writeCondition();\n }\n }\n\n private block(write: () => void, condition = true) {\n if (condition) {\n this.writer.inlineBlock(write);\n } else {\n write();\n }\n }\n\n private isModelTyped(expr: Expression) {\n return isDataModel(expr.$resolvedType?.decl) ? (expr.$resolvedType?.decl as DataModel) : undefined;\n }\n\n private mapOperator(operator: '==' | '!=' | '>' | '>=' | '<' | '<=') {\n switch (operator) {\n case '==':\n return 'equals';\n case '!=':\n throw new Error('Operation != should have been compiled away');\n case '>':\n return 'gt';\n case '>=':\n return 'gte';\n case '<':\n return 'lt';\n case '<=':\n return 'lte';\n }\n }\n\n private negateOperator(operator: '==' | '!=' | '>' | '>=' | '<' | '<=') {\n switch (operator) {\n case '>':\n return '<=';\n case '<':\n return '>=';\n case '>=':\n return '<';\n case '<=':\n return '>';\n default:\n return operator;\n }\n }\n\n private writeLogical(expr: BinaryExpr, operator: '&&' | '||') {\n this.writer.write(`${operator === '&&' ? 'AND' : 'OR'}: `);\n this.writeExprList([expr.left, expr.right]);\n }\n\n private writeUnary(expr: UnaryExpr) {\n if (expr.operator !== '!') {\n throw new PluginError(`Unary operator \"${expr.operator}\" is not supported`);\n }\n\n this.writer.write('NOT: ');\n this.write(expr.operand);\n }\n\n private writeLiteral(expr: LiteralExpr) {\n this.guard(() => {\n this.plain(expr);\n });\n }\n}\n"],"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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"}
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
|
|
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 });
|
|
7
15
|
exports.name = void 0;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
const policy_guard_generator_1 = __importDefault(require("./policy-guard-generator"));
|
|
17
|
+
exports.name = 'Access Policy';
|
|
18
|
+
function run(model, options) {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
return new policy_guard_generator_1.default().generate(model, options);
|
|
21
|
+
});
|
|
14
22
|
}
|
|
23
|
+
exports.default = run;
|
|
15
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/access-policy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,sFAAuD;AAE1C,QAAA,IAAI,GAAG,eAAe,CAAC;AAEpC,SAA8B,GAAG,CAAC,KAAY,EAAE,OAAsB;;QAClE,OAAO,IAAI,gCAAe,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CAAA;AAFD,sBAEC"}
|