Files
note-service-server/src/models/database/baseDatabase.js

84 lines
2.2 KiB
JavaScript

import Sequelize from 'sequelize';
import {Logger} from '../logger';
import {Config} from '../../config/config';
let connection;
let User;
let Auth;
let Session;
export class BaseDatabase {
static get Connection() {return connection;}
static get User() {return User}
static get Auth() {return Auth}
static get Session() {return Session}
static async init() {
Logger.info('Connecting to SQLite Database');
connection = new Sequelize('database', 'user', 'password', {
host: 'localhost',
dialect: 'sqlite',
logging: Logger.database,
operatorsAliases: false,
storage: 'src/models/database/sqlite/database.sqlite',
});
User = connection.define('user', {
id: {
type: Sequelize.BIGINT,
primaryKey: true,
unique: true
},
username: Sequelize.TEXT,
password: Sequelize.TEXT,
email: Sequelize.TEXT,
ip: Sequelize.TEXT,
lastupdated: Sequelize.TEXT,
verified: Sequelize.BOOLEAN,
authcode: Sequelize.TEXT,
timeauthed: Sequelize.TEXT
}, {
tableName: `user`
});
Auth = connection.define('auth', {
id: {
type: Sequelize.BIGINT,
primaryKey: true,
unique: true
},
token: Sequelize.TEXT,
passhash: Sequelize.TEXT
}, {
tableName: `auth`
});
Session = connection.define('session', {
sessionid: {
type: Sequelize.BIGINT,
primaryKey: true,
unique: true
},
sessiondata: Sequelize.TEXT,
timecreated: Sequelize.TEXT,
timeupdated: Sequelize.TEXT
}, {
tableName: `session`
});
try {
await connection.sync({force: false});
} catch (e) {
Logger.panic('Failed to connect to SQLite Database, error:', e)
}
Logger.info('Connected to SQLite Database');
}
static async testConnection() {
}
}