From a8a6f711d107590de82da493586e1f3df62a0a6d Mon Sep 17 00:00:00 2001 From: NovaFox161 Date: Wed, 27 May 2020 16:47:27 -0500 Subject: [PATCH] Add AnnouncementModifier enum for frontend --- .../javascript/enums/AnnouncementModifier.ts | 5 +++ .../objects/announcement/Announcement.ts | 42 ++++++++++++------- 2 files changed, 32 insertions(+), 15 deletions(-) create mode 100644 web/src/main/javascript/enums/AnnouncementModifier.ts diff --git a/web/src/main/javascript/enums/AnnouncementModifier.ts b/web/src/main/javascript/enums/AnnouncementModifier.ts new file mode 100644 index 00000000..fa9ddcec --- /dev/null +++ b/web/src/main/javascript/enums/AnnouncementModifier.ts @@ -0,0 +1,5 @@ +export enum AnnouncementModifier { + BEFORE, + DURING, + AFTER +} \ No newline at end of file diff --git a/web/src/main/javascript/objects/announcement/Announcement.ts b/web/src/main/javascript/objects/announcement/Announcement.ts index 50a8d6b8..439fe357 100644 --- a/web/src/main/javascript/objects/announcement/Announcement.ts +++ b/web/src/main/javascript/objects/announcement/Announcement.ts @@ -1,25 +1,27 @@ -import {AnnouncementType} from "@/enums/AnnouncementType"; import {EventColor} from "@/enums/EventColor"; +import {AnnouncementType} from "@/enums/AnnouncementType"; +import {AnnouncementModifier} from "@/enums/AnnouncementModifier"; export class Announcement { - private readonly _guildId: string = ""; - private _announcementId: string = ""; + private readonly _guildId: string = ""; + private _announcementId: string = ""; - private readonly _subscriberRoleIds: string[]; - private readonly _subscriberUserIds: string[]; + private readonly _subscriberRoleIds: string[]; + private readonly _subscriberUserIds: string[]; - private _announcementChannelId: number = 0; - private _announcementType: AnnouncementType = AnnouncementType.SPECIFIC; - private _eventId: string = ""; - private _eventColor: EventColor = EventColor.NONE; - private _hoursBefore: number = 0; - private _minutesBefore: number = 0; - private _info: string = "N/a"; + private _announcementChannelId: number = 0; + private _announcementType: AnnouncementType = AnnouncementType.SPECIFIC; + private _modifier: AnnouncementModifier = AnnouncementModifier.BEFORE; + private _eventId: string = ""; + private _eventColor: EventColor = EventColor.NONE; + private _hoursBefore: number = 0; + private _minutesBefore: number = 0; + private _info: string = "N/a"; - private _enabled: boolean = false; - private _infoOnly: boolean = false; + private _enabled: boolean = false; + private _infoOnly: boolean = false; - constructor(guildId: string) { + constructor(guildId: string) { this._guildId = guildId; this._subscriberRoleIds = []; @@ -63,6 +65,14 @@ export class Announcement { this._announcementType = type; } + get modifier() { + return this._modifier; + } + + set modifier(mod) { + this._modifier = mod; + } + get eventId() { return this._eventId; } @@ -126,6 +136,7 @@ export class Announcement { "id": this.announcementId, "channel_id": this.announcementChannelId, "type": AnnouncementType[this.announcementType], + "modifier": AnnouncementModifier[this.modifier], "event_id": this.eventId, "event_color": EventColor[this.eventColor], "hours": this.hoursBefore, @@ -161,6 +172,7 @@ export class Announcement { this.announcementChannelId = json.channel_id; this.announcementType = (AnnouncementType)[json.type]; + this.modifier = (AnnouncementModifier)[json.modifier]; this.eventId = json.event_id; this.eventColor = (EventColor)[json.event_color]; this.hoursBefore = json.hours;