db.from('capcodes') .select('id', 'ignore') // TODO: test this doesn't break other DBs - there's a lot of quote changes here .modify(function (queryBuilder) { if (dbtype == 'oracledb') { queryBuilder.whereRaw(`'${address}' LIKE "address"`) queryBuilder.orderByRaw(`REPLACE("address", '_', '%') DESC`); } else { queryBuilder.whereRaw(`"${address}" LIKE address`) queryBuilder.orderByRaw(`REPLACE(address, '_', '%') DESC`) } })
router.route('/capcodeExport') .post(authHelper.isAdmin, function (req, res, next) { nconf.load(); var dbtype = nconf.get('database:type'); var filename = 'export.csv' db.from('capcodes') .select('*') .modify(function (queryBuilder) { if (dbtype == 'oracledb') queryBuilder.orderByRaw(`REPLACE("address", '_', '%')`); else queryBuilder.orderByRaw(`REPLACE(address, '_', '%')`) }) .then((rows) => { converter.json2csv(rows, function (err, data) { if (err) { res.status(500).send(err); } else { res.status(200).send({ 'status': 'ok', 'data': data }) } }) }) .catch((err) => { logger.main.error(err); return next(err); }) });
.modify(function (queryBuilder) { if (dbtype == 'oracledb') queryBuilder.orderByRaw(`REPLACE("address", '_', '%')`); else queryBuilder.orderByRaw(`REPLACE(address, '_', '%')`) }) .then((rows) => {