diff --git a/core/src/main/java/org/dreamexposure/discal/core/object/web/WebCalendar.java b/core/src/main/java/org/dreamexposure/discal/core/object/web/WebCalendar.java index b32a25e0..6dbb1de5 100644 --- a/core/src/main/java/org/dreamexposure/discal/core/object/web/WebCalendar.java +++ b/core/src/main/java/org/dreamexposure/discal/core/object/web/WebCalendar.java @@ -14,6 +14,10 @@ import reactor.core.publisher.Mono; */ public class WebCalendar { + public static WebCalendar empty() { + return new WebCalendar("primary", "primary", "N/a", "N/a", "N/a", "N/a", false); + } + //TODO: Make a reactive version of this method... public static Mono fromCalendar(final CalendarData cd, final GuildSettings gs) { if ("primary".equalsIgnoreCase(cd.getCalendarAddress())) { diff --git a/core/src/main/java/org/dreamexposure/discal/core/object/web/WebGuild.java b/core/src/main/java/org/dreamexposure/discal/core/object/web/WebGuild.java index ae283c95..35821144 100644 --- a/core/src/main/java/org/dreamexposure/discal/core/object/web/WebGuild.java +++ b/core/src/main/java/org/dreamexposure/discal/core/object/web/WebGuild.java @@ -68,7 +68,8 @@ public class WebGuild { final Mono calendar = settings.flatMap(s -> DatabaseManager.getMainCalendar(id) .flatMap(d -> WebCalendar.fromCalendar(d, s)) - ); + ) + .defaultIfEmpty(WebCalendar.empty()); return Mono.zip(botNick, settings, roles, webChannels, announcements, calendar) .map(TupleUtils.function((bn, s, r, wc, a, c) -> {