User database model

This commit is contained in:
Ben
2018-08-30 15:52:36 +01:00
parent 80c485a9e0
commit b330329441

View File

@@ -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;
}
}
}