diff --git a/dist/example-def.d.ts b/dist/example-def.d.ts deleted file mode 100644 index 5dcc692..0000000 --- a/dist/example-def.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { SystemDef } from './systemGenService'; -declare let def: SystemDef; -export default def; diff --git a/dist/processDef.d.ts b/dist/processDef.d.ts deleted file mode 100644 index 4aee840..0000000 --- a/dist/processDef.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -interface SystemDef { - storage: StorageDef; - views: ViewDef[]; -} -interface StorageDef { - tables: TableDef[]; - relations: ManyToManyDef[]; -} -interface ViewDef { - component: string; - type: ('list' | 'count' | 'item' | 'distinct')[]; - columns: string[]; - orderBy?: Order[]; - filters?: Filter[]; -} -interface Order { - column: string; - direction: 'asc' | 'desc'; -} -interface Filter { - param: string; - column: string; - comparison: '=' | '!=' | '>' | '<' | 'contains'; - value?: string; - required?: boolean; -} -interface TableDef { - name: string; - columns: ColumnDef[]; - relations: BelongsToDef[]; -} -interface ColumnDef { - name: string; - type: "blob" | "boolean" | "date" | "dateTIME" | "number" | "string"; - nullable: boolean; - unique?: boolean; - autoIncrement?: boolean; - default?: string; -} -interface BelongsToDef { - type: 'belongs-to'; - table: string; -} -interface ManyToManyDef { - left: string; - relation: 'many-to-many'; - right: string; - columns?: ColumnDef[]; -} -export { SystemDef }; diff --git a/dist/processDef.js b/dist/processDef.js deleted file mode 100644 index 6aa31c9..0000000 --- a/dist/processDef.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (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 (Object.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 }); -var path = __importStar(require("path")); -// import simmer from './simmer-def-example'; -var ncp = require('ncp').ncp; -var fs = __importStar(require("fs")); -var example_def_1 = __importDefault(require("./example-def")); -var outDir = 'test'; -function createDatabase(storageDef) { - var tableCreationQueries = []; - var tableDeletionQueries = []; - for (var i in storageDef.tables) { - tableCreationQueries.push(getTableCreationString(storageDef.tables[i])); - tableDeletionQueries.push(getTableDeletionString(storageDef.tables[i])); - } - for (var i in storageDef.relations) { - tableCreationQueries.push(getTableRelationsCreationString(storageDef.relations[i])); - tableDeletionQueries.push(getTableRelationsDeletionString(storageDef.relations[i])); - } - tableCreationQueries.map(function (query) { - console.log(query); - }); - tableDeletionQueries.map(function (query) { - console.log(query); - }); - return { - up: tableCreationQueries, - down: tableDeletionQueries, - }; -} -function getTableCreationString(tableDef) { - var primaryKeyString = tableDef.name + "_id VARCHAR(36) PRIMARY KEY"; - var columnString = "" + primaryKeyString; - var defaultColumns = "created DATETIME NOT NULL DEFAULT NOW(), modified DATETIME NOT NULL DEFAULT NOW()"; - var indexString = ""; - // columns - for (var i in tableDef.columns) { - var column = tableDef.columns[i]; - columnString = columnString + ", " + createColumnString(column); - } - // relations - for (var i in tableDef.relations) { - var relation = tableDef.relations[i]; - columnString = columnString + ", " + relation.table + "_id VARCHAR(36)"; - } - // default created & modified - columnString = columnString + ", " + defaultColumns; - return "CREATE TABLE IF NOT EXISTS " + tableDef.name + " (" + columnString + (indexString !== '' ? ', ' + indexString : '') + ");"; -} -function getTableDeletionString(tableDef) { - return "DROP TABLE IF EXISTS " + tableDef.name + ";"; -} -function createColumnString(column) { - var typeMap = { - "blob": "BLOB", - "boolean": "BOOLEAN", - "date": "DATE", - "dateTIME": "DATETIME", - "number": "INT", - "string": "VARCHAR(255)", - }; - return column.name + " " + typeMap[column.type] + (column.nullable ? '' : ' NOT NULL') + (column.default ? ' DEFAULT ' + column.default : '') + (column.autoIncrement ? ' AUTO_INCREMENT' : '') + (column.unique ? ' UNIQUE' : ''); -} -function getTableRelationsCreationString(relationsDef) { - var columnString = relationsDef.left + "_id VARCHAR(36) NOT NULL, " + relationsDef.right + "_id VARCHAR(36) NOT NULL"; - var indexString = "INDEX " + relationsDef.left + "_id_index (" + relationsDef.left + "_id), INDEX " + relationsDef.right + "_id_index (" + relationsDef.right + "_id)"; - if (relationsDef.columns && relationsDef.columns.length) { - for (var i in relationsDef.columns) { - var column = relationsDef.columns[i]; - columnString = columnString + ", " + createColumnString(column); - } - } - return "CREATE TABLE IF NOT EXISTS " + relationsDef.left + "_" + relationsDef.right + " (" + columnString + (indexString !== '' ? ', ' + indexString : '') + ");"; -} -function getTableRelationsDeletionString(relationsDef) { - return "DROP TABLE IF EXISTS " + relationsDef.left + "_" + relationsDef.right + ";"; -} -function dateString() { - var date = new Date(); - return "" + date.getFullYear() + (date.getMonth() + 1) + date.getDate(); -} -function writeMigrationsToFile(migrations) { - var migrationFileContents = "\n--up\n" + migrations.up.join('\n') + "\n--down\n" + migrations.down.join('\n') + "\n "; - var migrationFilePath = path.join(process.cwd(), outDir, 'src', 'migrationJobs', dateString() + "-create-database.sql"); - fs.writeFileSync(migrationFilePath, migrationFileContents); -} -ncp(path.join(process.cwd(), 'frame'), path.join(process.cwd(), outDir), function (err) { - if (err) { - console.log(err); - } - else { - console.log('success copying files'); - var creationMigrations = createDatabase(example_def_1.default.storage); - // let creationMigrations = createDatabase(simmer.storage); - writeMigrationsToFile(creationMigrations); - } -});