mirror of
https://github.com/lifegpc/eh-downloader.git
synced 2026-06-06 05:38:44 +08:00
Add user management API
This commit is contained in:
26
db.ts
26
db.ts
@@ -979,6 +979,20 @@ export class EhDb {
|
||||
delete_token(token: string) {
|
||||
this.db.query("DELETE FROM token WHERE token = ?;", [token]);
|
||||
}
|
||||
delete_user(id: number) {
|
||||
this.db.query("DELETE FROM user WHERE id = ?;", [id]);
|
||||
this.db.query("DELETE FROM token WHERE uid = ?;", [id]);
|
||||
this.db.query("DELETE FROM client_config WHERE uid = ?;", [id]);
|
||||
}
|
||||
delete_user_token(uid: number, excluded_token?: number) {
|
||||
let where = "";
|
||||
const args = [uid];
|
||||
if (excluded_token) {
|
||||
where = " AND id != ?";
|
||||
args.push(excluded_token);
|
||||
}
|
||||
this.db.query(`DELETE FROM token WHERE uid = ?${where};`, args);
|
||||
}
|
||||
async flock() {
|
||||
if (!this.#file) return;
|
||||
await eval(`Deno.flock(${this.#file.rid}, true);`);
|
||||
@@ -1438,4 +1452,16 @@ export class EhDb {
|
||||
[new Date(), token],
|
||||
);
|
||||
}
|
||||
update_user(user: User) {
|
||||
this.db.query(
|
||||
"INSERT OR REPLACE INTO user VALUES (?, ?, ?, ?, ?);",
|
||||
[
|
||||
user.id,
|
||||
user.username,
|
||||
user.password,
|
||||
user.is_admin,
|
||||
user.permissions,
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user