From b330329441d275360021bbb804dd09ea638401f7 Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 30 Aug 2018 15:52:36 +0100 Subject: [PATCH] User database model --- src/models/database/users.js | 60 +++++++++++++++++++++++++++++++++--- 1 file changed, 56 insertions(+), 4 deletions(-) diff --git a/src/models/database/users.js b/src/models/database/users.js index 970399c..274581c 100644 --- a/src/models/database/users.js +++ b/src/models/database/users.js @@ -12,6 +12,7 @@ export class UserTools extends BaseDatabase { static async newUser(id, username, password, email, ip, authcode) { let User = BaseDatabase.User; + try { let user = await User.create({ id: id, @@ -32,7 +33,15 @@ export class UserTools extends BaseDatabase { } static async deleteUser(id) { + let User = BaseDatabase.User; + try { + let user = await User.destroy({where: {id: id}}); + return 1; + } catch (e) { + Logger.error(`An error occured while deleting user id ${id}: ${e}`); + return -1; + } } static async getUserByID(id) { @@ -48,15 +57,58 @@ export class UserTools extends BaseDatabase { } } - static async getID(term, searchTerm) { + static async getID(column, search) { + let User = BaseDatabase.User; + try { + if (column == 'id') { + return search; + } else if (column == 'username') { + let user = await User.findOne({where: {username: serch}}); + if (user == null) return -1; + return user; + } else if (column == 'password') { + let user = await User.findOne({where: {password: serch}}); + if (user == null) return -1; + return user; + } else if (column == 'ip') { + let user = await User.findOne({where: {ip: serch}}); + if (user == null) return -1; + return user; + } else if (column == 'authcode') { + let user = await User.findOne({where: {authcode: serch}}); + if (user == null) return -1; + return user; + } else { + return -1 + } + } catch (e) { + Logger.error(`An error occured while querying the id of a user where ${term} is ${searchTerm}: ${e}`); + return -1; + } } - static async updateIP() { + static async updateIP(id, newIP) { + let User = BaseDatabase.User; + try { + let user = await User.update({ip: newIP}, {where: {id: id}}); + return 1; + } catch (e) { + Logger.error(`An error occured while updating user id ${id}'s ip: ${e}`); + return -1; + } } - static async authUser() { - + static async authUser(id) { + let User = BaseDatabase.User; + + try { + let user = await User.update({verified: true}, {where: {id: id}}); + return 1; + } catch (e) { + Logger.error(`An error occured while authorizing user id ${id}'s ip: ${e}`); + return -1; + } } }