From cd7641c2aebd245a59a189233fc5700a924639e0 Mon Sep 17 00:00:00 2001
From: TomatoCake <60300461+DEVTomatoCake@users.noreply.github.com>
Date: Sat, 6 Jul 2024 06:47:14 +0200
Subject: [PATCH] Fix loading connection settings
---
src/connections/BattleNet/index.ts | 20 +++++++++++---------
src/connections/Discord/index.ts | 13 ++++++++-----
src/connections/EpicGames/index.ts | 20 +++++++++++---------
src/connections/Facebook/index.ts | 13 ++++++++-----
src/connections/GitHub/index.ts | 13 ++++++++-----
src/connections/Reddit/index.ts | 13 ++++++++-----
src/connections/Spotify/index.ts | 14 +++++++++-----
src/connections/Twitch/index.ts | 13 ++++++++-----
src/connections/Twitter/index.ts | 13 ++++++++-----
src/connections/Xbox/index.ts | 13 ++++++++-----
src/connections/Youtube/index.ts | 13 ++++++++-----
11 files changed, 95 insertions(+), 63 deletions(-)
diff --git a/src/connections/BattleNet/index.ts b/src/connections/BattleNet/index.ts
index 4fdfccb1..8f44944c 100644
--- a/src/connections/BattleNet/index.ts
+++ b/src/connections/BattleNet/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -47,13 +47,15 @@ export default class BattleNetConnection extends Connection {
settings: BattleNetSettings = new BattleNetSettings();
init(): void {
- const settings =
- ConnectionLoader.getConnectionConfig(
- this.id,
- this.settings,
- );
+ this.settings = ConnectionLoader.getConnectionConfig(
+ this.id,
+ this.settings,
+ );
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Discord/index.ts b/src/connections/Discord/index.ts
index 731086f1..e5508f48 100644
--- a/src/connections/Discord/index.ts
+++ b/src/connections/Discord/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -43,12 +43,15 @@ export default class DiscordConnection extends Connection {
settings: DiscordSettings = new DiscordSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/EpicGames/index.ts b/src/connections/EpicGames/index.ts
index e5b2d336..cedfcd0a 100644
--- a/src/connections/EpicGames/index.ts
+++ b/src/connections/EpicGames/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -53,13 +53,15 @@ export default class EpicGamesConnection extends Connection {
settings: EpicGamesSettings = new EpicGamesSettings();
init(): void {
- const settings =
- ConnectionLoader.getConnectionConfig(
- this.id,
- this.settings,
- );
+ this.settings = ConnectionLoader.getConnectionConfig(
+ this.id,
+ this.settings,
+ );
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Facebook/index.ts b/src/connections/Facebook/index.ts
index 2bf26f34..bcb90b4c 100644
--- a/src/connections/Facebook/index.ts
+++ b/src/connections/Facebook/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -52,12 +52,15 @@ export default class FacebookConnection extends Connection {
settings: FacebookSettings = new FacebookSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/GitHub/index.ts b/src/connections/GitHub/index.ts
index 25e5f89f..78bf510e 100644
--- a/src/connections/GitHub/index.ts
+++ b/src/connections/GitHub/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -42,12 +42,15 @@ export default class GitHubConnection extends Connection {
settings: GitHubSettings = new GitHubSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Reddit/index.ts b/src/connections/Reddit/index.ts
index 149cce02..0db23731 100644
--- a/src/connections/Reddit/index.ts
+++ b/src/connections/Reddit/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -54,12 +54,15 @@ export default class RedditConnection extends Connection {
settings: RedditSettings = new RedditSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Spotify/index.ts b/src/connections/Spotify/index.ts
index ece404d8..4eb12602 100644
--- a/src/connections/Spotify/index.ts
+++ b/src/connections/Spotify/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -63,12 +63,16 @@ export default class SpotifyConnection extends RefreshableConnection {
* So to prevent spamming the spotify api we disable the ability to refresh.
*/
this.refreshEnabled = false;
- const settings = ConnectionLoader.getConnectionConfig(
+
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Twitch/index.ts b/src/connections/Twitch/index.ts
index 9a6cea35..953669a1 100644
--- a/src/connections/Twitch/index.ts
+++ b/src/connections/Twitch/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -55,12 +55,15 @@ export default class TwitchConnection extends RefreshableConnection {
settings: TwitchSettings = new TwitchSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Twitter/index.ts b/src/connections/Twitter/index.ts
index 62fd7da1..eba8ceb5 100644
--- a/src/connections/Twitter/index.ts
+++ b/src/connections/Twitter/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -55,12 +55,15 @@ export default class TwitterConnection extends RefreshableConnection {
settings: TwitterSettings = new TwitterSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Xbox/index.ts b/src/connections/Xbox/index.ts
index 935ff7ab..84066def 100644
--- a/src/connections/Xbox/index.ts
+++ b/src/connections/Xbox/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -62,12 +62,15 @@ export default class XboxConnection extends Connection {
settings: XboxSettings = new XboxSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}
diff --git a/src/connections/Youtube/index.ts b/src/connections/Youtube/index.ts
index 844803cf..38edbb0d 100644
--- a/src/connections/Youtube/index.ts
+++ b/src/connections/Youtube/index.ts
@@ -1,17 +1,17 @@
/*
Spacebar: A FOSS re-implementation and extension of the Discord.com backend.
Copyright (C) 2023 Spacebar and Spacebar Contributors
-
+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
-
+
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
*/
@@ -62,12 +62,15 @@ export default class YoutubeConnection extends Connection {
settings: YoutubeSettings = new YoutubeSettings();
init(): void {
- const settings = ConnectionLoader.getConnectionConfig(
+ this.settings = ConnectionLoader.getConnectionConfig(
this.id,
this.settings,
);
- if (settings.enabled && (!settings.clientId || !settings.clientSecret))
+ if (
+ this.settings.enabled &&
+ (!this.settings.clientId || !this.settings.clientSecret)
+ )
throw new Error(`Invalid settings for connection ${this.id}`);
}