zenstack 0.1.41 → 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/.vscode/extensions.json +7 -0
- package/.vscode/launch.json +49 -0
- package/.vscode/settings.json +4 -0
- package/README.md +1 -0
- package/package.json +8 -90
- package/packages/internal/jest.config.ts +32 -0
- package/packages/internal/package.json +42 -0
- package/packages/internal/src/constants.ts +1 -0
- package/packages/internal/src/handler/data/guard-utils.ts +7 -0
- package/packages/internal/src/handler/data/handler.ts +415 -0
- package/packages/internal/src/handler/data/query-processor.ts +504 -0
- package/packages/internal/src/handler/index.ts +1 -0
- package/packages/internal/src/handler/types.ts +20 -0
- package/packages/internal/src/index.ts +3 -0
- package/packages/internal/src/request-handler.ts +27 -0
- package/packages/internal/src/request.ts +101 -0
- package/packages/internal/src/types.ts +40 -0
- package/packages/internal/tests/query-processor.test.ts +172 -0
- package/{out/cli/tsconfig.template.json → packages/internal/tsconfig.json} +7 -3
- package/packages/runtime/auth.d.ts +1 -0
- package/packages/runtime/auth.js +3 -0
- package/packages/runtime/hooks.d.ts +10 -0
- package/packages/runtime/hooks.js +3 -0
- package/packages/runtime/index.d.ts +3 -0
- package/packages/runtime/index.js +1 -0
- package/packages/runtime/package-lock.json +512 -0
- package/packages/runtime/package.json +16 -0
- package/packages/runtime/server.d.ts +1 -0
- package/packages/runtime/server.js +3 -0
- package/packages/runtime/types.d.ts +1 -0
- package/packages/runtime/types.js +3 -0
- package/packages/schema/.eslintrc.json +13 -0
- package/packages/schema/.vscodeignore +4 -0
- package/packages/schema/asset/logo-dark.png +0 -0
- package/packages/schema/asset/logo-light.png +0 -0
- package/{bin → packages/schema/bin}/cli +0 -0
- package/packages/schema/jest.config.ts +32 -0
- package/packages/schema/langium-config.json +14 -0
- package/packages/schema/langium-quickstart.md +41 -0
- package/packages/schema/language-configuration.json +30 -0
- package/packages/schema/package.json +96 -0
- package/packages/schema/src/cli/cli-util.ts +80 -0
- package/packages/schema/src/cli/index.ts +64 -0
- package/packages/schema/src/extension.ts +76 -0
- package/packages/schema/src/generator/constants.ts +5 -0
- package/packages/schema/src/generator/index.ts +92 -0
- package/{out/generator/next-auth/index.js → packages/schema/src/generator/next-auth/index.ts} +46 -58
- package/{out → packages/schema/src}/generator/package.template.json +0 -0
- package/packages/schema/src/generator/prisma/expression-writer.ts +352 -0
- package/packages/schema/src/generator/prisma/index.ts +32 -0
- package/packages/schema/src/generator/prisma/plain-expression-builder.ts +91 -0
- package/packages/schema/src/generator/prisma/prisma-builder.ts +366 -0
- package/packages/schema/src/generator/prisma/query-gard-generator.ts +208 -0
- package/packages/schema/src/generator/prisma/schema-generator.ts +300 -0
- package/packages/schema/src/generator/react-hooks/index.ts +181 -0
- package/packages/schema/src/generator/service/index.ts +107 -0
- package/{out → packages/schema/src}/generator/tsconfig.template.json +0 -0
- package/packages/schema/src/generator/types.ts +17 -0
- package/packages/schema/src/generator/utils.ts +9 -0
- package/packages/schema/src/language-server/generated/ast.ts +603 -0
- package/{out/language-server/generated/grammar.js → packages/schema/src/language-server/generated/grammar.ts} +5 -8
- package/packages/schema/src/language-server/generated/module.ts +24 -0
- package/packages/schema/src/language-server/main.ts +12 -0
- package/{out → packages/schema/src}/language-server/stdlib.zmodel +0 -0
- package/packages/schema/src/language-server/types.ts +9 -0
- package/packages/schema/src/language-server/zmodel-index.ts +33 -0
- package/packages/schema/src/language-server/zmodel-linker.ts +409 -0
- package/packages/schema/src/language-server/zmodel-module.ts +90 -0
- package/packages/schema/src/language-server/zmodel-scope.ts +21 -0
- package/packages/schema/src/language-server/zmodel-validator.ts +35 -0
- package/packages/schema/src/language-server/zmodel.langium +186 -0
- package/packages/schema/src/utils/exec-utils.ts +5 -0
- package/packages/schema/src/utils/indent-string.ts +6 -0
- package/packages/schema/syntaxes/zmodel.json +57 -0
- package/packages/schema/syntaxes/zmodel.tmLanguage.json +57 -0
- package/packages/schema/tests/generator/expression-writer.test.ts +676 -0
- package/packages/schema/tests/generator/prisma-builder.test.ts +138 -0
- package/packages/schema/tests/schema/parser.test.ts +423 -0
- package/packages/schema/tests/schema/sample-todo.test.ts +14 -0
- package/packages/schema/tests/utils.ts +38 -0
- package/packages/schema/tsconfig.json +23 -0
- package/pnpm-workspace.yaml +3 -0
- package/samples/todo/.env +2 -0
- package/samples/todo/.eslintrc.json +3 -0
- package/samples/todo/.vscode/launch.json +11 -0
- package/samples/todo/README.md +34 -0
- package/samples/todo/components/AuthGuard.tsx +17 -0
- package/samples/todo/components/Avatar.tsx +22 -0
- package/samples/todo/components/BreadCrumb.tsx +44 -0
- package/samples/todo/components/ManageMembers.tsx +134 -0
- package/samples/todo/components/NavBar.tsx +57 -0
- package/samples/todo/components/SpaceMembers.tsx +76 -0
- package/samples/todo/components/Spaces.tsx +28 -0
- package/samples/todo/components/TimeInfo.tsx +17 -0
- package/samples/todo/components/Todo.tsx +72 -0
- package/samples/todo/components/TodoList.tsx +77 -0
- package/samples/todo/lib/context.ts +31 -0
- package/samples/todo/next.config.js +10 -0
- package/samples/todo/package-lock.json +7527 -0
- package/samples/todo/package.json +45 -0
- package/samples/todo/pages/_app.tsx +50 -0
- package/samples/todo/pages/api/auth/[...nextauth].ts +83 -0
- package/samples/todo/pages/api/zenstack/[...path].ts +16 -0
- package/samples/todo/pages/create-space.tsx +114 -0
- package/samples/todo/pages/index.tsx +32 -0
- package/samples/todo/pages/space/[slug]/[listId]/index.tsx +88 -0
- package/samples/todo/pages/space/[slug]/index.tsx +169 -0
- package/samples/todo/postcss.config.js +6 -0
- package/samples/todo/public/avatar.jpg +0 -0
- package/samples/todo/public/favicon.ico +0 -0
- package/samples/todo/public/logo.png +0 -0
- package/samples/todo/public/vercel.svg +4 -0
- package/samples/todo/styles/globals.css +7 -0
- package/samples/todo/tailwind.config.js +11 -0
- package/samples/todo/tsconfig.json +28 -0
- package/samples/todo/types/next-auth.d.ts +14 -0
- package/samples/todo/types/next.d.ts +16 -0
- package/samples/todo/zenstack/migrations/20221014084317_init/migration.sql +153 -0
- package/samples/todo/zenstack/migrations/20221020094651_upate_cli/migration.sql +23 -0
- package/samples/todo/zenstack/migrations/migration_lock.toml +3 -0
- package/samples/todo/zenstack/schema.prisma +126 -0
- package/samples/todo/zenstack/schema.zmodel +161 -0
- package/tests/integration/jest.config.ts +16 -0
- package/tests/integration/package-lock.json +1081 -0
- package/tests/integration/package.json +27 -0
- package/tests/integration/tests/operation-coverate.test.ts +563 -0
- package/tests/integration/tests/operations.zmodel +69 -0
- package/tests/integration/tests/todo-e2e.test.ts +577 -0
- package/tests/integration/tests/todo.zmodel +123 -0
- package/tests/integration/tests/tsconfig.template.json +10 -0
- package/tests/integration/tests/utils.ts +133 -0
- package/tests/integration/tsconfig.json +10 -0
- package/out/cli/cli-util.js +0 -64
- package/out/cli/cli-util.js.map +0 -1
- package/out/cli/generator.js +0 -1
- package/out/cli/generator.js.map +0 -1
- package/out/cli/index.js +0 -46
- package/out/cli/index.js.map +0 -1
- package/out/cli/package.template.json +0 -10
- package/out/extension.js +0 -81
- package/out/extension.js.map +0 -1
- package/out/generator/constants.js +0 -9
- package/out/generator/constants.js.map +0 -1
- package/out/generator/data-server/index.js +0 -1
- package/out/generator/data-server/index.js.map +0 -1
- package/out/generator/index.js +0 -98
- package/out/generator/index.js.map +0 -1
- package/out/generator/next-auth/index.js.map +0 -1
- package/out/generator/prisma/expression-writer.js +0 -287
- package/out/generator/prisma/expression-writer.js.map +0 -1
- package/out/generator/prisma/index.js +0 -38
- package/out/generator/prisma/index.js.map +0 -1
- package/out/generator/prisma/plain-expression-builder.js +0 -69
- package/out/generator/prisma/plain-expression-builder.js.map +0 -1
- package/out/generator/prisma/prisma-builder.js +0 -307
- package/out/generator/prisma/prisma-builder.js.map +0 -1
- package/out/generator/prisma/query-gard-generator.js +0 -159
- package/out/generator/prisma/query-gard-generator.js.map +0 -1
- package/out/generator/prisma/schema-generator.js +0 -201
- package/out/generator/prisma/schema-generator.js.map +0 -1
- package/out/generator/query-guard/index.js +0 -2
- package/out/generator/query-guard/index.js.map +0 -1
- package/out/generator/react-hooks/index.js +0 -179
- package/out/generator/react-hooks/index.js.map +0 -1
- package/out/generator/server/data/data-generator.js +0 -376
- package/out/generator/server/data/data-generator.js.map +0 -1
- package/out/generator/server/data/expression-writer.js +0 -287
- package/out/generator/server/data/expression-writer.js.map +0 -1
- package/out/generator/server/data/plain-expression-builder.js +0 -69
- package/out/generator/server/data/plain-expression-builder.js.map +0 -1
- package/out/generator/server/data-generator.js +0 -82
- package/out/generator/server/data-generator.js.map +0 -1
- package/out/generator/server/expression-writer.js +0 -1
- package/out/generator/server/expression-writer.js.map +0 -1
- package/out/generator/server/function/function-generator.js +0 -50
- package/out/generator/server/function/function-generator.js.map +0 -1
- package/out/generator/server/function-generator.js +0 -13
- package/out/generator/server/function-generator.js.map +0 -1
- package/out/generator/server/index.js +0 -88
- package/out/generator/server/index.js.map +0 -1
- package/out/generator/server/js-expression-builder.js +0 -1
- package/out/generator/server/js-expression-builder.js.map +0 -1
- package/out/generator/server/plain-expression-builder.js +0 -1
- package/out/generator/server/plain-expression-builder.js.map +0 -1
- package/out/generator/server/server-code-generator.js +0 -3
- package/out/generator/server/server-code-generator.js.map +0 -1
- package/out/generator/server/server-code-writer.js +0 -1
- package/out/generator/server/server-code-writer.js.map +0 -1
- package/out/generator/service/index.js +0 -133
- package/out/generator/service/index.js.map +0 -1
- package/out/generator/types.js +0 -10
- package/out/generator/types.js.map +0 -1
- package/out/generator/utils.js +0 -10
- package/out/generator/utils.js.map +0 -1
- package/out/language-server/generated/ast.js +0 -386
- package/out/language-server/generated/ast.js.map +0 -1
- package/out/language-server/generated/grammar.js.map +0 -1
- package/out/language-server/generated/module.js +0 -23
- package/out/language-server/generated/module.js.map +0 -1
- package/out/language-server/main.js +0 -12
- package/out/language-server/main.js.map +0 -1
- package/out/language-server/types.js +0 -3
- package/out/language-server/types.js.map +0 -1
- package/out/language-server/zmodel-index.js +0 -38
- package/out/language-server/zmodel-index.js.map +0 -1
- package/out/language-server/zmodel-linker.js +0 -241
- package/out/language-server/zmodel-linker.js.map +0 -1
- package/out/language-server/zmodel-module.js +0 -51
- package/out/language-server/zmodel-module.js.map +0 -1
- package/out/language-server/zmodel-scope.js +0 -30
- package/out/language-server/zmodel-scope.js.map +0 -1
- package/out/language-server/zmodel-validator.js +0 -25
- package/out/language-server/zmodel-validator.js.map +0 -1
- package/out/utils/indent-string.js +0 -9
- package/out/utils/indent-string.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../../src/generator/server/data/expression-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const types_1 = require("../../types");
|
|
4
|
-
const ast_1 = require("../../../language-server/generated/ast");
|
|
5
|
-
class PlainExpressionBuilder {
|
|
6
|
-
build(expr) {
|
|
7
|
-
switch (expr.$type) {
|
|
8
|
-
case ast_1.LiteralExpr:
|
|
9
|
-
return this.literal(expr);
|
|
10
|
-
case ast_1.ArrayExpr:
|
|
11
|
-
return this.array(expr);
|
|
12
|
-
case ast_1.NullExpr:
|
|
13
|
-
return this.null();
|
|
14
|
-
case ast_1.ThisExpr:
|
|
15
|
-
return this.this(expr);
|
|
16
|
-
case ast_1.ReferenceExpr:
|
|
17
|
-
return this.reference(expr);
|
|
18
|
-
case ast_1.InvocationExpr:
|
|
19
|
-
return this.invocation(expr);
|
|
20
|
-
case ast_1.MemberAccessExpr:
|
|
21
|
-
return this.memberAccess(expr);
|
|
22
|
-
default:
|
|
23
|
-
throw new types_1.GeneratorError(`Unsupported expression type: ${expr.$type}`);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
this(expr) {
|
|
27
|
-
// "this" is mapped to id comparison
|
|
28
|
-
return 'id';
|
|
29
|
-
}
|
|
30
|
-
memberAccess(expr) {
|
|
31
|
-
if ((0, ast_1.isThisExpr)(expr.operand)) {
|
|
32
|
-
return expr.member.ref.name;
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return `${this.build(expr.operand)}?.${expr.member.ref.name}`;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
invocation(expr) {
|
|
39
|
-
var _a, _b;
|
|
40
|
-
if (((_a = expr.function.ref) === null || _a === void 0 ? void 0 : _a.name) !== 'auth') {
|
|
41
|
-
throw new types_1.GeneratorError(`Function invocation is not supported: ${(_b = expr.function.ref) === null || _b === void 0 ? void 0 : _b.name}`);
|
|
42
|
-
}
|
|
43
|
-
return 'user';
|
|
44
|
-
}
|
|
45
|
-
reference(expr) {
|
|
46
|
-
if ((0, ast_1.isEnumField)(expr.target.ref)) {
|
|
47
|
-
return `${expr.target.ref.$container.name}.${expr.target.ref.name}`;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
return expr.target.ref.name;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
null() {
|
|
54
|
-
return 'null';
|
|
55
|
-
}
|
|
56
|
-
array(expr) {
|
|
57
|
-
return `[${expr.items.map((item) => this.build(item)).join(', ')}]`;
|
|
58
|
-
}
|
|
59
|
-
literal(expr) {
|
|
60
|
-
if (typeof expr.value === 'string') {
|
|
61
|
-
return `'${expr.value}'`;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
return expr.value.toString();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
exports.default = PlainExpressionBuilder;
|
|
69
|
-
//# sourceMappingURL=plain-expression-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plain-expression-builder.js","sourceRoot":"","sources":["../../../../src/generator/server/data/plain-expression-builder.ts"],"names":[],"mappings":";;AAAA,uCAA6C;AAC7C,6CAW6B;AAE7B,MAAqB,sBAAsB;IACvC,KAAK,CAAC,IAAgB;QAClB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAChB,KAAK,iBAAW;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC;YAE7C,KAAK,eAAS;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAiB,CAAC,CAAC;YAEzC,KAAK,cAAQ;gBACT,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvB,KAAK,cAAQ;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,IAAgB,CAAC,CAAC;YAEvC,KAAK,mBAAa;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAqB,CAAC,CAAC;YAEjD,KAAK,oBAAc;gBACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAsB,CAAC,CAAC;YAEnD,KAAK,sBAAgB;gBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAwB,CAAC,CAAC;YAEvD;gBACI,MAAM,IAAI,sBAAc,CACpB,gCAAgC,IAAI,CAAC,KAAK,EAAE,CAC/C,CAAC;SACT;IACL,CAAC;IAEO,IAAI,CAAC,IAAc;QACvB,oCAAoC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,YAAY,CAAC,IAAsB;QACvC,IAAI,IAAA,gBAAU,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,CAAC;SAChC;aAAM;YACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC;SAClE;IACL,CAAC;IAEO,UAAU,CAAC,IAAoB;;QACnC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,MAAK,MAAM,EAAE;YACpC,MAAM,IAAI,sBAAc,CACpB,yCAAyC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,EAAE,CACrE,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,SAAS,CAAC,IAAmB;QACjC,IAAI,IAAA,iBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC9B,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACvE;aAAM;YACH,OAAO,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,CAAC;SAChC;IACL,CAAC;IAEO,IAAI;QACR,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,IAAe;QACzB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxE,CAAC;IAEO,OAAO,CAAC,IAAiB;QAC7B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;SAC5B;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAChC;IACL,CAAC;CACJ;AA5ED,yCA4EC"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||('get'in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k];}};}Object.defineProperty(o,k2,desc);}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k];});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,'default',{enumerable:true,value:v});}:function(o,v){o['default']=v;});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=='default'&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result;};var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{'default':mod};};Object.defineProperty(exports,'__esModule',{value:true});const ts_morph_1=require('ts-morph');const path=__importStar(require('path'));const change_case_1=require('change-case');const utils_1=require('../utils');const expression_writer_1=__importDefault(require('./expression-writer'));class DataServerGenerator{generate(project,context){const models=(0,utils_1.extractDataModelsWithAllowRules)(context.schema);this.generateIndex(models,project,context);this.generateUtils(project,context);models.forEach(model=>this.generateForModel(model,project,context));}generateIndex(models,project,context){const content=`
|
|
2
|
-
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
3
|
-
import { RequestionHandlerOptions } from '..';
|
|
4
|
-
${models.map(model=>this.writeModelImport(model)).join('\n')}
|
|
5
|
-
|
|
6
|
-
export default async function (
|
|
7
|
-
req: NextApiRequest,
|
|
8
|
-
res: NextApiResponse,
|
|
9
|
-
path: string[],
|
|
10
|
-
options: RequestionHandlerOptions
|
|
11
|
-
) {
|
|
12
|
-
const [type, ...rest] = path;
|
|
13
|
-
switch (type) {
|
|
14
|
-
${models.map(model=>this.writeModelEntrance(model)).join('\n')}
|
|
15
|
-
default:
|
|
16
|
-
res.status(404).json({ error: 'Unknown type: ' + type });
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
`;const sf=project.createSourceFile(path.join(context.outDir,'server/data/index.ts'),content,{overwrite:true});sf.formatText();}generateUtils(project,context){const content=`
|
|
20
|
-
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
21
|
-
import { RequestionHandlerOptions } from '..';
|
|
22
|
-
|
|
23
|
-
export async function getUser(
|
|
24
|
-
req: NextApiRequest,
|
|
25
|
-
res: NextApiResponse,
|
|
26
|
-
options: RequestionHandlerOptions
|
|
27
|
-
): Promise<{id: string}> {
|
|
28
|
-
return await options.getServerUser(req, res);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function unauthorized(res: NextApiResponse) {
|
|
32
|
-
res.status(403).json({ message: 'Unauthorized' });
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function notFound(res: NextApiResponse) {
|
|
36
|
-
res.status(404).json({ message: 'Entity not found' });
|
|
37
|
-
}
|
|
38
|
-
`;const sf=project.createSourceFile(path.join(context.outDir,'server/data/_utils.ts'),content,{overwrite:true});sf.formatText();}writeModelImport(model){return`import ${(0,change_case_1.camelCase)(model.name)}Handler from './${(0,change_case_1.paramCase)(model.name)}';`;}writeModelEntrance(model){return`
|
|
39
|
-
case '${(0,change_case_1.camelCase)(model.name)}':
|
|
40
|
-
return ${(0,change_case_1.camelCase)(model.name)}Handler(req, res, rest, options);
|
|
41
|
-
`;}generateForModel(model,project,context){const content=`
|
|
42
|
-
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
43
|
-
import type { Prisma } from '@zenstack/.prisma';
|
|
44
|
-
import { RequestionHandlerOptions } from '..';
|
|
45
|
-
import service from '@zenstack/service';
|
|
46
|
-
import { getUser, notFound } from './_utils';
|
|
47
|
-
|
|
48
|
-
export default async function (
|
|
49
|
-
req: NextApiRequest,
|
|
50
|
-
res: NextApiResponse,
|
|
51
|
-
path: string[],
|
|
52
|
-
options: RequestionHandlerOptions
|
|
53
|
-
) {
|
|
54
|
-
switch (req.method) {
|
|
55
|
-
case 'GET':
|
|
56
|
-
if (path.length > 0) {
|
|
57
|
-
return get(req, res, path[0], options);
|
|
58
|
-
} else {
|
|
59
|
-
return find(req, res, options);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
case 'POST':
|
|
63
|
-
return create(req, res, options);
|
|
64
|
-
|
|
65
|
-
case 'PUT':
|
|
66
|
-
return update(req, res, path[0], options);
|
|
67
|
-
|
|
68
|
-
case 'DELETE':
|
|
69
|
-
return del(req, res, path[0], options);
|
|
70
|
-
|
|
71
|
-
default:
|
|
72
|
-
throw new Error('Unsupported HTTP method: ' + req.method);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
`;const sf=project.createSourceFile(path.join(context.outDir,`server/data/${(0,change_case_1.paramCase)(model.name)}.ts`),content,{overwrite:true});this.generateFind(sf,model);this.generateGet(sf,model);sf.formatText();}generateFind(sourceFile,model){const func=sourceFile.addFunction({name:'find',isAsync:true,parameters:[{name:'req',type:'NextApiRequest'},{name:'res',type:'NextApiResponse'},{name:'options',type:'RequestionHandlerOptions'}]}).addBody();func.addStatements([`const user = await getUser(req, res, options);`,`const condition: Prisma.${model.name}FindManyArgs = req.query.q? (JSON.parse(req.query.q as string)): {};`]);func.addVariableStatement({declarationKind:ts_morph_1.VariableDeclarationKind.Const,declarations:[{name:'args',initializer:writer=>{writer.block(()=>{writer.writeLine('...condition,');writer.write('where:');writer.block(()=>{writer.write('AND: [');writer.write('{ ...condition.where },');this.writeFindArgs(writer,model);writer.write(']');});});}}]});func.addStatements([`res.status(200).send(await service.db.${(0,change_case_1.camelCase)(model.name)}.findMany(args));`]);}generateGet(sourceFile,model){const func=sourceFile.addFunction({name:'get',isAsync:true,parameters:[{name:'req',type:'NextApiRequest'},{name:'res',type:'NextApiResponse'},{name:'id',type:'string'},{name:'options',type:'RequestionHandlerOptions'}]}).addBody();func.addStatements([`const user = await getUser(req, res, options);`,`const condition: Prisma.${model.name}FindManyArgs = req.query.q? (JSON.parse(req.query.q as string)): {};`]);func.addVariableStatement({declarationKind:ts_morph_1.VariableDeclarationKind.Const,declarations:[{name:'args',initializer:writer=>{writer.block(()=>{writer.writeLine('...condition,');writer.write('where:');writer.block(()=>{writer.write('AND: [');writer.write('{ id },');this.writeFindArgs(writer,model);writer.write(']');});});}}]});func.addStatements([`
|
|
76
|
-
const r = await service.db.${(0,change_case_1.camelCase)(model.name)}.findMany(args);
|
|
77
|
-
if (r.length == 0) {
|
|
78
|
-
notFound(res);
|
|
79
|
-
} else {
|
|
80
|
-
res.status(200).send(r[0]);
|
|
81
|
-
}
|
|
82
|
-
`]);}writeFindArgs(writer,model){writer.block(()=>{writer.writeLine('AND: [');this.writeDenyRules(writer,model);this.writeAllowRules(writer,model);writer.writeLine(']');});}writeDenyRules(writer,model){const attrs=model.attributes.filter(attr=>{var _a;return attr.args.length>0&&((_a=attr.decl.ref)===null||_a===void 0?void 0:_a.name)==='deny'&&attr.args.length>1;});attrs.forEach(attr=>this.writeDenyRule(writer,model,attr.args[1].value));}writeDenyRule(writer,model,rule){writer.block(()=>{writer.writeLine('NOT: ');new expression_writer_1.default(writer).write(rule);});}writeAllowRules(writer,model){}}exports.default=DataServerGenerator;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-generator.js","sourceRoot":"","sources":["../../../src/generator/server/data-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{'default':mod};};Object.defineProperty(exports,'__esModule',{value:true});const ast_1=require('../../language-server/generated/ast');const types_1=require('../types');const plain_expression_builder_1=__importDefault(require('./plain-expression-builder'));const AUX_GUARD_FIELD='zenstack_guard';class ExpressionWriter{constructor(writer){this.writer=writer;this.plainExprBuilder=new plain_expression_builder_1.default();}write(expr){const _write=()=>{switch(expr.$type){case ast_1.LiteralExpr:this.writeLiteral(expr);break;case ast_1.UnaryExpr:this.writeUnary(expr);break;case ast_1.BinaryExpr:this.writeBinary(expr);break;case ast_1.ReferenceExpr:this.writeReference(expr);break;case ast_1.MemberAccessExpr:this.writeMemberAccess(expr);break;case ast_1.ThisExpr:throw new Error('Not implemented');default:throw new Error(`Not implemented: ${expr.$type}`);}};this.writer.block(_write);}writeReference(expr){if(!(0,ast_1.isDataModelField)(expr.target.ref)){throw new types_1.GeneratorError('must be a field in current model');}this.writer.write(`${expr.target.ref.name}: true`);}writeMemberAccess(expr){var _a;this.write(expr.operand);this.writer.write('.'+((_a=expr.member.ref)===null||_a===void 0?void 0:_a.name));}writeExprList(exprs){this.writer.writeLine('[');for(let i=0;i<exprs.length;i++){this.write(exprs[i]);if(i!==exprs.length-1){this.writer.writeLine(',');}}this.writer.writeLine(']');}writeBinary(expr){switch(expr.operator){case'&&':case'||':this.writeLogical(expr,expr.operator);break;case'==':case'!=':case'>':case'>=':case'<':case'<=':this.writeComparison(expr,expr.operator);break;case'?':case'!':case'^':this.writeCollectionPredicate(expr,expr.operator);break;}}writeCollectionPredicate(expr,operator){this.writeFieldCondition(expr.left,()=>{this.write(expr.right);},operator==='?'?'some':operator==='!'?'every':'none');}isFieldRef(expr){if((0,ast_1.isReferenceExpr)(expr)&&(0,ast_1.isDataModelField)(expr.target.ref)){return true;}else{return false;}}guard(write){this.writer.write(`${AUX_GUARD_FIELD}: `);write();}plain(expr){this.writer.write(this.plainExprBuilder.build(expr));}writeComparison(expr,operator){var _a;const leftIsFieldAccess=this.isFieldRef(expr.left)||this.isRelationFieldAccess(expr.left);const rightIsFieldAccess=this.isFieldRef(expr.right)||this.isRelationFieldAccess(expr.right);if(leftIsFieldAccess&&rightIsFieldAccess){throw new types_1.GeneratorError(`Comparison between fields are not supported yet`);}if(!leftIsFieldAccess&&!rightIsFieldAccess){this.guard(()=>{this.plain(expr.left);this.writer.write(' '+operator+' ');this.plain(expr.right);});return;}let fieldAccess;let operand;if(leftIsFieldAccess){fieldAccess=expr.left;operand=expr.right;}else{fieldAccess=expr.right;operand=expr.left;operator=this.negateOperator(operator);}const type=(_a=fieldAccess.$resolvedType)===null||_a===void 0?void 0:_a.decl;this.writeFieldCondition(fieldAccess,()=>{this.writer.block(()=>{if((0,ast_1.isDataModel)(type)){this.writer.write('id: ');this.writer.block(()=>{this.writeOperator(operator,()=>{this.plain(operand);this.writer.write('.id');});});}else{this.writeOperator(operator,()=>{this.plain(operand);});}});},'is');}writeOperator(operator,writeOperand){if(operator==='!='){this.writer.write('not: ');this.writer.block(()=>{this.writeOperator('==',writeOperand);});}else{this.writer.write(`${this.mapOperator(operator)}: `);writeOperand();}}writeFieldCondition(fieldAccess,writeCondition,relationOp){var _a,_b;let selector;let operand;if((0,ast_1.isReferenceExpr)(fieldAccess)){selector=(_a=fieldAccess.target.ref)===null||_a===void 0?void 0:_a.name;}else if((0,ast_1.isMemberAccessExpr)(fieldAccess)){selector=(_b=fieldAccess.member.ref)===null||_b===void 0?void 0:_b.name;operand=fieldAccess.operand;}else{throw new types_1.GeneratorError(`Unsupported expression type: ${fieldAccess.$type}`);}if(operand){this.writeFieldCondition(operand,()=>{this.writer.block(()=>{this.writer.write(selector+': ');if(this.isModelTyped(fieldAccess)){this.writer.block(()=>{this.writer.write(`${relationOp}: `);writeCondition();});}else{writeCondition();}});},'is');}else if(this.isModelTyped(fieldAccess)){this.writer.write(selector+': ');this.writer.block(()=>{this.writer.write(`${relationOp}: `);writeCondition();});}else{this.writer.write(selector+': ');writeCondition();}}isModelTyped(expr){var _a;return(0,ast_1.isDataModel)((_a=expr.$resolvedType)===null||_a===void 0?void 0:_a.decl);}isRelationFieldAccess(expr){if((0,ast_1.isMemberAccessExpr)(expr)){return this.isRelationFieldAccess(expr.operand);}if((0,ast_1.isReferenceExpr)(expr)&&(0,ast_1.isDataModelField)(expr.target.ref)&&expr.target.ref.type.reference&&(0,ast_1.isDataModel)(expr.target.ref.type.reference.ref)){return true;}return false;}mapOperator(operator){switch(operator){case'==':return'equals';case'!=':return'not_equal';case'>':return'gt';case'>=':return'ge';case'<':return'lt';case'<=':return'le';}}negateOperator(operator){switch(operator){case'>':return'<=';case'<':return'>=';case'>=':return'<';case'<=':return'>';default:return operator;}}writeLogical(expr,operator){this.writer.writeLine(`${operator==='&&'?'AND':'OR'}: `);this.writeExprList([expr.left,expr.right]);}writeUnary(expr){if(expr.operator!=='!'){throw new types_1.GeneratorError(`Unary operator "${expr.operator}" is not supported`);}this.writer.writeLine('NOT: ');this.write(expr.operand);}writeLiteral(expr){this.guard(()=>{this.plain(expr);});}}exports.default=ExpressionWriter;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"expression-writer.js","sourceRoot":"","sources":["../../../src/generator/server/expression-writer.ts"],"names":[],"mappings":";;;;;AAAA,6DAY6C;AAE7C,oCAA0C;AAE1C,0FAAgE;AAEhE,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAIzC,MAAqB,gBAAgB;IAGjC,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAFnC,qBAAgB,GAAG,IAAI,kCAAsB,EAAE,CAAC;IAEV,CAAC;IAExD,KAAK,CAAC,IAAgB;QAClB,MAAM,MAAM,GAAG,GAAG,EAAE;YAChB,QAAQ,IAAI,CAAC,KAAK,EAAE;gBAChB,KAAK,iBAAW;oBACZ,IAAI,CAAC,YAAY,CAAC,IAAmB,CAAC,CAAC;oBACvC,MAAM;gBAEV,KAAK,eAAS;oBACV,IAAI,CAAC,UAAU,CAAC,IAAiB,CAAC,CAAC;oBACnC,MAAM;gBAEV,KAAK,gBAAU;oBACX,IAAI,CAAC,WAAW,CAAC,IAAkB,CAAC,CAAC;oBACrC,MAAM;gBAEV,KAAK,mBAAa;oBACd,IAAI,CAAC,cAAc,CAAC,IAAqB,CAAC,CAAC;oBAC3C,MAAM;gBAEV,KAAK,sBAAgB;oBACjB,IAAI,CAAC,iBAAiB,CAAC,IAAwB,CAAC,CAAC;oBACjD,MAAM;gBAEV,KAAK,cAAQ;oBACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAEvC;oBACI,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;aACzD;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEO,cAAc,CAAC,IAAmB;QACtC,IAAI,CAAC,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YACpC,MAAM,IAAI,sBAAc,CAAC,kCAAkC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEO,iBAAiB,CAAC,IAAsB;;QAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAG,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,IAAI,CAAA,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CAAC,KAAmB;QACrC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC9B;SACJ;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEO,WAAW,CAAC,IAAgB;QAChC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACnB,KAAK,IAAI,CAAC;YACV,KAAK,IAAI;gBACL,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvC,MAAM;YAEV,KAAK,IAAI,CAAC;YACV,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI,CAAC;YACV,KAAK,GAAG,CAAC;YACT,KAAK,IAAI;gBACL,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1C,MAAM;YAEV,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACJ,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM;SACb;IACL,CAAC;IAEO,wBAAwB,CAAC,IAAgB,EAAE,QAAgB;QAC/D,IAAI,CAAC,mBAAmB,CACpB,IAAI,CAAC,IAAI,EACT,GAAG,EAAE;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EACD,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAClE,CAAC;IACN,CAAC;IAEO,UAAU,CAAC,IAAgB;QAC/B,IAAI,IAAA,qBAAe,EAAC,IAAI,CAAC,IAAI,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEO,KAAK,CAAC,KAAiB;QAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC;QAC1C,KAAK,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,IAAgB;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,eAAe,CAAC,IAAgB,EAAE,QAA4B;;QAClE,MAAM,iBAAiB,GACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,kBAAkB,GACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3C,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;YACzC,MAAM,IAAI,sBAAc,CACpB,iDAAiD,CACpD,CAAC;SACL;QAED,IAAI,CAAC,iBAAiB,IAAI,CAAC,kBAAkB,EAAE;YAC3C,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,OAAO;SACV;QAED,IAAI,WAAuB,CAAC;QAC5B,IAAI,OAAmB,CAAC;QACxB,IAAI,iBAAiB,EAAE;YACnB,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC;YACxB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;SACxB;aAAM;YACH,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;SAC5C;QAED,MAAM,IAAI,GAAG,MAAC,WAAyB,CAAC,aAAa,0CAAE,IAAI,CAAC;QAE5D,IAAI,CAAC,mBAAmB,CACpB,WAAW,EACX,GAAG,EAAE;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnB,IAAI,IAAA,iBAAW,EAAC,IAAI,CAAC,EAAE;oBACnB,8DAA8D;oBAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBACnB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE;4BAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;4BACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7B,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;iBACN;qBAAM;oBACH,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE;wBAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;QACP,CAAC,EACD,IAAI,CACP,CAAC;IACN,CAAC;IAEO,aAAa,CACjB,QAA4B,EAC5B,YAAwB;QAExB,IAAI,QAAQ,KAAK,IAAI,EAAE;YACnB,eAAe;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACN;aAAM;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrD,YAAY,EAAE,CAAC;SAClB;IACL,CAAC;IAEO,mBAAmB,CACvB,WAAuB,EACvB,cAA0B,EAC1B,UAA4C;;QAE5C,IAAI,QAAgB,CAAC;QACrB,IAAI,OAA+B,CAAC;QAEpC,IAAI,IAAA,qBAAe,EAAC,WAAW,CAAC,EAAE;YAC9B,QAAQ,GAAG,MAAA,WAAW,CAAC,MAAM,CAAC,GAAG,0CAAE,IAAK,CAAC;SAC5C;aAAM,IAAI,IAAA,wBAAkB,EAAC,WAAW,CAAC,EAAE;YACxC,QAAQ,GAAG,MAAA,WAAW,CAAC,MAAM,CAAC,GAAG,0CAAE,IAAK,CAAC;YACzC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;SACjC;aAAM;YACH,MAAM,IAAI,sBAAc,CACpB,gCAAgC,WAAW,CAAC,KAAK,EAAE,CACtD,CAAC;SACL;QAED,IAAI,OAAO,EAAE;YACT,2BAA2B;YAC3B,IAAI,CAAC,mBAAmB,CACpB,OAAO,EACP,GAAG,EAAE;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;oBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;oBACnC,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;wBAChC,6DAA6D;wBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;4BACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;4BACrC,cAAc,EAAE,CAAC;wBACrB,CAAC,CAAC,CAAC;qBACN;yBAAM;wBACH,uBAAuB;wBACvB,cAAc,EAAE,CAAC;qBACpB;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,EACD,IAAI,CACP,CAAC;SACL;aAAM,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;YACvC,yDAAyD;YACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,CAAC,CAAC;gBACrC,cAAc,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;SACN;aAAM;YACH,yBAAyB;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YACnC,cAAc,EAAE,CAAC;SACpB;IACL,CAAC;IAEO,YAAY,CAAC,IAAgB;;QACjC,OAAO,IAAA,iBAAW,EAAC,MAAC,IAAkB,CAAC,aAAa,0CAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAEO,qBAAqB,CAAC,IAAgB;QAC1C,IAAI,IAAA,wBAAkB,EAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnD;QAED,IACI,IAAA,qBAAe,EAAC,IAAI,CAAC;YACrB,IAAA,sBAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS;YAC9B,IAAA,iBAAW,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EACjD;YACE,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,WAAW,CAAC,QAA+C;QACvD,QAAQ,QAAQ,EAAE;YACd,KAAK,IAAI;gBACL,OAAO,QAAQ,CAAC;YACpB,KAAK,IAAI;gBACL,OAAO;gBACP,OAAO,WAAW,CAAC;YACvB,KAAK,GAAG;gBACJ,OAAO,IAAI,CAAC;YAChB,KAAK,IAAI;gBACL,OAAO,IAAI,CAAC;YAChB,KAAK,GAAG;gBACJ,OAAO,IAAI,CAAC;YAChB,KAAK,IAAI;gBACL,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;IAEO,cAAc,CAAC,QAA+C;QAClE,QAAQ,QAAQ,EAAE;YACd,KAAK,GAAG;gBACJ,OAAO,IAAI,CAAC;YAChB,KAAK,GAAG;gBACJ,OAAO,IAAI,CAAC;YAChB,KAAK,IAAI;gBACL,OAAO,GAAG,CAAC;YACf,KAAK,IAAI;gBACL,OAAO,GAAG,CAAC;YACf;gBACI,OAAO,QAAQ,CAAC;SACvB;IACL,CAAC;IAEO,YAAY,CAAC,IAAgB,EAAE,QAAqB;QACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,CAAC;IAEO,UAAU,CAAC,IAAe;QAC9B,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,EAAE;YACvB,MAAM,IAAI,sBAAc,CACpB,mBAAmB,IAAI,CAAC,QAAQ,oBAAoB,CACvD,CAAC;SACL;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,YAAY,CAAC,IAAiB;QAClC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA/TD,mCA+TC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
const path = __importStar(require("path"));
|
|
27
|
-
class FunctionServerGenerator {
|
|
28
|
-
generate(project, context) {
|
|
29
|
-
this.generateIndex(project, context);
|
|
30
|
-
}
|
|
31
|
-
generateIndex(project, context) {
|
|
32
|
-
const content = `
|
|
33
|
-
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
34
|
-
import { RequestHandlerOptions } from '..';
|
|
35
|
-
|
|
36
|
-
export default async function (
|
|
37
|
-
req: NextApiRequest,
|
|
38
|
-
res: NextApiResponse,
|
|
39
|
-
path: string[],
|
|
40
|
-
options: RequestHandlerOptions
|
|
41
|
-
) {
|
|
42
|
-
throw new Error('Not implemented');
|
|
43
|
-
}
|
|
44
|
-
`;
|
|
45
|
-
const sf = project.createSourceFile(path.join(context.outDir, 'server/function/index.ts'), content, { overwrite: true });
|
|
46
|
-
sf.formatText();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
exports.default = FunctionServerGenerator;
|
|
50
|
-
//# sourceMappingURL=function-generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"function-generator.js","sourceRoot":"","sources":["../../../../src/generator/server/function/function-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAG7B,MAAqB,uBAAuB;IACxC,QAAQ,CAAC,OAAgB,EAAE,OAAgB;QACvC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,aAAa,CAAC,OAAgB,EAAE,OAAgB;QACpD,MAAM,OAAO,GAAG;;;;;;;;;;;;aAYX,CAAC;QACN,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,EACrD,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;QACF,EAAE,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACJ;AA1BD,0CA0BC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use strict';var __createBinding=this&&this.__createBinding||(Object.create?function(o,m,k,k2){if(k2===undefined)k2=k;var desc=Object.getOwnPropertyDescriptor(m,k);if(!desc||('get'in desc?!m.__esModule:desc.writable||desc.configurable)){desc={enumerable:true,get:function(){return m[k];}};}Object.defineProperty(o,k2,desc);}:function(o,m,k,k2){if(k2===undefined)k2=k;o[k2]=m[k];});var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(o,v){Object.defineProperty(o,'default',{enumerable:true,value:v});}:function(o,v){o['default']=v;});var __importStar=this&&this.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)if(k!=='default'&&Object.prototype.hasOwnProperty.call(mod,k))__createBinding(result,mod,k);__setModuleDefault(result,mod);return result;};Object.defineProperty(exports,'__esModule',{value:true});const path=__importStar(require('path'));class FunctionServerGenerator{generate(project,context){this.generateIndex(project,context);}generateIndex(project,context){const content=`
|
|
2
|
-
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
3
|
-
import { RequestionHandlerOptions } from '..';
|
|
4
|
-
|
|
5
|
-
export default async function (
|
|
6
|
-
req: NextApiRequest,
|
|
7
|
-
res: NextApiResponse,
|
|
8
|
-
path: string[],
|
|
9
|
-
options: RequestionHandlerOptions
|
|
10
|
-
) {
|
|
11
|
-
throw new Error('Not implemented');
|
|
12
|
-
}
|
|
13
|
-
`;const sf=project.createSourceFile(path.join(context.outDir,'server/function/index.ts'),content,{overwrite:true});sf.formatText();}}exports.default=FunctionServerGenerator;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"function-generator.js","sourceRoot":"","sources":["../../../src/generator/server/function-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,2CAA6B;AAG7B,MAAqB,uBAAuB;IACxC,QAAQ,CAAC,OAAgB,EAAE,OAAgB;QACvC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,aAAa,CAAC,OAAgB,EAAE,OAAgB;QACpD,MAAM,OAAO,GAAG;;;;;;;;;;;;aAYX,CAAC;QACN,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,0BAA0B,CAAC,EACrD,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;QACF,EAAE,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACJ;AA1BD,0CA0BC"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
const ts_morph_1 = require("ts-morph");
|
|
39
|
-
const path = __importStar(require("path"));
|
|
40
|
-
const data_generator_1 = __importDefault(require("./data/data-generator"));
|
|
41
|
-
const function_generator_1 = __importDefault(require("./function/function-generator"));
|
|
42
|
-
class ServerGenerator {
|
|
43
|
-
generate(context) {
|
|
44
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const project = new ts_morph_1.Project();
|
|
46
|
-
this.generateIndex(project, context);
|
|
47
|
-
new data_generator_1.default().generate(project, context);
|
|
48
|
-
new function_generator_1.default().generate(project, context);
|
|
49
|
-
yield project.save();
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
generateIndex(project, context) {
|
|
53
|
-
const content = `
|
|
54
|
-
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
55
|
-
import dataHandler from './data';
|
|
56
|
-
import functionHandler from './function';
|
|
57
|
-
|
|
58
|
-
export type AuthUser = { id: string } & Record<string, any>;
|
|
59
|
-
|
|
60
|
-
export type RequestHandlerOptions = {
|
|
61
|
-
getServerUser: (
|
|
62
|
-
req: NextApiRequest,
|
|
63
|
-
res: NextApiResponse
|
|
64
|
-
) => Promise<AuthUser | undefined>;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export function RequestHandler(options: RequestHandlerOptions) {
|
|
68
|
-
return async (req: NextApiRequest, res: NextApiResponse) => {
|
|
69
|
-
const [route, ...rest] = req.query.path as string[];
|
|
70
|
-
switch (route) {
|
|
71
|
-
case 'data':
|
|
72
|
-
return dataHandler(req, res, rest, options);
|
|
73
|
-
|
|
74
|
-
case 'function':
|
|
75
|
-
return functionHandler(req, res, rest, options);
|
|
76
|
-
|
|
77
|
-
default:
|
|
78
|
-
res.status(404).json({ error: 'Unknown route: ' + route });
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
`;
|
|
83
|
-
const sf = project.createSourceFile(path.join(context.outDir, 'server/index.ts'), content, { overwrite: true });
|
|
84
|
-
sf.formatText();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
exports.default = ServerGenerator;
|
|
88
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/server/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAmC;AAEnC,2CAA6B;AAC7B,2EAAwD;AACxD,uFAAoE;AAEpE,MAAqB,eAAe;IAC1B,QAAQ,CAAC,OAAgB;;YAC3B,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAErC,IAAI,wBAAmB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,4BAAuB,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEzD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;KAAA;IAED,aAAa,CAAC,OAAgB,EAAE,OAAgB;QAC5C,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6Bf,CAAC;QACF,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAC5C,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;QACF,EAAE,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACJ;AAlDD,kCAkDC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});const types_1=require('../types');const ast_1=require('../../language-server/generated/ast');class JsExpressionBuilder{build(expr){switch(expr.$type){case ast_1.LiteralExpr:return this.literal(expr);case ast_1.ArrayExpr:return this.array(expr);case ast_1.NullExpr:return this.null();case ast_1.ReferenceExpr:return this.reference(expr);case ast_1.InvocationExpr:return this.invocation(expr);case ast_1.MemberAccessExpr:return this.memberAccess(expr);default:throw new types_1.GeneratorError(`Unsupported expression type: ${expr.$type}`);}}memberAccess(expr){return`${this.build(expr.operand)}.${expr.member.ref.name}`;}invocation(expr){var _a,_b;if(((_a=expr.function.ref)===null||_a===void 0?void 0:_a.name)!=='auth'){throw new types_1.GeneratorError(`Function invocation is not supported: ${(_b=expr.function.ref)===null||_b===void 0?void 0:_b.name}`);}return'user';}reference(expr){return expr.target.ref.name;}null(){return'null';}array(expr){return`[${expr.items.map(item=>this.build(item)).join(', ')}]`;}literal(expr){if(typeof expr.value==='string'){return`'${expr.value}'`;}else{return expr.value.toString();}}}exports.default=JsExpressionBuilder;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"js-expression-builder.js","sourceRoot":"","sources":["../../../src/generator/server/js-expression-builder.ts"],"names":[],"mappings":";;AAAA,oCAA0C;AAC1C,6DAQ6C;AAE7C,MAAqB,mBAAmB;IACpC,KAAK,CAAC,IAAgB;QAClB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAChB,KAAK,iBAAW;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC;YAE7C,KAAK,eAAS;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAiB,CAAC,CAAC;YAEzC,KAAK,cAAQ;gBACT,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvB,KAAK,mBAAa;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAqB,CAAC,CAAC;YAEjD,KAAK,oBAAc;gBACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAsB,CAAC,CAAC;YAEnD,KAAK,sBAAgB;gBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAwB,CAAC,CAAC;YAEvD;gBACI,MAAM,IAAI,sBAAc,CACpB,gCAAgC,IAAI,CAAC,KAAK,EAAE,CAC/C,CAAC;SACT;IACL,CAAC;IAEO,YAAY,CAAC,IAAsB;QACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IAEO,UAAU,CAAC,IAAoB;;QACnC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,MAAK,MAAM,EAAE;YACpC,MAAM,IAAI,sBAAc,CACpB,yCAAyC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,EAAE,CACrE,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,SAAS,CAAC,IAAmB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAEO,IAAI;QACR,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,IAAe;QACzB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxE,CAAC;IAEO,OAAO,CAAC,IAAiB;QAC7B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;SAC5B;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAChC;IACL,CAAC;CACJ;AA5DD,sCA4DC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});const types_1=require('../types');const ast_1=require('../../language-server/generated/ast');class PlainExpressionBuilder{build(expr){switch(expr.$type){case ast_1.LiteralExpr:return this.literal(expr);case ast_1.ArrayExpr:return this.array(expr);case ast_1.NullExpr:return this.null();case ast_1.ReferenceExpr:return this.reference(expr);case ast_1.InvocationExpr:return this.invocation(expr);case ast_1.MemberAccessExpr:return this.memberAccess(expr);default:throw new types_1.GeneratorError(`Unsupported expression type: ${expr.$type}`);}}memberAccess(expr){return`${this.build(expr.operand)}.${expr.member.ref.name}`;}invocation(expr){var _a,_b;if(((_a=expr.function.ref)===null||_a===void 0?void 0:_a.name)!=='auth'){throw new types_1.GeneratorError(`Function invocation is not supported: ${(_b=expr.function.ref)===null||_b===void 0?void 0:_b.name}`);}return'user';}reference(expr){return expr.target.ref.name;}null(){return'null';}array(expr){return`[${expr.items.map(item=>this.build(item)).join(', ')}]`;}literal(expr){if(typeof expr.value==='string'){return`'${expr.value}'`;}else{return expr.value.toString();}}}exports.default=PlainExpressionBuilder;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plain-expression-builder.js","sourceRoot":"","sources":["../../../src/generator/server/plain-expression-builder.ts"],"names":[],"mappings":";;AAAA,oCAA0C;AAC1C,6DAQ6C;AAE7C,MAAqB,sBAAsB;IACvC,KAAK,CAAC,IAAgB;QAClB,QAAQ,IAAI,CAAC,KAAK,EAAE;YAChB,KAAK,iBAAW;gBACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAmB,CAAC,CAAC;YAE7C,KAAK,eAAS;gBACV,OAAO,IAAI,CAAC,KAAK,CAAC,IAAiB,CAAC,CAAC;YAEzC,KAAK,cAAQ;gBACT,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;YAEvB,KAAK,mBAAa;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,IAAqB,CAAC,CAAC;YAEjD,KAAK,oBAAc;gBACf,OAAO,IAAI,CAAC,UAAU,CAAC,IAAsB,CAAC,CAAC;YAEnD,KAAK,sBAAgB;gBACjB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAwB,CAAC,CAAC;YAEvD;gBACI,MAAM,IAAI,sBAAc,CACpB,gCAAgC,IAAI,CAAC,KAAK,EAAE,CAC/C,CAAC;SACT;IACL,CAAC;IAEO,YAAY,CAAC,IAAsB;QACvC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,EAAE,CAAC;IAClE,CAAC;IAEO,UAAU,CAAC,IAAoB;;QACnC,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,MAAK,MAAM,EAAE;YACpC,MAAM,IAAI,sBAAc,CACpB,yCAAyC,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,0CAAE,IAAI,EAAE,CACrE,CAAC;SACL;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,SAAS,CAAC,IAAmB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAI,CAAC,IAAI,CAAC;IACjC,CAAC;IAEO,IAAI;QACR,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,IAAe;QACzB,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACxE,CAAC;IAEO,OAAO,CAAC,IAAiB;QAC7B,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAChC,OAAO,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;SAC5B;aAAM;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;SAChC;IACL,CAAC;CACJ;AA5DD,yCA4DC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-code-generator.js","sourceRoot":"","sources":["../../../src/generator/server/server-code-generator.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';Object.defineProperty(exports,'__esModule',{value:true});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server-code-writer.js","sourceRoot":"","sources":["../../../src/generator/server/server-code-writer.ts"],"names":[],"mappings":""}
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
const ts_morph_1 = require("ts-morph");
|
|
39
|
-
const path = __importStar(require("path"));
|
|
40
|
-
const colors_1 = __importDefault(require("colors"));
|
|
41
|
-
const constants_1 = require("../constants");
|
|
42
|
-
class ServiceGenerator {
|
|
43
|
-
generate(context) {
|
|
44
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
-
const project = new ts_morph_1.Project();
|
|
46
|
-
const sf = project.createSourceFile(path.join(context.generatedCodeDir, 'src/index.ts'), undefined, { overwrite: true });
|
|
47
|
-
sf.addImportDeclaration({
|
|
48
|
-
namedImports: ['PrismaClient'],
|
|
49
|
-
moduleSpecifier: '../.prisma',
|
|
50
|
-
});
|
|
51
|
-
sf.addImportDeclaration({
|
|
52
|
-
namedImports: ['Service', 'PolicyOperationKind', 'QueryContext'],
|
|
53
|
-
moduleSpecifier: constants_1.INTERNAL_PACKAGE,
|
|
54
|
-
isTypeOnly: true,
|
|
55
|
-
});
|
|
56
|
-
const cls = sf.addClass({
|
|
57
|
-
name: 'ZenStackService',
|
|
58
|
-
isExported: true,
|
|
59
|
-
implements: ['Service<PrismaClient>'],
|
|
60
|
-
});
|
|
61
|
-
cls.addMember({
|
|
62
|
-
kind: ts_morph_1.StructureKind.Property,
|
|
63
|
-
name: 'private readonly _prisma',
|
|
64
|
-
initializer: 'new PrismaClient()',
|
|
65
|
-
});
|
|
66
|
-
cls.addGetAccessor({
|
|
67
|
-
name: 'db',
|
|
68
|
-
})
|
|
69
|
-
.addBody()
|
|
70
|
-
.setBodyText('return this._prisma;');
|
|
71
|
-
sf.addVariableStatement({
|
|
72
|
-
declarationKind: ts_morph_1.VariableDeclarationKind.Let,
|
|
73
|
-
declarations: [
|
|
74
|
-
{
|
|
75
|
-
name: 'guardModule',
|
|
76
|
-
type: 'any',
|
|
77
|
-
},
|
|
78
|
-
],
|
|
79
|
-
});
|
|
80
|
-
cls
|
|
81
|
-
.addMethod({
|
|
82
|
-
name: 'resolveField',
|
|
83
|
-
isAsync: true,
|
|
84
|
-
parameters: [
|
|
85
|
-
{
|
|
86
|
-
name: 'model',
|
|
87
|
-
type: 'string',
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
name: 'field',
|
|
91
|
-
type: 'string',
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
})
|
|
95
|
-
.addBody().setBodyText(`
|
|
96
|
-
if (!guardModule) {
|
|
97
|
-
guardModule = await import('./query/guard');
|
|
98
|
-
}
|
|
99
|
-
return guardModule._fieldMapping?.[model]?.[field];
|
|
100
|
-
`);
|
|
101
|
-
cls
|
|
102
|
-
.addMethod({
|
|
103
|
-
name: 'buildQueryGuard',
|
|
104
|
-
isAsync: true,
|
|
105
|
-
parameters: [
|
|
106
|
-
{
|
|
107
|
-
name: 'model',
|
|
108
|
-
type: 'string',
|
|
109
|
-
},
|
|
110
|
-
{
|
|
111
|
-
name: 'operation',
|
|
112
|
-
type: 'PolicyOperationKind',
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
name: 'context',
|
|
116
|
-
type: 'QueryContext',
|
|
117
|
-
},
|
|
118
|
-
],
|
|
119
|
-
})
|
|
120
|
-
.addBody().setBodyText(`
|
|
121
|
-
const module: any = await import('./query/guard');
|
|
122
|
-
const provider: (context: QueryContext) => any = module[model+ '_' + operation];
|
|
123
|
-
return provider(context);
|
|
124
|
-
`);
|
|
125
|
-
sf.addStatements(['export default new ZenStackService();']);
|
|
126
|
-
sf.formatText();
|
|
127
|
-
yield project.save();
|
|
128
|
-
console.log(colors_1.default.blue(` ✔️ ZenStack service generated`));
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
exports.default = ServiceGenerator;
|
|
133
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA2E;AAC3E,2CAA6B;AAC7B,oDAA4B;AAC5B,4CAAgD;AAEhD,MAAqB,gBAAgB;IAC3B,QAAQ,CAAC,OAAgB;;YAC3B,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;YAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;YAEF,EAAE,CAAC,oBAAoB,CAAC;gBACpB,YAAY,EAAE,CAAC,cAAc,CAAC;gBAC9B,eAAe,EAAE,YAAY;aAChC,CAAC,CAAC;YAEH,EAAE,CAAC,oBAAoB,CAAC;gBACpB,YAAY,EAAE,CAAC,SAAS,EAAE,qBAAqB,EAAE,cAAc,CAAC;gBAChE,eAAe,EAAE,4BAAgB;gBACjC,UAAU,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC;gBACpB,IAAI,EAAE,iBAAiB;gBACvB,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,CAAC,uBAAuB,CAAC;aACxC,CAAC,CAAC;YACH,GAAG,CAAC,SAAS,CAAC;gBACV,IAAI,EAAE,wBAAa,CAAC,QAAQ;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,WAAW,EAAE,oBAAoB;aACpC,CAAC,CAAC;YAEH,GAAG,CAAC,cAAc,CAAC;gBACf,IAAI,EAAE,IAAI;aACb,CAAC;iBACG,OAAO,EAAE;iBACT,WAAW,CAAC,sBAAsB,CAAC,CAAC;YAEzC,EAAE,CAAC,oBAAoB,CAAC;gBACpB,eAAe,EAAE,kCAAuB,CAAC,GAAG;gBAC5C,YAAY,EAAE;oBACV;wBACI,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,KAAK;qBACd;iBACJ;aACJ,CAAC,CAAC;YACH,GAAG;iBACE,SAAS,CAAC;gBACP,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE;oBACR;wBACI,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;qBACjB;iBACJ;aACJ,CAAC;iBACD,OAAO,EAAE,CAAC,WAAW,CAAC;;;;;aAKtB,CAAC,CAAC;YAEP,GAAG;iBACE,SAAS,CAAC;gBACP,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE;oBACR;wBACI,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,QAAQ;qBACjB;oBACD;wBACI,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,qBAAqB;qBAC9B;oBACD;wBACI,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,cAAc;qBACvB;iBACJ;aACJ,CAAC;iBACD,OAAO,EAAE,CAAC,WAAW,CAAC;;;;aAItB,CAAC,CAAC;YAEP,EAAE,CAAC,aAAa,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAE5D,EAAE,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAErB,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAChE,CAAC;KAAA;CACJ;AApGD,mCAoGC"}
|
package/out/generator/types.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GeneratorError = void 0;
|
|
4
|
-
class GeneratorError extends Error {
|
|
5
|
-
constructor(message) {
|
|
6
|
-
super(message);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.GeneratorError = GeneratorError;
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/generator/types.ts"],"names":[],"mappings":";;;AAYA,MAAa,cAAe,SAAQ,KAAK;IACrC,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AAJD,wCAIC"}
|
package/out/generator/utils.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractDataModelsWithAllowRules = void 0;
|
|
4
|
-
const ast_1 = require("../language-server/generated/ast");
|
|
5
|
-
function extractDataModelsWithAllowRules(model) {
|
|
6
|
-
return model.declarations.filter((d) => (0, ast_1.isDataModel)(d) &&
|
|
7
|
-
!!d.attributes.find((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === 'allow'; }));
|
|
8
|
-
}
|
|
9
|
-
exports.extractDataModelsWithAllowRules = extractDataModelsWithAllowRules;
|
|
10
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generator/utils.ts"],"names":[],"mappings":";;;AAAA,6CAAoE;AAEpE,SAAgB,+BAA+B,CAAC,KAAY;IACxD,OAAO,KAAK,CAAC,YAAY,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CACF,IAAA,iBAAW,EAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,OAAO,CAAA,EAAA,CAAC,CACtD,CAAC;AACrB,CAAC;AAND,0EAMC"}
|