db abstractions done
This commit is contained in:
84
logs.log
84
logs.log
@@ -963,3 +963,87 @@
|
||||
[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]
|
||||
[SYSTEM STARTING UP]
|
||||
[2018-9-7 19:45:50] [INFO] Loading config
|
||||
[2018-9-7 19:45:50] [INFO] LOADED: src/config/configs/server.json
|
||||
[2018-9-7 19:45:50] [INFO] LOADED: src/config/configs/database.json
|
||||
[2018-9-7 19:45:50] [INFO] Config loaded
|
||||
[2018-9-7 19:45:50] [INFO] Connecting to SQLite Database
|
||||
[2018-9-7 19:45:50] [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:45:50] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`user`)
|
||||
[2018-9-7 19:45:50] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_user_1`)
|
||||
[2018-9-7 19:45:50] [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:45:50] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`auth`)
|
||||
[2018-9-7 19:45:50] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_auth_1`)
|
||||
[2018-9-7 19:45:50] [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:45:50] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`permanote`)
|
||||
[2018-9-7 19:45:50] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_permanote_1`)
|
||||
[2018-9-7 19:45:50] [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:45:50] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`group`)
|
||||
[2018-9-7 19:45:50] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_group_1`)
|
||||
[2018-9-7 19:45:50] [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:45:50] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`note`)
|
||||
[2018-9-7 19:45:50] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_note_1`)
|
||||
[2018-9-7 19:45:50] [INFO] Connected to SQLite Database
|
||||
[2018-9-7 19:45:50] [INFO] Server created
|
||||
[2018-9-7 19:45:50] [INFO] HTTP service is listening at port 8080
|
||||
[2018-9-7 19:45:50] [INFO] Setting up API HTTP endpoints
|
||||
[2018-9-7 19:45:50] [INFO] HTTP endpoints settup
|
||||
[2018-9-7 19:45:50] [INFO] Initialized ratelimiting middleware
|
||||
[2018-9-7 19:45:50] [READY]
|
||||
[SYSTEM STARTING UP]
|
||||
[2018-9-7 20:01:02] [INFO] Loading config
|
||||
[2018-9-7 20:01:02] [INFO] LOADED: src/config/configs/server.json
|
||||
[2018-9-7 20:01:02] [INFO] LOADED: src/config/configs/database.json
|
||||
[2018-9-7 20:01:02] [INFO] Config loaded
|
||||
[2018-9-7 20:01:02] [INFO] Connecting to SQLite Database
|
||||
[2018-9-7 20:01:02] [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 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`user`)
|
||||
[2018-9-7 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_user_1`)
|
||||
[2018-9-7 20:01:02] [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 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`auth`)
|
||||
[2018-9-7 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_auth_1`)
|
||||
[2018-9-7 20:01:02] [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 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`permanote`)
|
||||
[2018-9-7 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_permanote_1`)
|
||||
[2018-9-7 20:01:02] [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 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`group`)
|
||||
[2018-9-7 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_group_1`)
|
||||
[2018-9-7 20:01:02] [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 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`note`)
|
||||
[2018-9-7 20:01:02] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_note_1`)
|
||||
[2018-9-7 20:01:02] [INFO] Connected to SQLite Database
|
||||
[2018-9-7 20:01:02] [INFO] Server created
|
||||
[2018-9-7 20:01:02] [INFO] HTTP service is listening at port 8080
|
||||
[2018-9-7 20:01:02] [INFO] Setting up API HTTP endpoints
|
||||
[2018-9-7 20:01:02] [INFO] HTTP endpoints settup
|
||||
[2018-9-7 20:01:02] [INFO] Initialized ratelimiting middleware
|
||||
[2018-9-7 20:01:02] [READY]
|
||||
[SYSTEM STARTING UP]
|
||||
[2018-9-7 21:09:22] [INFO] Loading config
|
||||
[2018-9-7 21:09:22] [INFO] LOADED: src/config/configs/server.json
|
||||
[2018-9-7 21:09:22] [INFO] LOADED: src/config/configs/database.json
|
||||
[2018-9-7 21:09:22] [INFO] Config loaded
|
||||
[2018-9-7 21:09:22] [INFO] Connecting to SQLite Database
|
||||
[2018-9-7 21:09:22] [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 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`user`)
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_user_1`)
|
||||
[2018-9-7 21:09:22] [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 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`auth`)
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_auth_1`)
|
||||
[2018-9-7 21:09:22] [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 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`permanote`)
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_permanote_1`)
|
||||
[2018-9-7 21:09:22] [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 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`group`)
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_group_1`)
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): CREATE TABLE IF NOT EXISTS `note` (`id` BIGINT UNIQUE PRIMARY KEY, `content` TEXT, `parentgroup` BIGINT, `creatorid` BIGINT, `order` INTEGER, `catergory` TEXT, `endpoint` TEXT UNIQUE, `lastupdated` TEXT, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_LIST(`note`)
|
||||
[2018-9-7 21:09:22] [SQLITE] Executing (default): PRAGMA INDEX_INFO(`sqlite_autoindex_note_1`)
|
||||
[2018-9-7 21:09:22] [INFO] Connected to SQLite Database
|
||||
[2018-9-7 21:09:22] [INFO] Server created
|
||||
[2018-9-7 21:09:22] [INFO] HTTP service is listening at port 8080
|
||||
[2018-9-7 21:09:22] [INFO] Setting up API HTTP endpoints
|
||||
[2018-9-7 21:09:22] [INFO] HTTP endpoints settup
|
||||
[2018-9-7 21:09:22] [INFO] Initialized ratelimiting middleware
|
||||
[2018-9-7 21:09:22] [READY]
|
||||
|
||||
@@ -16,6 +16,8 @@ export class BaseDatabase {
|
||||
static get User() {return User}
|
||||
static get Auth() {return Auth}
|
||||
static get PermaNote() {return PermaNote}
|
||||
static get Group() {return Group}
|
||||
static get Note() {return Note}
|
||||
|
||||
static async init() {
|
||||
Logger.info('Connecting to SQLite Database');
|
||||
@@ -104,6 +106,11 @@ export class BaseDatabase {
|
||||
type: Sequelize.TEXT,
|
||||
allowNull: true
|
||||
},
|
||||
endpoint: {
|
||||
type: Sequelize.TEXT,
|
||||
allowNull: true,
|
||||
unique: true
|
||||
},
|
||||
lastupdated: Sequelize.TEXT
|
||||
}, {
|
||||
tableName: `note`
|
||||
|
||||
@@ -2,5 +2,96 @@ import {BaseDatabase} from './baseDatabase';
|
||||
import {Logger} from '../logger';
|
||||
|
||||
export class NoteGroupTools extends BaseDatabase {
|
||||
static async newGroup(id, creatorid, order) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
let group = await Group.create({
|
||||
id: id,
|
||||
creatorid: creatorid,
|
||||
order: order,
|
||||
lastupdated: new Date().getTime()
|
||||
});
|
||||
return group;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async deleteGroup(id) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
await Group.destroy({where: {id: id}});
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while deleting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async renameGroup(id, newName) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
await Group.update({name: newName}, {where: {id: id}});
|
||||
await this.updateLastUpdatedTime(id);
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while updating group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async reorderGroup(id, newPosition) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
await Group.update({order: newPosition}, {where: {id: id}});
|
||||
await this.updateLastUpdatedTime(id);
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while updating group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async getGroupByID(id) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
let group = await Group.findOne({where: {id: id}});
|
||||
if (group == null) return -1;
|
||||
return group;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while getting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async getAllUsersGroups(userid) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
let group = Group.findAll({where: {creatorid: userid}});
|
||||
if (group == null) return -1;
|
||||
return group;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while getting groups from ${userid}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async updateLastUpdatedTime(id) {
|
||||
let Group = BaseDatabase.Group;
|
||||
|
||||
try {
|
||||
await Group.update({lastupdated: new Date().getTime()}, {where: {id: id}});
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while updating group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,5 +2,165 @@ import {BaseDatabase} from './baseDatabase';
|
||||
import {Logger} from '../logger';
|
||||
|
||||
export class NoteTools extends BaseDatabase {
|
||||
static async newNote(id, content, creatorid, order, parentgroup) {
|
||||
parentgroup = parentgroup || null;
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
let note = await Note.create({
|
||||
id: id,
|
||||
content: content,
|
||||
parentgroup: parentgroup,
|
||||
creatorid: creatorid,
|
||||
order: order,
|
||||
catergory: null,
|
||||
endpoint: null,
|
||||
lastupdated: new Date().getTime()
|
||||
});
|
||||
return note;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async deleteNote(id) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.destroy({where: {id: id}});
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async makePermaLink(id, endpoint) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.update({endpoint: endpoint}, {where: {id: id}});
|
||||
await this.updateLastUpdateTime(id);
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async getNoteByEndpoint(endpoint) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
let note = await Note.findOne({where: {endpoint: endpoint}});
|
||||
if (note == null) return -1;
|
||||
return note;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async updateNote(id, newContent) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.update({content: newContent}, {where: {id: id}});
|
||||
await this.updateLastUpdatedTime(id);
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async updateCatergory(id, newCatergory) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.update({catergory: newCatergory}, {where: {id: id}});
|
||||
await this.updateLastUpdatedTime(id);
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async reorderNote(id, newOrder) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.update({order: newOrder}, {where: {id: id}});
|
||||
await this.updateLastUpdatedTime(id);
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async renameNote(id, newName) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.update({name: newName}, {where: {id: id}});
|
||||
await this.updateLastUpdatedTime(id);
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async getNoteByID(id) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
let note = await Note.findOne({where: {id: id}});
|
||||
if (note == null) return -1;
|
||||
return note;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async getAllUserNotes(userid) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
let note = await Note.findAll({where: {creatorid: userid}});
|
||||
if (note == null) return -1;
|
||||
return note;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async getAllGroupedNotes(groupid) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
let note = await Note.findAll({where: {parentgroup: groupid}});
|
||||
if (note == null) return -1;
|
||||
return note;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static async updateLastUpdateTime(id) {
|
||||
let Note = BaseDatabase.Note;
|
||||
|
||||
try {
|
||||
await Note.update({lastupdated: new Date().getTime()}, {where: {id: id}});
|
||||
return 1;
|
||||
} catch (e) {
|
||||
Logger.error(`An error occured while inserting group ${id}: ${e}`);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user