-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelper.ts
77 lines (71 loc) · 2.21 KB
/
helper.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
import { MongoClient } from "mongodb";
import * as main from "./main";
export function isServerKnown(server_id: string | undefined, callback: (found: boolean) => void) {
main.db.collection("servers").find({}).toArray((err, res) => {
if (err) throw err;
for (var i in res) {
if (res[i].id == server_id) {
callback(true);
return;
}
}
callback(false);
});
}
export function add_server_to_db(server_id: string | undefined, callback: () => void) {
var to_add = { id: server_id, users: [], roles_to_manage: []};
main.db.collection("servers").insertOne(to_add, (err, res) => {
if (err) throw err;
console.log("[Database] added new Server to database");
callback();
});
}
export function isUserKnown(user_id: string | undefined, server_id: string | undefined, callback: (found: boolean) => void) {
var query = { id: server_id};
main.db.collection("servers").findOne(query, (err, res) => {
if (err) throw err;
for (var i in res.users) {
if (res.users[i].id == user_id) {
callback(true);
return;
}
}
callback(false);
});
}
export function getUser(user_id: string | undefined, server_id: string | undefined, callback: (user: main.User | undefined) => void) {
var query = { id: server_id};
main.db.collection("servers").findOne(query, (err, res) => {
if (err) throw err;
for (var i in res.users) {
if (res.users[i].id == user_id) {
callback(res.users[i]);
return;
}
}
callback(undefined);
});
}
export function add_new_user_to_db(user_id: string | undefined, user_permission: number, server_id: string | undefined, callback: () => void) {
var query = { id: server_id };
main.db.collection("servers").findOne(query, (err, res) => {
if (err) throw err;
res.users.push({
id: user_id,
permission: user_permission
});
var to_update = { $set: { users: res.users} };
main.db.collection("servers").updateOne(query, to_update, (err, res) => {
if (err) throw err;
console.log("[Database] added one new user to the database");
callback();
return;
});
});
}
export function debug_log_complete_db() {
main.db.collection("servers").find({}).toArray((err, res) => {
if (err) throw err;
console.log("DEBUG: complete db debug log: " + JSON.stringify(res));
});
}