new Benchmark.Suite() .add('Sqorn - args', function() { sq .from('books') .where({ author: 'Joe' }) .return('title', 'author', 'year').query }) .add('Sqorn - template string', function() { sq.from`books`.where`author = ${'Joe'}`.return`title, author, year`.query }) .add('Sqorn - express', function() { .add('Sqorn - extend', function() { sq.extend( sq.from`books`, sq.where`author = ${'Joe'}`, sq.return`title, author, year` .add('Knex', function() { knex .from('books') .select('title', 'author', 'year') .where({ author: 'Joe' }) squel .select() .from('books') .where('author = ?', 'Jo') .fields(['title', 'author', 'year'])
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('/userCheck/username/:id').get(bruteforcedupe.prevent, function(req, res, next) { const { id } = req.params; db.from('users') .select('username') .where('username', id) .then(row => { if (row.length > 0) { const rowsend = row[0]; res.status(200); res.json(rowsend); } else { const rowsend = { username: '', password: '', givenname: '', surname: '', email: '', role: 'user', status: 'active', }; res.status(200); res.json(rowsend); } }) .catch(err => { logger.main.error(err); return next(err); }); });
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); }) });
router.route('/userCheck/username/:id') .get(authHelper.isAdmin, function (req, res, next) { var id = req.params.id; db.from('users') .select('id','givenname','surname','username','email','role','status','lastlogondate') .where('username', id) .then((row) => { if (row.length > 0) { row = row[0] res.status(200); res.json(row); } else { row = { "username": "", "password": "", "givenname": "", "surname": "", "email": "", "role": "user", "status": "active" }; res.status(200); res.json(row); } }) .catch((err) => { logger.main.error(err); return next(err); }) });
router.route('/userCheck/email/:id').get(bruteforcedupe.prevent, function(req, res, next) { const { id } = req.params; db.from('users') .select('email') .where('email', id) .then(row => { if (row.length > 0) { const rowsend = row[0]; res.status(200); res.json(rowsend); } else { const rowsend = { username: '', password: '', givenname: '', surname: '', email: '', role: 'user', status: 'active', }; res.status(200); res.json(rowsend); } }) .catch(err => { logger.main.error(err); return next(err); }); });
router.route('/userCheck/email/:id') .get(authHelper.isAdmin, function (req, res, next) { var id = req.params.id; db.from('users') .select('id','givenname','surname','username','email','role','status','lastlogondate') .where('email', id) .then((row) => { if (row.length > 0) { row = row[0] res.status(200); res.json(row); } else { row = { "username": "", "password": "", "givenname": "", "surname": "", "email": "", "role": "user", "status": "active" }; res.status(200); res.json(row); } }) .catch((err) => { logger.main.error(err); return next(err); }) });