36 lines
797 B
JavaScript
36 lines
797 B
JavaScript
const _ = require('lodash/fp')
|
|
const pgp = require('pg-promise')()
|
|
|
|
const db = require('./db')
|
|
|
|
/**
|
|
* Get user by token
|
|
*
|
|
* @name get
|
|
* @function
|
|
*
|
|
* @param {string} token User's token to query by
|
|
*
|
|
* @returns {user object} User object (containing name)
|
|
*/
|
|
function get (token) {
|
|
const sql = 'select * from user_tokens where token=$1'
|
|
return db.oneOrNone(sql, [token])
|
|
}
|
|
|
|
/**
|
|
* Get multiple users given an array of tokens
|
|
*
|
|
* @name getByIds
|
|
* @function
|
|
*
|
|
* @param {array} tokens Array with users' tokens
|
|
*
|
|
* @returns {array} Array of users found
|
|
*/
|
|
function getByIds (tokens) {
|
|
const sql = 'select * from user_tokens where token in ($1^)'
|
|
const tokensClause = _.map(pgp.as.text, tokens).join(',')
|
|
return db.any(sql, [tokensClause])
|
|
}
|
|
module.exports = { get, getByIds }
|