Skip to content

Commit 6cedcb9

Browse files
committed
fully migrated from old settings system
- now using mysql instead of a json file - uses the same database as the dashboard ("mysql" property in config.json)
1 parent ef1d79f commit 6cedcb9

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

commands/join.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ function joinChannel(message, cid, cb=()=>{}, ecb=()=>{}) {
1212
return message.reply(this.em("Already joined <#" + cid + ">.", message), false);
1313
}
1414
this.channels.push(cid);
15-
const settings = this.settingsMgr.getServer(message.channel.serverId);
15+
const settings = this.getSettings(message);
1616
const pOff = this.freed.shift() || ++this.currPort; // reuse old ports
1717
const p = new RevoltPlayer(this.config.token, {
1818
voice: this.revoice,

index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ class Remix {
3636
this.observedUsers = new Map();
3737
this.observedReactions = new Map();
3838

39-
this.settingsMgr = new SettingsManager();
40-
this.settingsMgr.loadDefaultsSync("./storage/defaults.json");
39+
/*this.settingsMgr = new SettingsManager();
40+
this.settingsMgr.loadDefaultsSync("./storage/defaults.json");*/
4141
// updated settings manager based on a mysql database:
4242
// TODO: add self-hosting instr
43-
this.rSettingsMgr = new RemoteSettingsManager(this.config.mysql, "./storage/defaults.json");
43+
this.settingsMgr = new RemoteSettingsManager(this.config.mysql, "./storage/defaults.json");
4444

4545
this.uploader = new Uploader(this.client);
4646

@@ -553,7 +553,7 @@ class Remix {
553553
}
554554
getSettings(message) {
555555
const serverId = message.channel.serverId;
556-
return this.rSettingsMgr.getServer(serverId);
556+
return this.settingsMgr.getServer(serverId);
557557
}
558558
observeUser(id, channel, cb) {
559559
this.observedUsers.set(id + ";" + channel, cb);

settings/Settings.js

+12-2
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@ class ServerSettings { // TODO: switch to better db system
5555
}
5656
}
5757

58+
59+
/**
60+
* Creates a server settings manager. Stores everything in a JSON file.
61+
* To save the current configs you have to call .saveAsync()
62+
* Deprecated for obvious reasons. Use RemoteSettingsManager instead.
63+
*
64+
* @class SettingsManager
65+
*
66+
* @deprecated
67+
*/
5868
class SettingsManager {
5969
guilds = new Map();
6070
storagePath = "./storage/settings.json";
@@ -203,11 +213,11 @@ class RemoteSettingsManager { // mysql based manager
203213
});
204214
}
205215
async remoteUpdate(server, key) {
206-
const r = await this.query("UPDATE settings SET 'data' = JSON_SET('data', $." + key + ", '" + server.data[key] + "')")
216+
const r = await this.query("UPDATE settings SET data = JSON_SET(data, '$." + key + "', '" + server.data[key] + "') WHERE id='" + server.id + "'")
207217
if (r.error) console.error("settings update error; ", r.error);
208218
}
209219
async remoteSave(server) {
210-
const r = await this.query("UPDATE settings SET 'data' = '" + JSON.stringify(server.data) + "' WHERE id='" + server.id + "'");
220+
const r = await this.query("UPDATE settings SET data = '" + JSON.stringify(server.data) + "' WHERE id='" + server.id + "'");
211221
if (r.error) console.error("settings server save error; ", r.error);
212222
}
213223

0 commit comments

Comments
 (0)