const Dao = require('./dao.js');
module.exports = class UserDao extends Dao {
/**
* Method to insert a user into the userTable.
* @param {object} json JSON object containing userId, expoToken, orgType, orgId and orgName
* @param {function} callback Function callback
*/
insertUser(json, callback) {
const val = [json.userId, json.expoToken, json.orgType, json.orgId, json.orgName];
super.query(
'INSERT IGNORE INTO userTable (userId, expoToken, orgType, orgId, orgName) VALUES (?,?,?,?,?)',
val,
callback
);
}
/**
* Method to get one user from the userTable.
* @param {string} userId The users unique ID
* @param {function} callback Function callback
*/
getOne(userId, callback) {
super.query('SELECT * from userTable WHERE userId=?', [userId], callback);
}
/**
* Method to get all users for one organisation.
* @param {string} orgId Organisation ID.
* @param {function} callback Function callback
*/
getAllOrg(orgId, callback) {
super.query('SELECT * from userTable WHERE orgId=?', [orgId], callback);
}
/**
* Method to remove user from the userTable.
* @param {string} expoToken Unique deviceID
* @param {function} callback Function callback
*/
removeUser(expoToken, callback) {
super.query('DELETE FROM userTable WHERE expoToken=?', [expoToken], callback);
}
};