import { Request, Response } from "express"; import DynamicQueryBuilder from "../../helpers/dynamicQueryBuilder"; /** * @description get all table metas * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAllTableMeta(req: Request, res: Response): Promise { let tableMetas = DynamicQueryBuilder.getAllTableMeta(); res.json(tableMetas); } /** * @description get meta by tablename * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getTableMetaByTablename(req: Request, res: Response): Promise { const tablename = req.params.tablename; let tableMeta = DynamicQueryBuilder.getTableMeta(tablename); res.json(tableMeta); } /** * @description execute Query * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function executeQuery(req: Request, res: Response): Promise { let offset = parseInt((req.query.offset as string) ?? "0"); let count = parseInt((req.query.count as string) ?? "25"); const query = req.body.query; //build query to sql //verify sql or return error //let [rows, total] = await executeQuery(query, offset, count); res.json({ rows: [], total: 0, offset: offset, count: count, }); }