mandarina-server 1.3.3 → 1.5.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.
@@ -16,7 +16,7 @@ export declare class CustomAction {
16
16
  */
17
17
  constructor(schema: Schema | string, actionOptions: ActionOptions);
18
18
  static getInstance(name: string): CustomAction;
19
- getFields(): any;
19
+ getFields(): string[] | undefined;
20
20
  getActions(): {};
21
21
  }
22
22
  export interface ActionOptions {
File without changes
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=Prisma2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Prisma2.js","sourceRoot":"","sources":["../../src/Prisma2/Prisma2.ts"],"names":[],"mappings":""}
@@ -21,12 +21,12 @@ export declare class Table {
21
21
  options: TableSchemaOptions & TableShapeOptions;
22
22
  constructor(schema: Schema, tableOptions?: TableShapeOptions);
23
23
  static getInstance(name: string): Table;
24
- getFields(): any;
24
+ getFields(): string[];
25
25
  shouldHasManyUpdate(): boolean;
26
26
  getDefaultActions(type: operationType): {
27
27
  [resolverName: string]: (_: any, args: any, context: Context, info: any) => void;
28
28
  };
29
- insertWhereIntoInfo: (info: GraphQLResolveInfo, user: UserType | null | undefined, isSingleMutation: boolean | undefined, action: any, operationName: string) => {
29
+ insertWhereIntoInfo: (info: GraphQLResolveInfo, user: UserType | null | undefined, isSingleMutation: boolean | undefined, action: "update" | "read" | "create" | "delete", operationName: string) => {
30
30
  fields: string[];
31
31
  query: any;
32
32
  queryString: string;
@@ -1,13 +1,15 @@
1
+ import { Schema } from "mandarina";
1
2
  import { CustomAction } from "../../";
2
- export declare const getGraphQLType: (def: any, key: string, required?: "" | "!", isInput?: boolean) => string;
3
- export declare const getGraphQLModel: (schema: any) => string;
4
- export declare const getGraphQLInput: (schema: any) => string;
3
+ import { FieldDefinition } from "mandarina/build/Schema/Schema";
4
+ export declare const getGraphQLType: (def: FieldDefinition, key: string, required?: "" | "!", isInput?: boolean) => string;
5
+ export declare const getGraphQLModel: (schema: Schema) => string;
6
+ export declare const getGraphQLInput: (schema: Schema) => string;
5
7
  export declare const sleep: (ms: number) => Promise<unknown>;
6
8
  export declare const createDir: (dir: string) => void;
7
9
  export declare const saveFile: (dir: string, fileName: string, content: string, fileType: "input" | "model" | "operation") => void;
8
10
  export declare const resetDir: (dir: string) => void;
9
11
  export declare const savePrismaYaml: (datamodel: Set<string>, dir: string, endpoint: string, secret?: string | undefined) => void;
10
12
  export declare const saveDockerComposeYaml: (dir: string, port: string) => void;
11
- export declare const getSubSchemas: (schema: any, processedSchemas?: string[]) => string[];
12
- export declare const getGraphQLOperation: (action: CustomAction, schema: any) => string;
13
+ export declare const getSubSchemas: (schema: Schema, processedSchemas?: string[]) => string[];
14
+ export declare const getGraphQLOperation: (action: CustomAction, schema: Schema) => string;
13
15
  export declare const getAuthOperation: () => string;
@@ -0,0 +1,3 @@
1
+ import { FieldDefinition } from "mandarina/build/Schema/Schema";
2
+ export declare const genFile: () => void;
3
+ export declare const getGraphQLType: (def: FieldDefinition, key: string, required: boolean) => string;
@@ -0,0 +1,170 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var utils_1 = require("../utils");
18
+ var genFilesUtils_1 = require("./genFilesUtils");
19
+ var __1 = require("../..");
20
+ var mandarina_1 = require("mandarina");
21
+ var utils_2 = require("mandarina/build/Schema/utils");
22
+ var path_1 = __importDefault(require("path"));
23
+ var fs_1 = __importDefault(require("fs"));
24
+ var prisma2Models = {};
25
+ var proccesed = [];
26
+ var c = 0;
27
+ exports.genFile = function () {
28
+ var config = utils_1.getConfig();
29
+ utils_1.loadSchemas(config.dir);
30
+ genFilesUtils_1.createDir(config.dir.prisma2);
31
+ genFilesUtils_1.resetDir(config.dir.prisma2);
32
+ for (var schemaName in __1.Table.instances) {
33
+ var schema = mandarina_1.Schema.getInstance(schemaName);
34
+ getPrisma2Model(schema);
35
+ }
36
+ var prisma = "generator client {\n provider = \"prisma-client-js\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n";
37
+ Object.keys(prisma2Models).forEach(function (modelName) {
38
+ var model = prisma2Models[modelName];
39
+ prisma += "model " + modelName + " {\n ";
40
+ Object.keys(model).forEach(function (fieldName) {
41
+ var field = model[fieldName];
42
+ prisma += "\t" + fieldName + " " + field + "\n";
43
+ });
44
+ prisma += "}\n\n";
45
+ });
46
+ var prismaDir = path_1.default.join(process.cwd(), config.dir.prisma2);
47
+ var fileAbs = prismaDir + "/schema.prisma";
48
+ fs_1.default.writeFileSync(fileAbs, prisma);
49
+ };
50
+ var getPrisma2Model = function (schema, parent, parentName) {
51
+ var _a, _b, _c, _d, _e, _f, _g, _h;
52
+ var mainSchema = prisma2Models[schema.name] || {};
53
+ var isParentInChild = false;
54
+ if (!proccesed.includes(schema.name)) {
55
+ for (var _i = 0, _j = schema.keys; _i < _j.length; _i++) {
56
+ var key = _j[_i];
57
+ if (key === 'id') {
58
+ c++;
59
+ mainSchema.id = "String @id @default(cuid()) //" + c;
60
+ }
61
+ else {
62
+ var fieldDefinition = schema.getPathDefinition(key);
63
+ var required = fieldDefinition.isArray || utils_2.isRequired(fieldDefinition);
64
+ var unique = fieldDefinition.table.unique ? '@unique' : '';
65
+ var defaultValue = '';
66
+ if (fieldDefinition.table.default !== undefined) {
67
+ var wrapper = (fieldDefinition.type === String) ? '"' : '';
68
+ defaultValue = "@default(" + wrapper + fieldDefinition.table.default + wrapper + ")";
69
+ }
70
+ var relations = [];
71
+ var relation = '';
72
+ if (fieldDefinition.isTable) {
73
+ if (!fieldDefinition.isArray) {
74
+ required = false;
75
+ }
76
+ var relationName = fieldDefinition.table.relation ? typeof fieldDefinition.table.relation === 'string' ? fieldDefinition.table.relation : (_b = (_a = fieldDefinition.table) === null || _a === void 0 ? void 0 : _a.relation) === null || _b === void 0 ? void 0 : _b.name : "";
77
+ if (((_c = fieldDefinition.table) === null || _c === void 0 ? void 0 : _c.relation) && typeof ((_d = fieldDefinition.table) === null || _d === void 0 ? void 0 : _d.relation) !== 'string' && ((_f = (_e = fieldDefinition.table) === null || _e === void 0 ? void 0 : _e.relation) === null || _f === void 0 ? void 0 : _f.onDelete)) {
78
+ //relations.push(`onDelete: Cascade`)
79
+ }
80
+ if (!parent || !parentName) {
81
+ getPrisma2Model(mandarina_1.Schema.getInstance(fieldDefinition.type), schema, key);
82
+ }
83
+ else {
84
+ if (parent.name === fieldDefinition.type) {
85
+ isParentInChild = true;
86
+ console.log('isParentInChild', key, parent.name, parentName);
87
+ getPrisma2Model(mandarina_1.Schema.getInstance(fieldDefinition.type), schema, key);
88
+ // const parentDef=parent.getPathDefinition(parentName)
89
+ var idName = parent.names.query.single + "Id";
90
+ mainSchema[idName] = "String //aqui";
91
+ relations.push("fields: [" + idName + "]");
92
+ }
93
+ else {
94
+ getPrisma2Model(mandarina_1.Schema.getInstance(fieldDefinition.type), schema, key);
95
+ }
96
+ }
97
+ if (relationName) {
98
+ relations.push("name: \"" + relationName + "\"");
99
+ }
100
+ if (relations.length > 0) {
101
+ if (relations.length === 1 && relations[0].indexOf('name:') >= 0) {
102
+ }
103
+ else {
104
+ relations.push("references: [id]");
105
+ }
106
+ }
107
+ if (relations.length > 0) {
108
+ relation = "@relation(" + relations.join(', ') + ")";
109
+ }
110
+ }
111
+ var createdAt = '', updatedAt = ''; //processMissingInfo
112
+ if ((fieldDefinition.table.createdAt === true || (fieldDefinition.table.createdAt !== false && key === 'createdAt'))) {
113
+ createdAt = "@default(now())";
114
+ }
115
+ if ((fieldDefinition.table.updatedAt === true || (fieldDefinition.table.updatedAt !== false && key === 'updatedAt'))) {
116
+ createdAt = "@default(now())";
117
+ }
118
+ var fieldType = exports.getGraphQLType(fieldDefinition, key, required);
119
+ if (!fieldType) {
120
+ throw new Error('no type');
121
+ }
122
+ mainSchema[key] = fieldType + " " + unique + " " + createdAt + " " + updatedAt + " " + defaultValue + " " + relation + " //@relation(" + relations.join(', ') + ")";
123
+ }
124
+ proccesed.push(schema.name);
125
+ }
126
+ }
127
+ else {
128
+ for (var _k = 0, _l = schema.keys; _k < _l.length; _k++) {
129
+ var key = _l[_k];
130
+ var fieldDefinition = schema.getPathDefinition(key);
131
+ if (parent && parent.name === fieldDefinition.type) {
132
+ isParentInChild = true;
133
+ }
134
+ }
135
+ }
136
+ if (parent && parentName) {
137
+ var parentDef = parent.getPathDefinition(parentName);
138
+ if (!isParentInChild) {
139
+ var relationName = parentDef.table.relation ? typeof parentDef.table.relation === 'string' ? parentDef.table.relation : (_h = (_g = parentDef.table) === null || _g === void 0 ? void 0 : _g.relation) === null || _h === void 0 ? void 0 : _h.name : "";
140
+ var name_1 = !relationName ? "" + parent.names.query.single : parent.names.query.single + "For" + utils_2.capitalize(parentName);
141
+ var idName = name_1 + "Id";
142
+ mainSchema[name_1] = parent.name + " @relation(fields: [" + idName + "], references: [id]" + (relationName ? ", name:\"" + relationName + "\"" : '') + ") //isParentInChild";
143
+ mainSchema[idName] = "String";
144
+ }
145
+ }
146
+ prisma2Models[schema.name] = __assign(__assign({}, mainSchema), prisma2Models[schema.name]);
147
+ };
148
+ exports.getGraphQLType = function (def, key, required) {
149
+ var optional = !def.isArray && !required ? '?' : '';
150
+ switch (true) {
151
+ case (!def.isArray && !def.isTable && def.type.name === 'String'):
152
+ return "String" + optional;
153
+ case (!def.isArray && !def.isTable && def.type.name === 'Boolean'):
154
+ return "Boolean" + optional;
155
+ case (!def.isArray && !def.isTable && def.type.name === 'Number'):
156
+ return "Float" + optional;
157
+ case (!def.isArray && !def.isTable && def.type.name === 'Integer'):
158
+ return "Int" + optional;
159
+ case (!def.isArray && !def.isTable && def.type.name === 'Date'):
160
+ return "DateTime" + optional;
161
+ case (def.isArray && def.isTable):
162
+ return def.type + "[]";
163
+ case (def.isArray && !def.isTable):
164
+ var scalarName = exports.getGraphQLType(__assign(__assign({}, def), { isArray: false }), key, def.isArray && required);
165
+ return scalarName + "[]";
166
+ default:
167
+ return def.type + optional;
168
+ }
169
+ };
170
+ //# sourceMappingURL=prisma2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prisma2.js","sourceRoot":"","sources":["../../../src/cli/gen-files/prisma2.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@ var createProject_1 = require("./createProject");
5
5
  var watch_1 = require("./watch");
6
6
  var deploy_1 = require("./deploy");
7
7
  var genFiles_1 = require("./gen-files/genFiles");
8
+ var prisma2_1 = require("./gen-files/prisma2");
9
+ console.log('cesar');
8
10
  //@ts-ignore
9
11
  var _a = process.argv, nodeDir = _a[0], dir = _a[1], cmd = _a[2], args = _a.slice(3);
10
12
  switch (cmd) {
@@ -15,6 +17,9 @@ switch (cmd) {
15
17
  case 'gen-files':
16
18
  genFiles_1.genFile();
17
19
  break;
20
+ case 'gen-prisma2':
21
+ prisma2_1.genFile();
22
+ break;
18
23
  case 'deploy':
19
24
  deploy_1.deploy();
20
25
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAC9C,iCAA8B;AAC9B,mCAAgC;AAChC,iDAA6C;AAE7C,YAAY;AACN,IAAA,iBAA2C,EAA1C,eAAO,EAAE,WAAG,EAAE,WAAG,EAAE,kBAAuB,CAAA;AAEjD,QAAQ,GAAG,EAAE;IACT,KAAK,QAAQ;QACT,IAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAA;QAC9C,6BAAa,CAAC,OAAO,CAAC,CAAA;QACtB,MAAK;IACT,KAAK,WAAW;QACZ,kBAAO,EAAE,CAAA;QACT,MAAM;IACV,KAAK,QAAQ;QACT,eAAM,EAAE,CAAA;QACR,MAAM;IACV,KAAK,OAAO;QACR,aAAK,EAAE,CAAA;QACP,MAAM;IACV,KAAK,SAAS;QACV,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC5D,MAAK;IACT;QACI,OAAO,CAAC,IAAI,CAAC,aAAW,GAAG,gFAAsE,CAAC,CAAA;CACzG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EE"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAC9C,iCAA8B;AAC9B,mCAAgC;AAChC,iDAA6C;AAC7C,+CAA0D;AAE1D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;AAEpB,YAAY;AACN,IAAA,iBAA2C,EAA1C,eAAO,EAAE,WAAG,EAAE,WAAG,EAAE,kBAAuB,CAAA;AAEjD,QAAQ,GAAG,EAAE;IACX,KAAK,QAAQ;QACX,IAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,WAAW,CAAA;QAC9C,6BAAa,CAAC,OAAO,CAAC,CAAA;QACtB,MAAK;IACP,KAAK,WAAW;QACd,kBAAO,EAAE,CAAA;QACT,MAAM;IACR,KAAK,aAAa;QAChB,iBAAU,EAAE,CAAA;QACZ,MAAM;IACR,KAAK,QAAQ;QACX,eAAM,EAAE,CAAA;QACR,MAAM;IACR,KAAK,OAAO;QACV,aAAK,EAAE,CAAA;QACP,MAAM;IACR,KAAK,SAAS;QACZ,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC5D,MAAK;IACP;QACE,OAAO,CAAC,IAAI,CAAC,aAAW,GAAG,gFAAsE,CAAC,CAAA;CACrG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8EE"}
@@ -21,5 +21,6 @@ export interface ConfigDirInterface {
21
21
  actions?: string[];
22
22
  generated: string;
23
23
  prisma: string;
24
+ prisma2: string;
24
25
  }
25
26
  export declare const loadSchemas: (dir: ConfigDirInterface) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mandarina-server",
3
- "version": "1.3.3",
3
+ "version": "1.5.0",
4
4
  "description": "Mandarina for server side",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -0,0 +1,108 @@
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 __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var Schema_1 = require("mandarina/build/Schema/Schema");
43
+ var TableInstanceNotFound_1 = require("../Errors/TableInstanceNotFound");
44
+ var UniqueActionError_1 = require("../Errors/UniqueActionError");
45
+ var Mandarina_1 = __importDefault(require("../Mandarina"));
46
+ var CustomAction = /** @class */ (function () {
47
+ /**
48
+ *
49
+ *
50
+ * @param schema
51
+ * @param actionOptions
52
+ */
53
+ function CustomAction(schema, actionOptions) {
54
+ CustomAction.instances = CustomAction.instances || {};
55
+ if (schema instanceof Schema_1.Schema) {
56
+ this.schema = schema;
57
+ this.name = actionOptions.name || this.schema.name;
58
+ }
59
+ else {
60
+ this.name = schema;
61
+ }
62
+ if (CustomAction.instances[this.name]) {
63
+ throw new UniqueActionError_1.UniqueActionError(this.name);
64
+ }
65
+ this.actions = actionOptions.actions;
66
+ CustomAction.instances[this.name] = this;
67
+ }
68
+ CustomAction.getInstance = function (name) {
69
+ if (!CustomAction.instances[name]) {
70
+ throw new TableInstanceNotFound_1.TableInstanceNotFound(name);
71
+ }
72
+ return CustomAction.instances[name];
73
+ };
74
+ CustomAction.prototype.getFields = function () {
75
+ return this.schema && this.schema.getFields();
76
+ };
77
+ CustomAction.prototype.getActions = function () {
78
+ var _this = this;
79
+ var actions = this.actions || {};
80
+ var result = {};
81
+ Object.keys(actions).forEach(function (action) {
82
+ result[action] = function (_, args, context, info) { return __awaiter(_this, void 0, void 0, function () {
83
+ var user, roles, permissions;
84
+ return __generator(this, function (_a) {
85
+ switch (_a.label) {
86
+ case 0: return [4 /*yield*/, Mandarina_1.default.config.getUser(context)];
87
+ case 1:
88
+ user = _a.sent();
89
+ console.log('user', user);
90
+ roles = (user && user.roles) || [];
91
+ if (roles.includes('nobody')) {
92
+ throw new Error('Action not allowed');
93
+ }
94
+ permissions = actions[action].permission || [];
95
+ if (!(permissions.includes('everybody') || permissions.some(function (permission) { return roles.includes(permission); }))) return [3 /*break*/, 3];
96
+ return [4 /*yield*/, actions[action].action(_, args, context, info)];
97
+ case 2: return [2 /*return*/, _a.sent()];
98
+ case 3: throw new Error("Action \"" + action + "\" not allowed for this user");
99
+ }
100
+ });
101
+ }); };
102
+ });
103
+ return result;
104
+ };
105
+ return CustomAction;
106
+ }());
107
+ exports.CustomAction = CustomAction;
108
+ //# sourceMappingURL=CustomAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomAction.js","sourceRoot":"","sources":["CustomAction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA4E;AAC5E,yEAAsE;AACtE,iEAA8D;AAG9D,2DAAqC;AAIrC;IAUI;;;;;OAKG;IACH,sBAAY,MAAuB,EAAE,aAA4B;QAC7D,YAAY,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC;QACtD,IAAI,MAAM,YAAY,eAAM,EAAE;YAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;YACpB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;SACtD;aAAM;YACH,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;SACtB;QAED,IAAI,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,IAAI,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;QACpC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,CAAC;IAGM,wBAAW,GAAlB,UAAmB,IAAY;QAC3B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YAC/B,MAAM,IAAI,6CAAqB,CAAC,IAAI,CAAC,CAAC;SACzC;QAED,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,gCAAS,GAAT;QACI,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IAClD,CAAC;IAGD,iCAAU,GAAV;QAAA,iBAsBC;QArBG,IAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;YAC5B,MAAM,CAAC,MAAM,CAAC,GAAG,UAAO,CAAM,EAAE,IAAS,EAAE,OAAY,EAAE,IAAS;;;;gCAEjD,qBAAM,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;4BAA9C,IAAI,GAAG,SAAuC;4BACpD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAC,IAAI,CAAC,CAAA;4BAClB,KAAK,GAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAE,IAAI,EAAE,CAAA;4BACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC;gCACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;6BACxC;4BACK,WAAW,GAAY,OAAO,CAAC,MAAM,CAAC,CAAC,UAAU,IAAI,EAAE,CAAA;iCACzD,CAAA,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAA,UAAU,IAAE,OAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAA1B,CAA0B,CAAC,CAAA,EAA7F,wBAA6F;4BACtF,qBAAM,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;gCAA3D,sBAAO,SAAoD,EAAA;gCAE/D,MAAM,IAAI,KAAK,CAAC,cAAW,MAAM,iCAA6B,CAAC,CAAA;;;iBAClE,CAAC;QACV,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAClB,CAAC;IACL,mBAAC;AAAD,CAAC,AArED,IAqEC;AArEY,oCAAY"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ var BaseError_1 = __importDefault(require("mandarina/build/Errors/BaseError"));
20
+ var TableInstanceNotFound = /** @class */ (function (_super) {
21
+ __extends(TableInstanceNotFound, _super);
22
+ function TableInstanceNotFound(schemaName) {
23
+ return _super.call(this, "The table " + schemaName + " was not instantiated") || this;
24
+ }
25
+ return TableInstanceNotFound;
26
+ }(BaseError_1.default));
27
+ exports.TableInstanceNotFound = TableInstanceNotFound;
28
+ //# sourceMappingURL=TableInstanceNotFound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableInstanceNotFound.js","sourceRoot":"","sources":["TableInstanceNotFound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+EAAyD;AAEzD;IAA2C,yCAAS;IACnD,+BAAY,UAAkB;eAC7B,kBAAM,eAAa,UAAU,0BAAuB,CAAC;IACtD,CAAC;IACF,4BAAC;AAAD,CAAC,AAJD,CAA2C,mBAAS,GAInD;AAJY,sDAAqB"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ extendStatics(d, b);
11
+ function __() { this.constructor = d; }
12
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
13
+ };
14
+ })();
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ var BaseError_1 = __importDefault(require("mandarina/build/Errors/BaseError"));
20
+ var UniqueActionError = /** @class */ (function (_super) {
21
+ __extends(UniqueActionError, _super);
22
+ function UniqueActionError(schemaName) {
23
+ var _this = this;
24
+ var name = typeof schemaName === "string" ? schemaName : schemaName.name;
25
+ _this = _super.call(this, "The action \"" + name + "\" already exists, action name should be unique.") || this;
26
+ return _this;
27
+ }
28
+ return UniqueActionError;
29
+ }(BaseError_1.default));
30
+ exports.UniqueActionError = UniqueActionError;
31
+ //# sourceMappingURL=UniqueActionError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniqueActionError.js","sourceRoot":"","sources":["UniqueActionError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,+EAAyD;AAGzD;IAAuC,qCAAS;IAC/C,2BAAY,UAA2B;QAAvC,iBAGC;QAFA,IAAM,IAAI,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;QAC1E,QAAA,kBAAM,kBAAe,IAAI,qDAAiD,CAAC,SAAC;;IAC7E,CAAC;IACF,wBAAC;AAAD,CAAC,AALD,CAAuC,mBAAS,GAK/C;AALY,8CAAiB"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var Table_1 = require("./Table/Table");
15
+ var CustomAction_1 = require("./Action/CustomAction");
16
+ var utils_1 = require("./cli/utils");
17
+ var Mandarina = /** @class */ (function () {
18
+ function Mandarina() {
19
+ }
20
+ Mandarina.load = function () {
21
+ var config = utils_1.getConfig();
22
+ utils_1.loadSchemas(config.dir);
23
+ };
24
+ Mandarina.getQuery = function () {
25
+ var Query = {};
26
+ for (var tableName in Table_1.Table.instances) {
27
+ var table = Table_1.Table.getInstance(tableName);
28
+ Query = __assign(__assign({}, Query), table.getDefaultActions('query'));
29
+ }
30
+ return Query;
31
+ };
32
+ Mandarina.getMutation = function () {
33
+ var Mutation = {};
34
+ for (var tableName in Table_1.Table.instances) {
35
+ var table = Table_1.Table.getInstance(tableName);
36
+ Mutation = __assign(__assign({}, Mutation), table.getDefaultActions('mutation'));
37
+ }
38
+ for (var actionName in CustomAction_1.CustomAction.instances) {
39
+ var action = CustomAction_1.CustomAction.getInstance(actionName);
40
+ Mutation = __assign(__assign({}, Mutation), action.getActions());
41
+ }
42
+ return Mutation;
43
+ };
44
+ Mandarina.config = {
45
+ getUser: function (_a) {
46
+ var user = _a.user;
47
+ return user;
48
+ },
49
+ };
50
+ Mandarina.configure = function (options) {
51
+ if (options.getUser) {
52
+ Mandarina.config.getUser = options.getUser;
53
+ }
54
+ };
55
+ return Mandarina;
56
+ }());
57
+ exports.default = Mandarina;
58
+ //# sourceMappingURL=Mandarina.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mandarina.js","sourceRoot":"","sources":["Mandarina.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,sDAAmD;AACnD,qCAAmD;AAGnD;IAAA;IAsCA,CAAC;IArCU,cAAI,GAAX;QACI,IAAM,MAAM,GAAC,iBAAS,EAAE,CAAA;QACxB,mBAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAaM,kBAAQ,GAAf;QACI,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,KAAK,IAAM,SAAS,IAAI,aAAK,CAAC,SAAS,EAAE;YACrC,IAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YAC1C,KAAK,yBAAO,KAAK,GAAK,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAA;SAC1D;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,qBAAW,GAAlB;QACI,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAM,SAAS,IAAI,aAAK,CAAC,SAAS,EAAE;YACrC,IAAM,KAAK,GAAG,aAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;YAC1C,QAAQ,yBAAO,QAAQ,GAAK,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;SACnE;QACD,KAAK,IAAM,UAAU,IAAI,2BAAY,CAAC,SAAS,EAAE;YAC7C,IAAM,MAAM,GAAG,2BAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;YACnD,QAAQ,yBAAO,QAAQ,GAAK,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;SACnD;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC;IA/BM,gBAAM,GAA2B;QACpC,OAAO,EAAE,UAAC,EAAM;gBAAL,cAAI;YAAM,OAAA,IAAI;QAAJ,CAAI;KAE5B,CAAA;IAEM,mBAAS,GAAG,UAAC,OAA+B;QAC/C,IAAI,OAAO,CAAC,OAAO,EAAE;YACjB,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAC9C;IACL,CAAC,CAAA;IAuBL,gBAAC;CAAA,AAtCD,IAsCC;kBAtCoB,SAAS"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["Table.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,uCAAiC;AACjC,8EAA2E;AAC3E,wFAAqF;AACrF,sDAAwD;AACxD,kFAA+E;AAE/E,2DAAiD;AACjD,4DAA4D;AAC5D,6CAAiE;AAEjE,sEAA8C;AAC9C,iCAA+B;AAE/B,2CAA2C;AAE3C;;;;;;GAMG;AACH;IAQI,eAAY,MAAc,EAAE,YAAgC;QAA5D,iBAgBC;QA6ID,wBAAmB,GAAG,UAAC,IAAwB,EAAE,IAAgC,EAAE,gBAAwB,EAAE,MAAkB,EAAE,aAAqB;YAAnE,iCAAA,EAAA,wBAAwB;YACvG,IAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,IAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;YAChC,IAAI,QAAQ,GAAG,KAAK,CAAA;YACpB,IAAM,KAAK,GAAG,gBAAK,CAAC,IAAI,CAAC,SAAS,EAAE;gBAChC,KAAK,EAAE,UAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;oBACtC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE;wBAC3D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAC3B,IAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBAC9C,IAAI,KAAK,SAAmB,CAAA;wBAC5B,IAAI,aAAa,EAAE;4BACf,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;4BACzB,IAAM,GAAG,GAAG,KAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAA;4BACxD,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE;gCAC5B,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;6BACpC;yBACJ;6BAAM;4BACH,KAAK,GAAG,KAAI,CAAA;yBACf;wBACD,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,KAAK,KAAI,CAAC,EAAE;4BACvE,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;4BAC9D,IAAI,CAAC,KAAK,IAAI,gBAAO,CAAC,KAAK,CAAC;gCAAE,OAAM;4BACpC,IAAM,KAAK,GAAG,kBAAS,CAAC,IAAI,CAAC,CAAA;4BAC7B,IAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,EAAxB,CAAwB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;4BAC5G,IAAI,mBAAmB,GAAG,EAAE,CAAA;4BAC5B,IAAI,gBAAgB,IAAI,KAAK,KAAK,KAAI,EAAE;gCACpC,mBAAmB,GAAG,gBAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;gCACnD,QAAQ,GAAG,IAAI,CAAA;6BAClB;4BACD,IAAM,cAAc,GAAG,0BAAe,CAAC,KAAK,EAAE,EAAC,YAAY,EAAE,KAAK,EAAC,CAAC,CAAA;4BACpE,IAAI,gBAAgB,GAAG,mBAAmB,CAAC,CAAC,CAAC,WAAS,mBAAmB,SAAI,cAAc,OAAI,CAAC,CAAC,CAAC,cAAc,CAAA;4BAChH,IAAI,gBAAgB,EAAE;gCAClB,gBAAgB,CAAC,KAAK,GAAG,qBAAU,CAAC,IAAI,iBAAM,CAAC,gBAAgB,CAAC,CAAC,CAAA;6BACpE;iCAAM;gCACH,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,UAAU;oCAChB,IAAI,EACA,EAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAC;oCAClC,KAAK,EAAE,qBAAU,CAAC,IAAI,iBAAM,CAAC,gBAAgB,CAAC,CAAC;iCAClD,CAAC,CAAA;6BACL;4BACD,OAAO,KAAK,CAAA;yBACf;qBACJ;oBACD,OAAM;gBACV,CAAC;gBACD,KAAK,YAAC,IAAI;oBACN,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE;wBAC3D,KAAK,CAAC,GAAG,EAAE,CAAA;qBACd;gBAEL,CAAC;aAEJ,CAAC,CAAC;YACH,IAAI,WAAW,GAAE,gBAAK,CAAC,KAAK,CAAC,CAAA;YAC7B,IAAI,QAAQ;gBAAE,WAAW,GAAC,WAAW,CAAC,OAAO,CAAC,sBAAsB,EAAC,mBAAmB,CAAC,CAAA;YACzF,OAAO,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,OAAA,EAAE,WAAW,aAAA,EAAC,CAAA;QAC3D,CAAC,CAAA;QArNG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAClC,MAAM,IAAI,yCAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;QAED,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,IAAI,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1C;QAED,IAAI,CAAC,OAAO,gBAAO,YAAY,CAAC,CAAC;QAEjC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,CAAC;IAEM,iBAAW,GAAlB,UAAmB,IAAY;QAC3B,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,+CAAsB,CAAC,IAAI,CAAC,CAAC;SAC1C;QAED,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,yBAAS,GAAT;QACI,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;GAkBD;IACC,mCAAmB,GAAnB;QACI,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,WAAW,EAAtC,CAAsC,CAAC,CAAA;QAC1F,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC5B,CAAC;IACD,qCAAqC;IACrC,gFAAgF;IAChF,iCAAiB,GAAjB,UAAkB,IAAmB;QAArC,iBAoGC;QAnGG,yFAAyF;QACzF,IAAM,cAAc,GAAa,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,IAAM,eAAe,GAAyF,EAAE,CAAC;QACjH,cAAc,CAAC,OAAO,CAAC,UAAC,aAAqB;YACzC,IAAI,CAAC,KAAI,CAAC,mBAAmB,EAAE;gBAAE,OAAM;YACvC,eAAe,CAAC,aAAa,CAAC,GAAG,UAAO,CAAM,EAAE,IAAc,EAAE,OAAgB,EAAE,IAAwB;gBAA1D,qBAAA,EAAA,SAAc;;;;;;gCAC1D,OAAO,CAAC,YAAY,GAAC,IAAI,CAAA;gCACzB,EAAE,EAAE,CAAA;gCACS,qBAAM,mBAAS,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAA;;gCAA9C,IAAI,GAAG,SAAuC;gCAC9C,gBAAgB,GAAwB,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gCAClE,MAAM,GAA2B,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;gCAExH,iBAAiB,GAAG,kBAAU,CAAC,MAAM,CAAC,CAAA;gCAC5C,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;gCAAxE,SAAwE,CAAC;gCACnE,gBAAgB,GAAG,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,IAAI,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;gCAC/H,KAA+B,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,CAAC,EAA3G,KAAK,WAAA,EAAE,WAAW,iBAAA,EAAE,MAAM,YAAA,CAAiF;qCAC5G,CAAA,IAAI,KAAK,UAAU,CAAA,EAAnB,wBAAmB;qCAMf,CAAA,gBAAgB,IAAI,CAAC,MAAM,KAAG,QAAQ,IAAI,MAAM,KAAG,QAAQ,CAAC,CAAA,EAA5D,wBAA4D;gCACtD,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAG,MAAM,EAAE,aAAa,CAAC,CAAA;qCAChF,KAAK,EAAL,wBAAK;gCACD,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAC,CAAC,CAAC,CAAC,KAAK,CAAA;gCAChD,qBAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,EAAA;;gCAA5D,MAAM,GAAG,CAAC,SAAkD,CAAC;gCACnE,IAAI,CAAC,MAAM,EAAE;oCACT,MAAM,IAAI,KAAK,CAAI,MAAM,YAAO,IAAI,CAAC,MAAM,CAAC,IAAI,uBAAkB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAG,CAAE,CAAA;iCAC9F;;;gCAKT,0CAA0C;gCAC1C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,kBAAS,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gCAChF,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAY,WAAS,iBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;gCAA/F,SAA+F,CAAC;gCAuBlF,qBAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAA;;gCAAvD,IAAI,GAAG,CAAC,SAA+C,CAAC;gCAC9D,IAAI,IAAI,CAAC,MAAM,EAAC;oCACZ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;iCAC7B;gCACD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gCACjC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gCACvB,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAY,UAAQ,iBAAmB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;gCAA9F,SAA8F,CAAC;gCAC/F,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;;;qCAG5D,CAAA,IAAI,KAAK,OAAO,CAAA,EAAhB,yBAAgB;gCAChB,0DAA0D;gCAC1D,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAA;;gCADtE,0DAA0D;gCAC1D,SAAsE,CAAC;gCACvE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;oCACvC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;iCAC5D;qCAAM;oCACH,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;iCAC/D;gCACD,oDAAoD;gCACpD,IAAI,aAAa,KAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAC;oCAC/C,WAAW,GAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oCAC7E,WAAW,GAAC,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,OAAI,CAAC,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAE,GAAG,CAAC,CAAA;iCACrI;gCACa,qBAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAA;;gCAAvD,IAAI,GAAG,CAAC,SAA+C,CAAC;gCAC9D,IAAI,IAAI,CAAC,MAAM,EAAC;oCACZ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;iCAC7B;gCACD,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gCACjC,IAAI,aAAa,KAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAC;oCAC/C,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;oCAClD,MAAM,GAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;iCACxD;gCACD,OAAO,CAAC,MAAM,GAAG,MAAM,CAAA;gCACvB,qBAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;gCAApE,SAAoE,CAAC;;;gCAEzE,EAAE,CAAI,aAAa,SAAI,IAAI,cAAS,IAAI,CAAC,IAAM,CAAC,CAAA;gCAChD,sBAAO,MAAM,EAAC;;;;aACjB,CAAA;QACL,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IAC3B,CAAC;IA8DD;;OAEG;IAGH;;;;;;;;;OASG;IACG,wBAAQ,GAAd,UAAe,UAAkB,EAAE,IAAc,EAAE,CAAM,EAAE,IAAS,EAAE,OAAY,EAAE,IAAwB;;;;;;;;wBAEhG,MAAM,GAAG,EAAE,CAAA;wBACf,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAAE,MAAM,GAAG,QAAQ,CAAA;wBACnD,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;4BAAE,MAAM,GAAG,OAAO,CAAA;wBAC3C,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC/D,IAAI,GAAQ,IAAI,CAAC,IAAI,CAAA;6BAGrB,CAAA,IAAI,IAAI,MAAM,CAAA,EAAd,yBAAc;wBACR,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAC1B,MAAM,GAAG,kBAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAA;;;;wBACzB,WAAA,SAAA,MAAM,CAAA;;;;wBAAf,KAAK;wBACN,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAA;wBACrC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;6BACtF,GAAG,CAAC,OAAO,EAAX,yBAAW;wBACL,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;wBAC3C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;4BAC5B,mEAAmE;4BACnE,yBAAQ;yBACX;wBACK,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;;;;wBACjB,8BAAA,SAAA,UAAU,CAAA,CAAA;;;;wBAAvB,SAAS;wBACV,QAAQ,GAAG,KAAG,MAAM,GAAG,kBAAU,CAAC,SAAS,CAAe,CAAA;wBAC1D,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAA;6BAEhC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAApB,yBAAoB;;;;wBACD,yBAAA,SAAA,KAAK,CAAA,CAAA;;;;wBAAb,IAAI;6BACP,MAAM,EAAN,wBAAM;wBACN,qBAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;wBAA3F,SAA2F,CAAA;;4BAE3F,qBAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;wBAA3F,SAA2F,CAAA;;;;;;;;;;;;;;;;;;6BAK/F,MAAM,EAAN,yBAAM;wBACN,qBAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;wBAA9F,SAA8F,CAAA;;6BAE9F,qBAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;wBAA9F,SAA8F,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAQlH,WAAW,EAAX,yBAAW;wBACX,qBAAM,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAA;;wBAAzC,SAAyC,CAAC;;;;;wBAG9C,OAAO,CAAC,KAAK,CAAC,6BAA0B,IAAI,qBAAe,UAAU,OAAG,CAAC,CAAA;wBACzE,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,CAAA;wBAChB,MAAM,GAAC,CAAA;;;;;KAGd;IA8BL,YAAC;AAAD,CAAC,AAtUD,IAsUC;AAtUY,sBAAK;AAkYlB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;AAE/B,SAAgB,EAAE,CAAC,WAAgB;IAAhB,4BAAA,EAAA,gBAAgB;IAAC,cAAW;SAAX,UAAW,EAAX,qBAAW,EAAX,IAAW;QAAX,6BAAW;;IAC3C,WAAW,IAAI,OAAO,CAAC,IAAI,OAAZ,OAAO,YAAM,WAAW,GAAI,IAAI,GAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAC,CAAA;IAC7E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAA;AAE/B,CAAC;AAJD,gBAIC"}
@@ -0,0 +1,170 @@
1
+ import {getConfig, loadSchemas} from "../utils";
2
+ import {createDir, resetDir} from "./genFilesUtils";
3
+ import {Table} from "../..";
4
+ import {Schema} from "mandarina";
5
+ import {capitalize, isRequired} from "mandarina/build/Schema/utils";
6
+ import path from "path";
7
+ import fs from "fs";
8
+ import {FieldDefinition} from "mandarina/build/Schema/Schema";
9
+
10
+
11
+ const prisma2Models: { [schemaName: string]: { [fieldName: string]: string } } = {}
12
+ const proccesed: string[] = []
13
+ let c = 0
14
+ export const genFile = () => {
15
+ const config = getConfig()
16
+ loadSchemas(config.dir)
17
+ createDir(config.dir.prisma2)
18
+ resetDir(config.dir.prisma2)
19
+ for (const schemaName in Table.instances) {
20
+ const schema = Schema.getInstance(schemaName)
21
+ getPrisma2Model(schema)
22
+ }
23
+ let prisma = `generator client {
24
+ provider = "prisma-client-js"
25
+ }
26
+
27
+ datasource db {
28
+ provider = "postgresql"
29
+ url = env("DATABASE_URL")
30
+ }
31
+ `
32
+ Object.keys(prisma2Models).forEach(modelName => {
33
+ const model = prisma2Models[modelName]
34
+ prisma += `model ${modelName} {\n `
35
+ Object.keys(model).forEach(fieldName => {
36
+ const field = model[fieldName]
37
+ prisma += `\t${fieldName} ${field}\n`
38
+ })
39
+ prisma += `}\n\n`
40
+ })
41
+ const prismaDir = path.join(process.cwd(), config.dir.prisma2,)
42
+ const fileAbs = `${prismaDir}/schema.prisma`;
43
+ fs.writeFileSync(fileAbs, prisma);
44
+ }
45
+ const getPrisma2Model = (schema: Schema, parent?: Schema, parentName?: string) => {
46
+ let mainSchema: { [fieldName: string]: string } = prisma2Models[schema.name] || {}
47
+ let isParentInChild = false
48
+ if (!proccesed.includes(schema.name)) {
49
+ for (const key of schema.keys) {
50
+ if (key === 'id') {
51
+ c++
52
+ mainSchema.id = `String @id @default(cuid()) //${c}`;
53
+ } else {
54
+ const fieldDefinition = schema.getPathDefinition(key)
55
+
56
+ let required = fieldDefinition.isArray || isRequired(fieldDefinition)
57
+ const unique = fieldDefinition.table.unique ? '@unique' : ''
58
+ let defaultValue = ''
59
+ if (fieldDefinition.table.default !== undefined) {
60
+ const wrapper = (fieldDefinition.type === String) ? '"' : ''
61
+ defaultValue = `@default(${wrapper}${fieldDefinition.table.default}${wrapper})`
62
+ }
63
+ const relations: string[] = []
64
+ let relation: string = ''
65
+ if (fieldDefinition.isTable) {
66
+ if (!fieldDefinition.isArray){
67
+ required=false
68
+ }
69
+ let relationName = fieldDefinition.table.relation ? typeof fieldDefinition.table.relation === 'string' ? fieldDefinition.table.relation : fieldDefinition.table?.relation?.name : ``
70
+
71
+ if (fieldDefinition.table?.relation && typeof fieldDefinition.table?.relation !== 'string' && fieldDefinition.table?.relation?.onDelete) {
72
+ //relations.push(`onDelete: Cascade`)
73
+ }
74
+
75
+ if (!parent || !parentName) {
76
+ getPrisma2Model(Schema.getInstance(fieldDefinition.type), schema, key)
77
+ } else {
78
+ if (parent.name === fieldDefinition.type) {
79
+ isParentInChild = true
80
+ console.log('isParentInChild', key, parent.name, parentName)
81
+ getPrisma2Model(Schema.getInstance(fieldDefinition.type), schema, key)
82
+ // const parentDef=parent.getPathDefinition(parentName)
83
+ const idName = `${parent.names.query.single}Id`
84
+ mainSchema[idName] = `String //aqui`;
85
+ relations.push(`fields: [${idName}]`)
86
+ } else {
87
+ getPrisma2Model(Schema.getInstance(fieldDefinition.type), schema, key)
88
+ }
89
+ }
90
+
91
+ if (relationName) {
92
+ relations.push(`name: "${relationName}"`)
93
+ }
94
+ if (relations.length > 0) {
95
+ if (relations.length === 1 && relations[0].indexOf('name:')>=0){
96
+ }else{
97
+ relations.push(`references: [id]`)
98
+ }
99
+ }
100
+ if (relations.length > 0) {
101
+ relation = `@relation(${relations.join(', ')})`
102
+ }
103
+ }
104
+ let createdAt = '', updatedAt = ''//processMissingInfo
105
+ if ((fieldDefinition.table.createdAt === true || (fieldDefinition.table.createdAt !== false && key === 'createdAt'))) {
106
+ createdAt = `@default(now())`
107
+ }
108
+ if ((fieldDefinition.table.updatedAt === true || (fieldDefinition.table.updatedAt !== false && key === 'updatedAt'))) {
109
+ createdAt = `@default(now())`
110
+ }
111
+ const fieldType = getGraphQLType(fieldDefinition, key, required );
112
+ if (!fieldType) {
113
+ throw new Error('no type')
114
+ }
115
+ mainSchema[key] = `${fieldType} ${unique} ${createdAt} ${updatedAt} ${defaultValue} ${relation} //@relation(${relations.join(', ')})`;
116
+ }
117
+
118
+ proccesed.push(schema.name)
119
+ }
120
+
121
+ }else{
122
+ for (const key of schema.keys) {
123
+ const fieldDefinition = schema.getPathDefinition(key)
124
+ if (parent && parent.name === fieldDefinition.type) {
125
+ isParentInChild = true
126
+ }
127
+ }
128
+ }
129
+ if (parent && parentName) {
130
+ const parentDef = parent.getPathDefinition(parentName)
131
+
132
+ if (!isParentInChild) {
133
+ const relationName = parentDef.table.relation ? typeof parentDef.table.relation === 'string' ? parentDef.table.relation : parentDef.table?.relation?.name : ``
134
+ const name = !relationName ? `${parent.names.query.single}` : `${parent.names.query.single}For${capitalize(parentName)}`
135
+ const idName=`${name}Id`
136
+ mainSchema[name] = `${parent.name} @relation(fields: [${idName}], references: [id]${relationName ? `, name:"${relationName}"` : ''}) //isParentInChild`
137
+ mainSchema[idName] = `String`
138
+ }
139
+ }
140
+ prisma2Models[schema.name] = {...mainSchema,...prisma2Models[schema.name]}
141
+ }
142
+
143
+
144
+ export const getGraphQLType = (def: FieldDefinition, key: string, required: boolean): string => {
145
+ const optional=!def.isArray && !required ? '?' : ''
146
+ switch (true) {
147
+ case (!def.isArray && !def.isTable && def.type.name === 'String'):
148
+ return `String${optional}`;
149
+
150
+ case (!def.isArray && !def.isTable && def.type.name === 'Boolean'):
151
+ return `Boolean${optional}`;
152
+
153
+ case (!def.isArray && !def.isTable && def.type.name === 'Number'):
154
+ return `Float${optional}`;
155
+
156
+ case (!def.isArray && !def.isTable && def.type.name === 'Integer'):
157
+ return `Int${optional}`;
158
+ case (!def.isArray && !def.isTable && def.type.name === 'Date'):
159
+ return `DateTime${optional}`;
160
+ case (def.isArray && def.isTable):
161
+ return `${def.type}[]`
162
+ case (def.isArray && !def.isTable):
163
+ const scalarName = getGraphQLType({...def, isArray: false}, key, def.isArray && required)
164
+ return `${scalarName}[]`
165
+ default:
166
+ return def.type + optional;
167
+ }
168
+ }
169
+
170
+
package/src/cli/index.ts CHANGED
@@ -3,29 +3,35 @@ import {createProject} from "./createProject";
3
3
  import {watch} from "./watch";
4
4
  import {deploy} from "./deploy";
5
5
  import {genFile} from "./gen-files/genFiles";
6
+ import {genFile as genPrisma2} from "./gen-files/prisma2";
7
+
8
+ console.log('cesar')
6
9
 
7
10
  //@ts-ignore
8
11
  const [nodeDir, dir, cmd, ...args] = process.argv
9
12
 
10
13
  switch (cmd) {
11
- case "create":
12
- const project = args && args[0] || 'mandarina'
13
- createProject(project)
14
- break
15
- case 'gen-files':
16
- genFile()
17
- break;
18
- case 'deploy':
19
- deploy()
20
- break;
21
- case 'watch':
22
- watch()
23
- break;
24
- case undefined:
25
- console.info(`You need to pass a command at first argument`)
26
- break
27
- default:
28
- console.info(`command ${cmd} not found, available commands: "create","gen-files","deploy","watch`)
14
+ case "create":
15
+ const project = args && args[0] || 'mandarina'
16
+ createProject(project)
17
+ break
18
+ case 'gen-files':
19
+ genFile()
20
+ break;
21
+ case 'gen-prisma2':
22
+ genPrisma2()
23
+ break;
24
+ case 'deploy':
25
+ deploy()
26
+ break;
27
+ case 'watch':
28
+ watch()
29
+ break;
30
+ case undefined:
31
+ console.info(`You need to pass a command at first argument`)
32
+ break
33
+ default:
34
+ console.info(`command ${cmd} not found, available commands: "create","gen-files","deploy","watch`)
29
35
  }
30
36
 
31
37
  /*
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var fs_1 = __importDefault(require("fs"));
7
+ var path_1 = __importDefault(require("path"));
8
+ exports.getConfig = function () {
9
+ var rawData;
10
+ try {
11
+ rawData = fs_1.default.readFileSync(path_1.default.join(process.cwd(), 'mandarina.json'), 'utf8');
12
+ }
13
+ catch (e) {
14
+ throw Error('Error: Be sure you are running your server from the root (where mandarina.json file is located');
15
+ }
16
+ var config = JSON.parse(rawData);
17
+ if (!config.dir) {
18
+ throw Error('Error: please set "dir" in madarina.json file');
19
+ }
20
+ if (!config.dir.schemas || !Array.isArray(config.dir.schemas) || config.dir.schemas.length === 0) {
21
+ throw Error('Error: please set "dir.schemas" in madarina.json file. Make sure it is a array');
22
+ }
23
+ if (config.dir.actions && !Array.isArray(config.dir.actions)) {
24
+ throw Error('Error: please make sure "dir.actions" is a array');
25
+ }
26
+ if (config.dir.tables && !Array.isArray(config.dir.tables)) {
27
+ throw Error('Error: please make sure "dir.tables" is a array');
28
+ }
29
+ if (!config.dir.prisma) {
30
+ throw Error('Error: please set "dir.prisma" in madarina.json file');
31
+ }
32
+ if (!config.dir.generated) {
33
+ throw Error('Error: please set "dir.generated" in madarina.json file');
34
+ }
35
+ return (config);
36
+ };
37
+ var walkSync = function (dir, fileList) {
38
+ var files = fs_1.default.readdirSync(dir);
39
+ fileList = fileList || [];
40
+ files.forEach(function (file) {
41
+ var pathFile = path_1.default.join(dir, file);
42
+ if (fs_1.default.statSync(pathFile).isDirectory()) {
43
+ fileList = walkSync(pathFile, fileList);
44
+ }
45
+ else {
46
+ if (path_1.default.extname(file) === '.js')
47
+ fileList.push(pathFile);
48
+ }
49
+ });
50
+ return fileList;
51
+ };
52
+ exports.loadSchemas = function (dir) {
53
+ var tables = [];
54
+ var schemas = [];
55
+ var actions = [];
56
+ dir.schemas.forEach(function (dir) {
57
+ schemas = walkSync(path_1.default.join(process.cwd(), dir), schemas);
58
+ });
59
+ if (dir.actions) {
60
+ dir.actions.forEach(function (dir) {
61
+ actions = walkSync(path_1.default.join(process.cwd(), dir), actions);
62
+ });
63
+ }
64
+ if (dir.tables) {
65
+ dir.tables.forEach(function (dir) {
66
+ tables = walkSync(path_1.default.join(process.cwd(), dir), tables);
67
+ });
68
+ }
69
+ schemas.forEach(function (schema) {
70
+ var content = fs_1.default.readFileSync(schema, 'utf8');
71
+ if (true || content.match(/new *Schema/)) {
72
+ console.info('loading schema: ', schema);
73
+ require(schema);
74
+ }
75
+ });
76
+ tables.forEach(function (table) {
77
+ var content = fs_1.default.readFileSync(table, 'utf8');
78
+ if (true || content.match(/new *Table/)) {
79
+ console.info('loading table: ', table);
80
+ require(table);
81
+ }
82
+ });
83
+ actions.forEach(function (action) {
84
+ var content = fs_1.default.readFileSync(action, 'utf8');
85
+ if (true || content.match(/new *Table/)) {
86
+ console.info('loading action: ', action);
87
+ require(action);
88
+ }
89
+ });
90
+ };
91
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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"}
package/src/cli/utils.ts CHANGED
@@ -68,6 +68,7 @@ export interface ConfigDirInterface {
68
68
  actions?: string[]
69
69
  generated: string
70
70
  prisma: string
71
+ prisma2: string
71
72
  }
72
73
 
73
74
  export const loadSchemas = (dir: ConfigDirInterface) => {
package/src/index.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var CustomAction_1 = require("./Action/CustomAction");
7
+ exports.CustomAction = CustomAction_1.CustomAction;
8
+ var Table_1 = require("./Table/Table");
9
+ exports.Table = Table_1.Table;
10
+ var Mandarina_1 = __importDefault(require("./Mandarina"));
11
+ var utils_1 = require("./cli/utils");
12
+ exports.getConfig = utils_1.getConfig;
13
+ var Action = CustomAction_1.CustomAction; //for backward compatibility
14
+ exports.Action = Action;
15
+ exports.default = Mandarina_1.default;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;AAAA,sDAAkD;AAW9C,uBAXI,2BAAY,CAWJ;AAVhB,uCAAmC;AAY/B,gBAZI,aAAK,CAYJ;AAXT,0DAAmC;AACnC,qCAAqC;AAOjC,oBAPI,iBAAS,CAOJ;AAJb,IAAM,MAAM,GAAC,2BAAY,CAAA,CAAC,4BAA4B;AAMlD,wBAAM;AAJV,kBAAe,mBAAS,CAAA"}