Skip to content

Commit fa0bca8

Browse files
Merge pull request #11 from bitvavo/disable-schedules
disable schedules
2 parents ed8e23c + b404ccb commit fa0bca8

1 file changed

Lines changed: 27 additions & 1 deletion

File tree

src/main.ts

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ await load({ export: true });
2525

2626
const HTTP_ONLY = (Deno.env.get("HTTP_ONLY") ?? "").toLowerCase() === "1" ||
2727
(Deno.env.get("HTTP_ONLY") ?? "").toLowerCase() === "true";
28+
const ENABLE_SCHEDULES =
29+
(Deno.env.get("ENABLE_SCHEDULES") ?? "").toLowerCase() === "1" ||
30+
(Deno.env.get("ENABLE_SCHEDULES") ?? "").toLowerCase() === "true";
2831

2932
const appToken = Deno.env.get("SLACK_APP_TOKEN");
3033
const botToken = Deno.env.get("SLACK_BOT_TOKEN");
@@ -154,7 +157,19 @@ if (!HTTP_ONLY) {
154157
}
155158
case "join": {
156159
if (args[1] === "every") {
157-
await application.joinSchedule({ weekday: args[2], user, channel });
160+
if (ENABLE_SCHEDULES) {
161+
await application.joinSchedule({
162+
weekday: args[2],
163+
user,
164+
channel,
165+
});
166+
} else {
167+
await webClient.chat.postEphemeral({
168+
user: body.user_id,
169+
channel,
170+
text: "Stop being a :sloth: and join the session at 9 AM!",
171+
});
172+
}
158173
break;
159174
}
160175
await application.joinSession({ dateString: args[1], user, channel });
@@ -225,6 +240,17 @@ if (!HTTP_ONLY) {
225240
await socketModeClient!.start();
226241
}
227242

243+
// Purge existing schedules only when schedules are disabled
244+
if (!ENABLE_SCHEDULES) {
245+
const schedules = await level.scheduleRepository.loadAllSchedules();
246+
if (schedules.length > 0) {
247+
for (const s of schedules) {
248+
await level.scheduleRepository.deleteSchedule(s.user);
249+
}
250+
expressLogger.info(`Purged ${schedules.length} existing schedules`);
251+
}
252+
}
253+
228254
await application.start();
229255

230256
const logger = new Logger("Express");

0 commit comments

Comments
 (0)