started database abstractions for new data structures

This commit is contained in:
plane000
2018-09-07 19:01:14 +01:00
parent 478897ae2b
commit 0c8977d4d0
4 changed files with 94 additions and 0 deletions

View File

@@ -935,3 +935,31 @@
[2018-9-7 17:49:25] [INFO] HTTP endpoints settup
[2018-9-7 17:49:25] [INFO] Initialized ratelimiting middleware
[2018-9-7 17:49:25] [READY]
[SYSTEM STARTING UP]
[2018-9-7 19:00:34] [INFO] Loading config
[2018-9-7 19:00:34] [INFO] LOADED: src/config/configs/server.json
[2018-9-7 19:00:34] [INFO] LOADED: src/config/configs/database.json
[2018-9-7 19:00:34] [INFO] Config loaded
[2018-9-7 19:00:34] [INFO] Connecting to SQLite Database
[2018-9-7 19:00:34] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `user` (`id` BIGINT UNIQUE PRIMARY KEY, `username` TEXT, `password` TEXT, `email` TEXT, `ip` TEXT, `lastupdated` TEXT, `verified` TINYINT(1), `authcode` TEXT, `timeauthed` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`user`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_user_1`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `auth` (`id` BIGINT UNIQUE PRIMARY KEY, `token` TEXT, `passhash` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`auth`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_auth_1`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `permanote` (`uid` BIGINT UNIQUE PRIMARY KEY, `endpoint` TEXT, `text` TEXT, `creatorid` BIGINT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`permanote`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_permanote_1`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `group` (`id` BIGINT UNIQUE PRIMARY KEY, `creatorid` BIGINT, `order` INTEGER, `lastupdated` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`group`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_group_1`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `note` (`id` BIGINT UNIQUE PRIMARY KEY, `content` TEXT, `parentgroup` BIGINT, `creatorid` BIGINT, `order` INTEGER, `catergory` TEXT, `lastupdated` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`note`)
[2018-9-7 19:00:34] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_note_1`)
[2018-9-7 19:00:34] [INFO] Connected to SQLite Database
[2018-9-7 19:00:34] [INFO] Server created
[2018-9-7 19:00:34] [INFO] HTTP service is listening at port 8080
[2018-9-7 19:00:34] [INFO] Setting up API HTTP endpoints
[2018-9-7 19:00:34] [INFO] HTTP endpoints settup
[2018-9-7 19:00:34] [INFO] Initialized ratelimiting middleware
[2018-9-7 19:00:34] [READY]

View File

@@ -0,0 +1,6 @@
import {BaseDatabase} from './baseDatabase';
import {Logger} from '../logger';
export class NoteGroupTools extends BaseDatabase {
}

View File

@@ -0,0 +1,6 @@
import {BaseDatabase} from './baseDatabase';
import {Logger} from '../logger';
export class NoteTools extends BaseDatabase {
}

View File

@@ -0,0 +1,54 @@
import Sequelize from 'sequelize';
import {BaseDatabase} from './baseDatabase';
import {Logger} from '../logger';
export class PermaLinkTools extends BaseDatabase {
static async listAll() {
let PermaNote = BaseDatabase.PermaNote;
return PermaNote.findAll();
}
static async newNote(uid, endpoint, text, id) {
let PermaNote = BaseDatabase.PermaNote;
try {
let note = await PermaNote.create({
id: id,
endpoint: endpoint,
text: text,
creatorid: id
});
return note;
} catch (e) {
Logger.error(`An error occured while inserting user a note with the endpoint ${endpoint} into permanote table: ${e}`);
return -1;
}
}
static async getNoteByUID(id) {
let PermaNote = BaseDatabase.PermaNote;
try {
let note = await PermaNote.findOne({where: {id: id}});
if (note == null) return -1;
return note;
} catch (e) {
Logger.error(`An error occured while querying for a permanote by uid ${id}: ${e}`);
return -1;
}
}
static async getNoteByEndpoint(endpoint) {
let PermaNote = BaseDatabase.PermaNote;
try {
let note = await PermaNote.findOne({where: {endpoint: endpoint}});
if (note == null) return -1;
return note;
} catch (e) {
Logger.error(`An error occured while querying for a permanote by endpoint ${endpoint}: ${e}`);
return -1;
}
}
}