More work on user model and got queries working

This commit is contained in:
Ben
2018-08-30 15:10:39 +01:00
parent 47980250c4
commit bee795f923
4 changed files with 26 additions and 5 deletions

View File

@@ -4,6 +4,8 @@ import {Database} from './models/database/database';
import {Server} from './server';
import {Router} from './controllers/routes/router';
import {User} from './models/user/user';
init();
async function init() {
Logger.SetLevel(Logger.VERBOSE_LOGS);
@@ -15,6 +17,10 @@ async function init() {
await Router.initEndpoints();
// Logger.debug(JSON.stringify(await Database.users.getUserByID(12341356), null, 4));
// Logger.debug(JSON.stringify(await Database.users.listAll(), null, 4));
// await new User(1234135, 'plane000', 'adifl', 'playsplane@gmail.com', '127.0.0.1', new Date().getTime(), false, 'SGASGD', -1).insert();
// Logger.database('Database Log');
// Logger.middleware('GET request to /');
@@ -24,5 +30,3 @@ async function init() {
// Logger.error('An error has occured');
// Logger.panic('A fatal error has occured, exiting');
}

View File

@@ -24,6 +24,7 @@ export class UserTools extends BaseDatabase {
authcode: authcode,
timeauthed: '-1'
});
return user;
} catch (e) {
Logger.error(`An error occured while inserting user ${username}, id ${id} into users table: ${JSON.stringify(e.errors)}`);
return -1;
@@ -31,6 +32,15 @@ export class UserTools extends BaseDatabase {
}
static async getUserByID(id) {
let User = BaseDatabase.User;
try {
let user = await User.findOne({where: {id: id}});
if (user == null) return -1;
return user;
} catch (e) {
Logger.error(`An error occured while querying for user id ${id}: ${e}`);
return -1;
}
}
}

View File

@@ -1,12 +1,19 @@
import {Logger} from '../logger';
import {BaseUser} from './baseUser';
import {Database} from '../database/database';
export class User extends BaseUser {
constructor(id, username, password, email, ip, lastupdated, verified, authcode, timeauthed) {
super(id, username, password, email, ip, lastupdated, verified, authcode, timeauthed);
}
async insert() {
this._instance = await Database.users.newUser(this.id, this.username, this.password, this.email, this.ip, this.authcode)
if (this._instance == -1) throw new Error('Failed to insert');
Logger.debug(`New user [${this.id}] ${this.username}`);
}
async insertUser() {
async delete() {
return this._instance.delete();
}
}