Token authentication on signup /user/ POST route working, started login and auth
This commit is contained in:
@@ -50,10 +50,8 @@ export class BaseDatabase {
|
||||
primaryKey: true,
|
||||
unique: true
|
||||
},
|
||||
selector: Sequelize.TEXT,
|
||||
validator: Sequelize.TEXT,
|
||||
uid: Sequelize.BIGINT,
|
||||
expires: Sequelize.TEXT
|
||||
token: Sequelize.TEXT,
|
||||
passhash: Sequelize.TEXT
|
||||
}, {
|
||||
tableName: `auth`
|
||||
});
|
||||
|
||||
@@ -28,3 +28,4 @@ export class Database extends BaseDatabase {
|
||||
}
|
||||
|
||||
Database.users = require('./users').UserTools;
|
||||
Database.auth = require('./tokens').TokenTools;
|
||||
|
||||
Binary file not shown.
29
src/models/database/tokens.js
Normal file
29
src/models/database/tokens.js
Normal file
@@ -0,0 +1,29 @@
|
||||
import {BaseDatabase} from './baseDatabase';
|
||||
import {Logger} from '../logger';
|
||||
|
||||
export class TokenTools extends BaseDatabase {
|
||||
static async listAll() {
|
||||
let Auth = BaseDatabase.Auth;
|
||||
return Auth.findAll();
|
||||
}
|
||||
|
||||
static async newToken(id, token, passHash) {
|
||||
|
||||
}
|
||||
|
||||
static async getTokenByID(id) {
|
||||
|
||||
}
|
||||
|
||||
static async getIDByToken(token) {
|
||||
|
||||
}
|
||||
|
||||
static async getTokenByPassHash(hash) {
|
||||
|
||||
}
|
||||
|
||||
static async updateToken(id, newToken) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -60,31 +60,29 @@ export class UserTools extends BaseDatabase {
|
||||
let User = BaseDatabase.User;
|
||||
|
||||
try {
|
||||
let user;
|
||||
if (column == 'id') {
|
||||
return search;
|
||||
} else if (column == 'username') {
|
||||
let user = await User.findOne({where: {username: search}});
|
||||
user = await User.findOne({where: {username: search}});
|
||||
if (user == null) return -1;
|
||||
return user;
|
||||
} else if (column == 'email') {
|
||||
let user = await User.findOne({where: {email: search}});
|
||||
user = await User.findOne({where: {email: search}});
|
||||
if (user == null) return -1;
|
||||
return user;
|
||||
} else if (column == 'password') {
|
||||
let user = await User.findOne({where: {password: search}});
|
||||
user = await User.findOne({where: {password: search}});
|
||||
if (user == null) return -1;
|
||||
return user;
|
||||
} else if (column == 'ip') {
|
||||
let user = await User.findOne({where: {ip: search}});
|
||||
user = await User.findOne({where: {ip: search}});
|
||||
if (user == null) return -1;
|
||||
return user;
|
||||
} else if (column == 'authcode') {
|
||||
let user = await User.findOne({where: {authcode: search}});
|
||||
user = await User.findOne({where: {authcode: search}});
|
||||
if (user == null) return -1;
|
||||
return user;
|
||||
} else {
|
||||
return -1
|
||||
}
|
||||
return user.id;
|
||||
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while querying the id of a user where ${column} is ${search}: ${e}`);
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user