UNPKG

itmsg_automation

Version:

This is RESTful API web server with Ansible. You can execute Ansible ADHOC, Playbook using this API server. If you want to give me a feedback, Please leave a comment on 'Github Repository > Discussions'!

111 lines (94 loc) 3.08 kB
const express = require('express'); const router = express.Router(); const db = require('../db/db.js'); const sql = require('../db/sql/jobSql.js'); const jobBuilder = require('../dto/jobBuilder'); const addslashes = require('../db/addslashes.js'); /* POST Job (Insert) */ router.post('/', (req, res, next) => { const dto = new jobBuilder().setIid(addslashes(req.body.iid)) .setIname(addslashes(req.body.iname)) .setTid(addslashes(req.body.tid)) .setTname(addslashes(req.body.tname)) .setStatus(addslashes(req.body.status)) .build(); db.query(sql.post(), [dto.iid, dto.iname, dto.tid , dto.tname, dto.status], (err, rows) => { if (err) return next(err); res.json(db.resultMsg('a001', req.body)); }); }); /* PUT Job (Update) */ router.put('/:seq', (req, res, next) => { res.json(db.resultMsg('900', req.body)); }); /* DELETE Job (delete) */ router.delete('/:seq', (req, res, next) => { res.json(db.resultMsg('900', req.body)); }); /* GET Job (SELECT ONE) */ router.get('/:seq', (req, res, next) => { const seq = req.params.seq ? addslashes(req.params.seq) : ""; db.query(sql.getOneRow(), [seq], (err, rows) => { if (err) { return next(err); } res.json(db.resultMsg('a001', rows.rows[0])); }); }); /* GET Job listing. */ router.get('/', (req, res, next) => { let data = {}; const page = req.query.page ? addslashes(req.query.page) : ""; const pageSize = req.query.pageSize ? addslashes(req.query.pageSize) : ""; const tname = req.query.tname ? addslashes(req.query.tname) : ""; const iname = req.query.iname ? addslashes(req.query.iname) : ""; const status = req.query.status ? addslashes(req.query.status) : ""; // Todo variable check // const tcheck = req.query.chk_temp ? addslashes(req.query.chk_temp) : ""; if (page == "" || page < 1) { page = 1; } if (pageSize) { if (pageSize == "" || pageSize < 1) { pageSize = 15; } } const start = (page - 1) * pageSize; db.query(sql.getList(tname, iname, status), [pageSize, start], (err, rows) => { if (err) { return next(err); } totalCount(req).then((result) => { data['rowCount'] = rows.rowCount; data['totalCount'] = result; data['page'] = page; data['pageSize'] = pageSize; data['list'] = rows.rows; if (data.list == "") { res.json(db.resultMsg('500'[2], rows.rows[0])); } else { res.json(db.resultMsg('a001', data)); } }).catch((err) => { if (err) { console.log(err); } }); }); }); function totalCount(req) { let tname = req.query.tname ? addslashes(req.query.tname) : ""; let iname = req.query.iname ? addslashes(req.query.iname) : ""; let status = req.query.status ? addslashes(req.query.status) : ""; let stringQuery = sql.totalCount(tname, iname, status) return new Promise((resolve, reject) => { db.query(stringQuery, [], (err, rows) => { if (err) { return reject(err); } resolve(rows.rows[0].total); }); }); } module.exports = router;