V3
This commit is contained in:
parent
9341181f99
commit
236ca371bb
39 changed files with 659 additions and 1531 deletions
75
src/libs/mysql.ts
Normal file
75
src/libs/mysql.ts
Normal file
|
@ -0,0 +1,75 @@
|
|||
import * as mysql from "mysql";
|
||||
|
||||
export interface User {
|
||||
id: number,
|
||||
username: string,
|
||||
userid: string,
|
||||
quota: number,
|
||||
}
|
||||
|
||||
export async function connectToDb(): Promise<mysql.Connection> {
|
||||
return new Promise((resolve, reject) => {
|
||||
const connection: mysql.Connection = mysql.createConnection({
|
||||
host: process.env.MYSQL_HOST,
|
||||
user: process.env.MYSQL_USER,
|
||||
password: process.env.MYSQL_PASSWORD,
|
||||
database: process.env.MYSQL_DATABASE,
|
||||
})
|
||||
|
||||
connection.connect((error) => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
}
|
||||
|
||||
resolve(connection);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
export async function addUser(connection: mysql.Connection, username: string, userid: string): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(`INSERT INTO users (username, userid, quota) VALUES ("${username}", "${userid}", 0)`, (error, result) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
}
|
||||
|
||||
resolve(result);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export async function getUser(connection: mysql.Connection, userid: string): Promise<User[]> {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(`SELECT * FROM users WHERE userid = "${userid}"`, (error, result) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
}
|
||||
|
||||
resolve(result);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export async function incrementQuota(connection: mysql.Connection, userid: string, value: number): Promise<any> {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(`UPDATE users SET quota = quota + ${value} WHERE userid = "${userid}"`, (error, result) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
}
|
||||
|
||||
resolve(result);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export function resetQuota(connection: mysql.Connection) {
|
||||
return new Promise((resolve, reject) => {
|
||||
connection.query(`UPDATE users SET quota = 0`, (error, result) => {
|
||||
if (error) {
|
||||
reject(error);
|
||||
}
|
||||
|
||||
resolve(result);
|
||||
})
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue