diff --git a/src/index.ts b/src/index.ts index 6aff86e..8136997 100644 --- a/src/index.ts +++ b/src/index.ts @@ -3,9 +3,11 @@ import { commandHandler } from "./utils/commandHandler" import { nonCommandHandler } from "./utils/nonCommandHandler" import { Database } from "sqlite3"; import config from "../config.json" +import dbInit from "utils/dbInit"; const client : Client = new Client({ eagerFetching: false }); const db = new Database(config.databaseName); +dbInit(db); client.on("ready", async () => { console.info(`logged in as ${client.user.username}!`) diff --git a/src/models/User.ts b/src/models/UserModel.ts similarity index 84% rename from src/models/User.ts rename to src/models/UserModel.ts index 8e2d094..a3fb039 100644 --- a/src/models/User.ts +++ b/src/models/UserModel.ts @@ -1,5 +1,6 @@ interface UserModel { id: number, + revolt_id: string, autoProxy: boolean, autoProxyMember: number } diff --git a/src/repositories/MemberRepo.ts b/src/repositories/MemberRepo.ts index 69da5b7..c762279 100644 --- a/src/repositories/MemberRepo.ts +++ b/src/repositories/MemberRepo.ts @@ -6,11 +6,10 @@ export class MemberRepo { constructor(database_instance: Database) { this.db = database_instance; - this.db.run("CREATE TABLE IF NOT EXISTS alters (id INTEGER PRIMARY KEY AUTOINCREMENT, owner TEXT, prefix TEXT, name TEXT, profile_pic_url TEXT, color TEXT)"); } async getAltersByUserId(userId : string) : Promise { - const query : string = 'SELECT * FROM alters WHERE alters.owner = "' + userId + '"' + const query : string = 'SELECT * FROM members WHERE members.owner = "' + userId + '"' let result: MemberModel[] = await new Promise((resolve, reject) => { this.db.all(query, (err, row: MemberModel[]) => { @@ -23,17 +22,17 @@ export class MemberRepo { } addAlterForUser(alter: MemberModel){ - this.db.run("INSERT INTO alters (owner, prefix, name, profile_pic_url, color) VALUES(?, ?, ?, ?, ?)", + this.db.run("INSERT INTO members (owner, prefix, name, profile_pic_url, color) VALUES(?, ?, ?, ?, ?)", [alter.owner, alter.prefix, alter.name, alter.profile_pic_url]) } editAlter(alter: MemberModel){ - this.db.run("UPDATE alters SET owner=?, prefix=?, name=?, profile_pic_url=?, color=? WHERE alters.id ='" + alter.id + "'", + this.db.run("UPDATE members SET owner=?, prefix=?, name=?, profile_pic_url=?, color=? WHERE members.id ='" + alter.id + "'", [alter.owner, alter.prefix, alter.name, alter.profile_pic_url, alter.color]) } delete(alterId: number) { - this.db.run("DELETE FROM alters WHERE alters.id='"+ alterId + "'") + this.db.run("DELETE FROM members WHERE members.id='"+ alterId + "'") } } diff --git a/src/repositories/UserRepo.ts b/src/repositories/UserRepo.ts new file mode 100644 index 0000000..1e856cc --- /dev/null +++ b/src/repositories/UserRepo.ts @@ -0,0 +1,14 @@ +import { Database } from "sqlite3"; + +class UserRepo { + db: Database + + constructor(database: Database) { + this.db = database + } + + getById() {} + new() {} + delete() {} + +} diff --git a/src/utils/dbInit.ts b/src/utils/dbInit.ts index 64b3d61..edd07fb 100644 --- a/src/utils/dbInit.ts +++ b/src/utils/dbInit.ts @@ -1,5 +1,17 @@ +import { Database } from "sqlite3"; +function dbInit(database: Database){ + database.run("CREATE TABLE IF NOT EXISTS members (id INTEGER PRIMARY KEY AUTOINCREMENT, owner TEXT, prefix TEXT, name TEXT, profile_pic_url TEXT, color TEXT)"); -export function dbInit(){ - + database.run(` + CREATE TABLE IF NOT EXISTS users( + id INTEGER PRIMARY KEY AUTOINCREMENT, + revolt_id TEXT NOT NULL, + auto_proxy BOOLEAN NOT NULL, + auto_proxy_member INTEGER, + FOREIGN KEY (auto_proxy_member) + REFERENCES members (id)) + `); } + +export default dbInit