From 29fcb0c6ac5a2ee1fee70aa2f109a5fd45075993 Mon Sep 17 00:00:00 2001 From: NovaFox161 Date: Thu, 13 Sep 2018 23:44:29 -0500 Subject: [PATCH] Making some progress on fixing the /embed/calendar/ page. --- .../api/endpoints/v1/EventEndpoint.java | 26 +++++++++++++------ .../server/handler/DiscordAccountHandler.java | 10 ++++--- .../discal/server/utils/Authentication.java | 3 ++- .../static/scripts/embed/calendar.js | 2 +- 4 files changed, 28 insertions(+), 13 deletions(-) diff --git a/server/src/main/java/org/dreamexposure/discal/server/api/endpoints/v1/EventEndpoint.java b/server/src/main/java/org/dreamexposure/discal/server/api/endpoints/v1/EventEndpoint.java index 10db83a4..656e8254 100644 --- a/server/src/main/java/org/dreamexposure/discal/server/api/endpoints/v1/EventEndpoint.java +++ b/server/src/main/java/org/dreamexposure/discal/server/api/endpoints/v1/EventEndpoint.java @@ -59,10 +59,15 @@ public class EventEndpoint { GuildSettings settings; if (DiscordAccountHandler.getHandler().hasAccount(request)) { - Map m = DiscordAccountHandler.getHandler().getAccount(request); - WebGuild g = (WebGuild) m.get("selected"); - g.setSettings(DatabaseManager.getManager().getSettings(Long.valueOf(g.getId()))); - settings = g.getSettings(); + if (requestBody.has("guild_id")) { + long guildId = Long.valueOf(requestBody.getString("guild_id")); + settings = DatabaseManager.getManager().getSettings(guildId); + } else { + Map m = DiscordAccountHandler.getHandler().getAccount(request); + WebGuild g = (WebGuild) m.get("selected"); + g.setSettings(DatabaseManager.getManager().getSettings(Long.valueOf(g.getId()))); + settings = g.getSettings(); + } } else { long guildId = requestBody.getLong("guild_id"); settings = DatabaseManager.getManager().getSettings(guildId); @@ -125,10 +130,15 @@ public class EventEndpoint { GuildSettings settings; if (DiscordAccountHandler.getHandler().hasAccount(request)) { - Map m = DiscordAccountHandler.getHandler().getAccount(request); - WebGuild g = (WebGuild) m.get("selected"); - g.setSettings(DatabaseManager.getManager().getSettings(Long.valueOf(g.getId()))); - settings = g.getSettings(); + if (requestBody.has("guild_id")) { + long guildId = requestBody.getLong("guild_id"); + settings = DatabaseManager.getManager().getSettings(guildId); + } else { + Map m = DiscordAccountHandler.getHandler().getAccount(request); + WebGuild g = (WebGuild) m.get("selected"); + g.setSettings(DatabaseManager.getManager().getSettings(Long.valueOf(g.getId()))); + settings = g.getSettings(); + } } else { long guildId = requestBody.getLong("guild_id"); settings = DatabaseManager.getManager().getSettings(guildId); diff --git a/server/src/main/java/org/dreamexposure/discal/server/handler/DiscordAccountHandler.java b/server/src/main/java/org/dreamexposure/discal/server/handler/DiscordAccountHandler.java index 29fe0bf7..70a9eb9c 100644 --- a/server/src/main/java/org/dreamexposure/discal/server/handler/DiscordAccountHandler.java +++ b/server/src/main/java/org/dreamexposure/discal/server/handler/DiscordAccountHandler.java @@ -51,7 +51,11 @@ public class DiscordAccountHandler { //Boolean/checkers public boolean hasAccount(HttpServletRequest request) { - return discordAccounts.containsKey((String) request.getSession(true).getAttribute("account")); + try { + return discordAccounts.containsKey((String) request.getSession(true).getAttribute("account")); + } catch (Exception e) { + return false; + } } //Getters @@ -87,7 +91,7 @@ public class DiscordAccountHandler { //Add guild for guild embed JSONObject requestBody = new JSONObject(); requestBody.put("Reason", CrossTalkReason.GET.name()); - requestBody.put("Realm", DisCalRealm.WEBSITE_DASHBOARD_GUILD); + requestBody.put("Realm", DisCalRealm.WEBSITE_EMBED_CALENDAR); requestBody.put("Guild-Id", guildId); m.remove("embed"); @@ -114,7 +118,7 @@ public class DiscordAccountHandler { //Add guild for guild embed JSONObject requestBody = new JSONObject(); requestBody.put("Reason", CrossTalkReason.GET.name()); - requestBody.put("Realm", DisCalRealm.WEBSITE_DASHBOARD_GUILD); + requestBody.put("Realm", DisCalRealm.WEBSITE_EMBED_CALENDAR); requestBody.put("Guild-Id", guildId); m.remove("embed"); diff --git a/server/src/main/java/org/dreamexposure/discal/server/utils/Authentication.java b/server/src/main/java/org/dreamexposure/discal/server/utils/Authentication.java index 82d39004..f00276d7 100644 --- a/server/src/main/java/org/dreamexposure/discal/server/utils/Authentication.java +++ b/server/src/main/java/org/dreamexposure/discal/server/utils/Authentication.java @@ -28,6 +28,8 @@ public class Authentication { //TODO: Handle this shit better but whatever if (key.equals("EMBEDDED")) { Logger.getLogger().api("User using embed", request.getRemoteAddr(), request.getServerName(), request.getPathInfo()); + //TODO: Verify its using the correct /embed/ path!!!! + return new AuthenticationState(true).setStatus(200).setReason("Success"); } else { UserAPIAccount acc = DatabaseManager.getManager().getAPIAccount(key); if (acc != null) { @@ -52,6 +54,5 @@ public class Authentication { return new AuthenticationState(false).setStatus(400).setReason("Bad Request"); } } - return new AuthenticationState(false).setStatus(500).setReason("Internal Server Error"); } } \ No newline at end of file diff --git a/server/src/main/resources/static/scripts/embed/calendar.js b/server/src/main/resources/static/scripts/embed/calendar.js index bf99a91b..88942a2f 100644 --- a/server/src/main/resources/static/scripts/embed/calendar.js +++ b/server/src/main/resources/static/scripts/embed/calendar.js @@ -147,7 +147,7 @@ function getEventsForMonth() { var bodyRaw = { - "guild_id": calendar.guildId, + "guild_id": calendar.guildId.toString(), "DaysInMonth": daysInMonth().toString(), "StartEpoch": ds.getTime().toString() };