/[sudobot]/trunk/src/client/Database.ts
ViewVC logotype

Diff of /trunk/src/client/Database.ts

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/src/Database.js revision 45 by rakin, Mon Jul 29 17:28:20 2024 UTC trunk/src/client/Database.ts revision 59 by rakin, Mon Jul 29 17:28:25 2024 UTC
# Line 1  Line 1 
1  const { Database: DB } = require('sqlite3');  import { Sequelize } from 'sequelize';
2    import { Database as DB } from 'sqlite3';
3    import DiscordClient from './Client';
4    
5    export default class Database {
6        client: DiscordClient;
7        dbpath: string;
8        db: DB;
9        sequelize: Sequelize;
10    
11  class Database {      constructor(dbpath: string, client: DiscordClient) {
12      constructor(dbpath) {          this.client = client;
13          this.dbpath = dbpath;          this.dbpath = dbpath;
14    
15            this.sequelize = new Sequelize({
16                dialect: 'sqlite',
17                storage: dbpath
18            });
19    
20          this.db = new DB(dbpath, (err) => {          this.db = new DB(dbpath, (err) => {
21              if (err) {              if (err) {
22                  console.log(err);                  console.log(err);
# Line 10  class Database { Line 24  class Database {
24          });          });
25      }      }
26    
27      get(sql, callback1, callback2) {      get(sql: string, params: any[] | Function, callback?: Function) {
28          return this.db.get(sql, callback1, callback2);          return this.db.get(sql, params, callback);
29      }      }
30    
31      all(sql, callback1, callback2) {      all(sql: string, params: any[] | Function, callback?: Function) {
32          return this.db.all(sql, callback1, callback2);          return this.db.all(sql, params, callback);
33      }      }
34    
35      runAsync(sql, paramsOrCallback = []) {      runAsync(sql: string, paramsOrCallback: any[] | Function = []) {
36          return new Promise((resolve, reject) => {          return new Promise<void>((resolve, reject) => {
37              this.db.run(sql, paramsOrCallback, err => {              this.db.run(sql, paramsOrCallback, err => {
38                  if (err) {                  if (err) {
39                      reject(err);                      reject(err);
# Line 31  class Database { Line 45  class Database {
45          });          });
46      }      }
47    
48      getAsync(sql, paramsOrCallback = []) {      getAsync(sql: string, paramsOrCallback: any[] | Function = []): Promise <any> {
49          return new Promise((resolve, reject) => {          return new Promise((resolve, reject) => {
50              this.db.get(sql, paramsOrCallback, (err, data) => {              this.db.get(sql, paramsOrCallback, (err, data) => {
51                  if (err) {                  if (err) {
# Line 44  class Database { Line 58  class Database {
58          });          });
59      }      }
60    
61      allAsync(sql, paramsOrCallback = []) {      allAsync(sql: string, paramsOrCallback: any[] | Function = []): Promise <any> {
62          return new Promise((resolve, reject) => {          return new Promise((resolve, reject) => {
63              this.db.all(sql, paramsOrCallback, (err, data) => {              this.db.all(sql, paramsOrCallback, (err, data) => {
64                  if (err) {                  if (err) {
# Line 56  class Database { Line 70  class Database {
70              });              });
71          });          });
72      }      }
 }  
73    
 module.exports = Database;  
74        get s(): Sequelize {
75            return this.sequelize;
76        }
77    };

Legend:
Removed from v.45  
changed lines
  Added in v.59

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26