const Router = require('koa-router'); const router = new Router(); const koaBody = require('koa-body'); // import tools const mysql = require('../../libs/mysql_pool.js'); const so = require('../../libs/storeObject'); const config = require('../../config.json'); // routes const user_api = require('./user.js'); // api response handler router.use(async(c, n) => { c.db = await mysql.getConn(); c.syncQuery = (query, param = null) => { return new Promise((resolve, reject) => { if (param != null) { c.db.query(query, param, (err, row) => { if (err) return reject(err); return resolve(row) }); } else { c.db.query(query, (err, row) => { if (err) return reject(err); return resolve(row) }); } }) } await n(); if ('db' in c && typeof c.db == 'object' && 'release' in c.db && typeof c.db.release == 'function') c.db.release(); switch (typeof c.body) { case 'undefined': c.body = { errorCode: 'ERR9999', status: 0 }; case 'string': c.body = { errorCode: c.body, status: 0 }; default: c.body = { data: c.body, status: 1 } } }) // enable bodyParser router.all('*', koaBody({ multipart: true, // upload file size 10mb maxFieldSize: 10 * 1024 * 1024 }), async(c, n) => { await n(); }) router .get('/', async(c, n) => { c.body = { msg: 'API Endpoint' }; }) .use('/user', user_api.routes()) module.exports = router;