UNPKG

nodejs-schema-rules

Version:

The CLI tool automatically generates basic validation rules for popular libraries such as JOI, ValidatorJS and @vinejs/vine based on your database table schema!

34 lines (30 loc) 1.07 kB
import { DATABASE_MYSQL, DATABASE_POSTGRES, databaseClassMap } from "../utils/constants" import {Database} from "../databases" import { config } from "../config/config"; import { mySQLDataTypeTable, pgDataTypeTable, sqliteDataTypeTable } from "./sql"; export const databaseInt=async (databaeTpe:any)=>{ if(!Object.keys(databaseClassMap).includes(databaeTpe)){ throw new Error("The database type is invalid") } const databaseConfig=config.databases[databaeTpe] const database=new Database(databaeTpe,databaseConfig).init() await database.connect(); try { await database.query(createTableSql(databaeTpe)); } catch (error:any) { console.log("Test Error: ",error); throw new Error(error.message) }finally{ await database.end() } return true; } export const createTableSql=(dataType:any)=>{ if(dataType===DATABASE_MYSQL){ return mySQLDataTypeTable; }else if(dataType===DATABASE_POSTGRES){ return pgDataTypeTable; }else{ return sqliteDataTypeTable; } }