From 21db3c27c6d32da7d8921bd4b5740e79d4c23c17 Mon Sep 17 00:00:00 2001 From: jasonthekitten Date: Tue, 14 Jan 2020 14:30:28 +0000 Subject: [PATCH] Allow specifying a specific server in configs\nShould not affect existing setups --- src/services/AuthenticationService.js | 13 ++++--- src/services/RelationshipService.js | 11 ++++-- src/services/ServerService.js | 51 +++++++++++++++------------ src/services/ThemeService.js | 15 +++++--- src/services/TypingService.js | 7 +++- src/services/channelService.js | 9 +++-- src/services/customEmoji.js | 11 ++++-- src/services/exploreService.js | 25 +++++++------ src/services/messagesService.js | 14 +++++--- src/services/settingsService.js | 15 +++++--- src/services/userService.js | 15 +++++--- vue.config.js | 5 ++- 12 files changed, 125 insertions(+), 66 deletions(-) diff --git a/src/services/AuthenticationService.js b/src/services/AuthenticationService.js index 6fd204a..6a6800b 100644 --- a/src/services/AuthenticationService.js +++ b/src/services/AuthenticationService.js @@ -1,16 +1,21 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { register(credentials) { - return wrapper(instance().post("user/register", credentials)); + return wrapper(instance().post(domain+"user/register", credentials)); }, login(credentials) { - return wrapper(instance().post("user/login", credentials)); + return wrapper(instance().post(domain+"user/login", credentials)); }, logout() { - return wrapper(instance().delete("user/logout")); + return wrapper(instance().delete(domain+"user/logout")); }, user() { - return wrapper(instance().get("user")); + return wrapper(instance().get(domain+"user")); } }; diff --git a/src/services/RelationshipService.js b/src/services/RelationshipService.js index e59d966..c6eda76 100644 --- a/src/services/RelationshipService.js +++ b/src/services/RelationshipService.js @@ -1,15 +1,20 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { post(friend) { - return wrapper(instance().post("/user/relationship", friend)); + return wrapper(instance().post(domain+"/user/relationship", friend)); }, put(uniqueID) { - return wrapper(instance().put("/user/relationship", { uniqueID })); + return wrapper(instance().put(domain+"/user/relationship", { uniqueID })); }, delete(uniqueID) { return wrapper( - instance().delete("/user/relationship", { + instance().delete(domain+"/user/relationship", { data: { uniqueID } }) ); diff --git a/src/services/ServerService.js b/src/services/ServerService.js index 849bf52..cbb3c5c 100644 --- a/src/services/ServerService.js +++ b/src/services/ServerService.js @@ -1,103 +1,108 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { post(data) { - return wrapper(instance().post("/servers", data)); + return wrapper(instance().post(domain+"/servers", data)); }, getChannels(serverID) { - return wrapper(instance().get(`/servers/${serverID}/channels`)); + return wrapper(instance().get(domain+`/servers/${serverID}/channels`)); }, postInvite(serverID) { - return wrapper(instance().post(`/servers/${serverID}/invite`)); + return wrapper(instance().post(domain+`/servers/${serverID}/invite`)); }, getInvites(serverID) { - return wrapper(instance().get(`/servers/${serverID}/invites`)); + return wrapper(instance().get(domain+`/servers/${serverID}/invites`)); }, getInviteDetail(inviteCode) { - return wrapper(instance().get(`/servers/invite/${inviteCode}`)); + return wrapper(instance().get(domain+`/servers/invite/${inviteCode}`)); }, joinServer(inviteCode, optionalData) { return wrapper( - instance().post(`/servers/invite/${inviteCode}`, optionalData) + instance().post(domain+`/servers/invite/${inviteCode}`, optionalData) ); }, joinServerById(server_id, optionalData) { return wrapper( - instance().post(`/servers/invite/servers/${server_id}`, optionalData) + instance().post(domain+`/servers/invite/servers/${server_id}`, optionalData) ); }, leaveServer(serverID) { - return wrapper(instance().delete(`/servers/${serverID}`)); + return wrapper(instance().delete(domain+`/servers/${serverID}`)); }, // Admin commands updateServer(serverID, data) { - return wrapper(instance().patch(`/servers/${serverID}`, data)); + return wrapper(instance().patch(domain+`/servers/${serverID}`, data)); }, createChannel(serverID, name) { - return wrapper(instance().put(`/servers/${serverID}/channels`, { name })); + return wrapper(instance().put(domain+`/servers/${serverID}/channels`, { name })); }, channelPosition(serverID, channelIDArr) { return wrapper( - instance().put(`/servers/${serverID}/channels/position`, { + instance().put(domain+`/servers/${serverID}/channels/position`, { channel_position: channelIDArr }) ); }, updateChannel(serverID, channelID, data) { return wrapper( - instance().patch(`/servers/${serverID}/channels/${channelID}`, data) + instance().patch(domain+`/servers/${serverID}/channels/${channelID}`, data) ); }, deleteChannel(serverID, channelID) { return wrapper( - instance().delete(`/servers/${serverID}/channels/${channelID}`) + instance().delete(domain+`/servers/${serverID}/channels/${channelID}`) ); }, kickMember(serverID, uniqueID) { return wrapper( - instance().delete(`/servers/${serverID}/members/${uniqueID}`) + instance().delete(domain+`/servers/${serverID}/members/${uniqueID}`) ); }, banMember(serverID, uniqueID) { - return wrapper(instance().put(`/servers/${serverID}/bans/${uniqueID}`)); + return wrapper(instance().put(domain+`/servers/${serverID}/bans/${uniqueID}`)); }, unBanMember(serverID, uniqueID) { - return wrapper(instance().delete(`/servers/${serverID}/bans/${uniqueID}`)); + return wrapper(instance().delete(domain+`/servers/${serverID}/bans/${uniqueID}`)); }, memberBans(serverID) { - return wrapper(instance().get(`/servers/${serverID}/bans`)); + return wrapper(instance().get(domain+`/servers/${serverID}/bans`)); }, // roles createRole(serverID, data) { - return wrapper(instance().post(`/servers/${serverID}/roles`, data)); + return wrapper(instance().post(domain+`/servers/${serverID}/roles`, data)); }, // roles deleteRole(serverID, roleID) { - return wrapper(instance().delete(`/servers/${serverID}/roles/${roleID}`)); + return wrapper(instance().delete(domain+`/servers/${serverID}/roles/${roleID}`)); }, // roles updateRole(serverID, roleID, data) { return wrapper( - instance().patch(`/servers/${serverID}/roles/${roleID}`, data) + instance().patch(domain+`/servers/${serverID}/roles/${roleID}`, data) ); }, updateRolesPosition(serverID, data) { - return wrapper(instance().patch(`/servers/${serverID}/roles`, data)); + return wrapper(instance().patch(domain+`/servers/${serverID}/roles`, data)); }, applyRoleToMember(serverID, roleID, memberID) { return wrapper( instance().patch( - `/servers/${serverID}/members/${memberID}/roles/${roleID}` + domain+`/servers/${serverID}/members/${memberID}/roles/${roleID}` ) ); }, removeRoleFromMember(serverID, roleID, memberID) { return wrapper( instance().delete( - `/servers/${serverID}/members/${memberID}/roles/${roleID}` + domain+`/servers/${serverID}/members/${memberID}/roles/${roleID}` ) ); } diff --git a/src/services/ThemeService.js b/src/services/ThemeService.js index 18e121e..511af49 100644 --- a/src/services/ThemeService.js +++ b/src/services/ThemeService.js @@ -1,19 +1,24 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { getTheme(id) { - return wrapper(instance().get(`themes/${id}`)); + return wrapper(instance().get(domain+`themes/${id}`)); }, getThemes() { - return wrapper(instance().get("themes/")); + return wrapper(instance().get(domain+"themes/")); }, save(data) { - return wrapper(instance().post(`themes/`, data)); + return wrapper(instance().post(domain+`themes/`, data)); }, update(data, id) { - return wrapper(instance().patch(`themes/${id}`, data)); + return wrapper(instance().patch(domain+`themes/${id}`, data)); }, delete(id) { - return wrapper(instance().delete(`themes/${id}`)); + return wrapper(instance().delete(domain+`themes/${id}`)); } }; diff --git a/src/services/TypingService.js b/src/services/TypingService.js index 3a515e8..0b3d3be 100644 --- a/src/services/TypingService.js +++ b/src/services/TypingService.js @@ -1,7 +1,12 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { post(channelID) { - return wrapper(instance().post(`messages/${channelID}/typing`)); + return wrapper(instance().post(domain+`messages/${channelID}/typing`)); } }; diff --git a/src/services/channelService.js b/src/services/channelService.js index 4b5c70d..7dc5627 100644 --- a/src/services/channelService.js +++ b/src/services/channelService.js @@ -1,10 +1,15 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { post(uniqueID) { - return wrapper(instance().post(`channels/${uniqueID}`)); + return wrapper(instance().post(domain+`channels/${uniqueID}`)); }, delete(channelID) { - return wrapper(instance().delete(`channels/${channelID}`)); + return wrapper(instance().delete(domain+`channels/${channelID}`)); } }; diff --git a/src/services/customEmoji.js b/src/services/customEmoji.js index 49e026f..f4687bc 100644 --- a/src/services/customEmoji.js +++ b/src/services/customEmoji.js @@ -1,5 +1,10 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { post(data, onProgress) { const url = `/settings/emoji`; @@ -15,14 +20,14 @@ export default { return percentCompleted; } }; - return wrapper(instance().post(url, data, config)); + return wrapper(instance().post(domain+url, data, config)); }, delete(emojiID) { - return wrapper(instance().delete(`/settings/emoji`, { data: { emojiID } })); + return wrapper(instance().delete(domain+`/settings/emoji`, { data: { emojiID } })); }, put(data) { return wrapper( - instance().put(`/settings/emoji`, { + instance().put(domain+`/settings/emoji`, { emojiID: data.emojiID, name: data.name }) diff --git a/src/services/exploreService.js b/src/services/exploreService.js index 4ca7101..310a11f 100644 --- a/src/services/exploreService.js +++ b/src/services/exploreService.js @@ -1,37 +1,42 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { // servers getServersList(params) { - return wrapper(instance().get(`explore/servers${params || ""}`)); + return wrapper(instance().get(domain+`explore/servers${params || ""}`)); }, getServer(server_id) { - return wrapper(instance().get(`explore/servers/${server_id}`)); + return wrapper(instance().get(domain+`explore/servers/${server_id}`)); }, deleteServer(server_id) { - return wrapper(instance().delete(`explore/servers/${server_id}`)); + return wrapper(instance().delete(domain+`explore/servers/${server_id}`)); }, updateServer(server_id, data) { - return wrapper(instance().patch(`explore/servers/${server_id}`, data)); + return wrapper(instance().patch(domain+`explore/servers/${server_id}`, data)); }, addServersList(data) { - return wrapper(instance().post(`explore/servers`, data)); + return wrapper(instance().post(domain+`explore/servers`, data)); }, // themes getThemes() { - return wrapper(instance().get(`explore/themes`)); + return wrapper(instance().get(domain+`explore/themes`)); }, getTheme(id) { - return wrapper(instance().get(`explore/themes/${id}`)); + return wrapper(instance().get(domain+`explore/themes/${id}`)); }, addTheme(id, data) { - return wrapper(instance().post(`explore/themes/${id}`, data)); + return wrapper(instance().post(domain+`explore/themes/${id}`, data)); }, updateTheme(id, data) { - return wrapper(instance().patch(`explore/themes/${id}`, data)); + return wrapper(instance().patch(domain+`explore/themes/${id}`, data)); }, applyTheme(id) { - return wrapper(instance().get(`explore/themes/${id}/apply`)); + return wrapper(instance().get(domain+`explore/themes/${id}/apply`)); } }; diff --git a/src/services/messagesService.js b/src/services/messagesService.js index c0cbe6c..3cb7d3d 100644 --- a/src/services/messagesService.js +++ b/src/services/messagesService.js @@ -1,10 +1,16 @@ import { instance, wrapper } from "./Api"; + +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { // TODO: add ?continue=id get(channelID, continueMessageID, beforeMessageID) { return wrapper( instance().get( - `messages/channels/${channelID}${ + domain+`messages/channels/${channelID}${ continueMessageID ? "?continue=" + continueMessageID : beforeMessageID @@ -16,12 +22,12 @@ export default { }, delete(messageID, channelID) { return wrapper( - instance().delete(`messages/${messageID}/channels/${channelID}`) + instance().delete(domain+`messages/${messageID}/channels/${channelID}`) ); }, update(messageID, channelID, data) { return wrapper( - instance().patch(`messages/${messageID}/channels/${channelID}`, data) + instance().patch(domain+`messages/${messageID}/channels/${channelID}`, data) ); }, @@ -43,6 +49,6 @@ export default { } }; - return wrapper(instance().post(url, data, config)); + return wrapper(instance().post(domain+url, data, config)); } }; diff --git a/src/services/settingsService.js b/src/services/settingsService.js index d7493ff..657f080 100644 --- a/src/services/settingsService.js +++ b/src/services/settingsService.js @@ -1,25 +1,30 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { setStatus(status) { - return wrapper(instance().post("/settings/status", { status })); + return wrapper(instance().post(domain+"/settings/status", { status })); }, GDriveURL() { - return wrapper(instance().get("/settings/drive/url")); + return wrapper(instance().get(domain+"/settings/drive/url")); }, GDriveAuth(code, token) { - return wrapper(instance().post("/settings/drive/auth", { code, token })); + return wrapper(instance().post(domain+"/settings/drive/auth", { code, token })); }, setApperance(apperance, boolean) { return wrapper( - instance().put("/settings/apperance", { + instance().put(domain+"/settings/apperance", { [apperance]: boolean }) ); }, setServerPositions(ServerIDArr) { return wrapper( - instance().put("/settings/server_position", { + instance().put(domain+"/settings/server_position", { server_position: ServerIDArr }) ); diff --git a/src/services/userService.js b/src/services/userService.js index 8a4b5ec..34db851 100644 --- a/src/services/userService.js +++ b/src/services/userService.js @@ -1,19 +1,24 @@ import { instance, wrapper } from "./Api"; +const config = require('../config.js'); + +let domain = ""; +if (config.serverURL) domain = config.serverURL+"/" + export default { get(uniqueID) { - return wrapper(instance().get(`user/${uniqueID}`)); + return wrapper(instance().get(domain+`user/${uniqueID}`)); }, update(data) { - return wrapper(instance().patch(`user`, data)); + return wrapper(instance().patch(domain+`user`, data)); }, getSurvey() { - return wrapper(instance().get("/user/survey")); + return wrapper(instance().get(domain+"/user/survey")); }, setSurvey(data) { - return wrapper(instance().put("/user/survey", data)); + return wrapper(instance().put(domain+"/user/survey", data)); }, skipSurvey() { - return wrapper(instance().delete("/user/survey/skip")); + return wrapper(instance().delete(domain+"/user/survey/skip")); } }; diff --git a/vue.config.js b/vue.config.js index d44fe88..3079ad0 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,3 +1,6 @@ module.exports = { - productionSourceMap: false + productionSourceMap: false, + devServer: { + disableHostCheck: true + } };