router.use((err, req, res, next) => { if (err) { loggerUtils.error(err) return res .status(500) .send({ message: i18nUtils.translate('system_error') }) } })
healthcheckRest.get('/httpStatus', (req, res) => { healthcheckService.httpStatus(req, res).then(response => { httpUtils.json(res, response) }).catch(error => { console.log(error) const errorMessage = i18nUtil.translate('system_error') httpUtils.error(res, errorMessage) }) })
const getMessage = (message, field) => { return i18nUtils.translate(`${message} %s`, field) }
router.use((req, res, next) => { return res .status(404) .send({ message: i18nUtils.translate('route_not_found %s', req.url) }) })
const error = (res, message, status) => { console.log(message || {}, status || {}) res .status(status || 500) .set('Content-Type', 'application/json') .json({ status: status || 500, message: (message || i18nUtils.translate('generic_error')) }) }
/* Execute a basic insert in a table Params: tableName, fields, returning (optional, only for postgres, mysql return updated rows) http://knexjs.org/#Builder-insert */ const basicInsert = (tableName, fields, returning = [], conn = null) => { return new Promise((resolve, reject) => { let validationError = null if (!fields || Object.keys(fields).length === 0) { validationError = i18nUtils.translate('field_required %s', 'fields') reject(validationError) } builder(conn).then(builder => { builder(tableName) .returning(returning) .insert(fields) .then(rowsInserted => { resolve(rowsInserted) }).catch(error => { loggerUtils.error(error.stack) reject(error) }) }).catch(error => reject(error)) }) }
healthcheckRest.get('/databaseStatus', (req, res) => { healthcheckService.databaseStatus(req, res).then(response => { httpUtils.json(res, response) }).catch(error => { console.log(error) const errorMessage = i18nUtil.translate('system_error') httpUtils.error(res, errorMessage) }) })
/* Execute a basic delete in a table Params: tableName, fields, conditions Returns: num of deleted lines http://knexjs.org/#Builder-del%20/%20delete */ const basicDelete = (tableName, conditions, conn = null) => { return new Promise((resolve, reject) => { let validationError = null if (!conditions || Object.keys(conditions).length === 0) { validationError = i18nUtils.translate('field_required %s', 'conditions') reject(validationError) } builder(conn).then(builder => { builder(tableName) .where(conditions) .del() .then(rowsUpdated => { resolve(rowsUpdated) }).catch(error => { loggerUtils.error(error.stack) reject(error) }) }).catch(error => reject(error)) }) }