/[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 5 by rakin, Mon Jul 29 17:28:11 2024 UTC trunk/src/client/Database.ts revision 51 by rakin, Mon Jul 29 17:28:23 2024 UTC
# Line 1  Line 1 
1  const { Database: DB } = require('sqlite3');  import { Database as DB } from 'sqlite3';
2    import DiscordClient from './Client';
3    
4  class Database {  export default class Database {
5      constructor(dbpath) {      client: DiscordClient;
6        dbpath: string;
7        db: DB;
8    
9        constructor(dbpath: string, client: DiscordClient) {
10            this.client = client;
11          this.dbpath = dbpath;          this.dbpath = dbpath;
12          this.db = new DB(dbpath, (err) => {          this.db = new DB(dbpath, (err) => {
13              if (err) {              if (err) {
# Line 10  class Database { Line 16  class Database {
16          });          });
17      }      }
18    
19      get(sql, callback1, callback2) {      get(sql: string, params: any[] | Function, callback?: Function) {
20          return this.db.get(sql, callback1, callback2);          return this.db.get(sql, params, callback);
21        }
22    
23        all(sql: string, params: any[] | Function, callback?: Function) {
24            return this.db.all(sql, params, callback);
25        }
26    
27        runAsync(sql: string, paramsOrCallback: any[] | Function = []) {
28            return new Promise<void>((resolve, reject) => {
29                this.db.run(sql, paramsOrCallback, err => {
30                    if (err) {
31                        reject(err);
32                        return;
33                    }
34    
35                    resolve();
36                });
37            });
38      }      }
39    
40      all(sql, callback1, callback2) {      getAsync(sql: string, paramsOrCallback: any[] | Function = []): Promise <any> {
41          return this.db.all(sql, callback1, callback2);          return new Promise((resolve, reject) => {
42                this.db.get(sql, paramsOrCallback, (err, data) => {
43                    if (err) {
44                        reject(err);
45                        return;
46                    }
47    
48                    resolve(data);
49                });
50            });
51      }      }
 }  
52    
 module.exports = Database;  
53        allAsync(sql: string, paramsOrCallback: any[] | Function = []): Promise <any> {
54            return new Promise((resolve, reject) => {
55                this.db.all(sql, paramsOrCallback, (err, data) => {
56                    if (err) {
57                        reject(err);
58                        return;
59                    }
60    
61                    resolve(data);
62                });
63            });
64        }
65    };

Legend:
Removed from v.5  
changed lines
  Added in v.51

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26