From 4a5e8ded75e952e7dfff31ceb1a909f4af0ed8fc Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sat, 6 Aug 2022 22:12:40 +0300 Subject: [PATCH] feat: add DEFAULT_ALLOWED_SERVERS .env value --- .env.example | 3 +++ backend/src/data/AllowedGuilds.ts | 1 + backend/src/env.ts | 2 ++ .../GuildAccessMonitorPlugin.ts | 15 ++++++++++++++- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index a794dc46..cc76ef84 100644 --- a/.env.example +++ b/.env.example @@ -12,6 +12,9 @@ API_URL=https://localhost:3300/api # Comma-separated list of user IDs who should have access to the bot's global commands STAFF= +# A comma-separated list of server IDs that should be allowed by default +DEFAULT_ALLOWED_SERVERS= + # When using the Docker-based development environment, this is only used internally. The API will be available at localhost:DOCKER_DEV_WEB_PORT/api. API_PORT=3000 diff --git a/backend/src/data/AllowedGuilds.ts b/backend/src/data/AllowedGuilds.ts index 747dbb87..a9d86220 100644 --- a/backend/src/data/AllowedGuilds.ts +++ b/backend/src/data/AllowedGuilds.ts @@ -4,6 +4,7 @@ import { BaseRepository } from "./BaseRepository"; import { AllowedGuild } from "./entities/AllowedGuild"; import moment from "moment-timezone"; import { DBDateFormat } from "../utils"; +import { env } from "../env"; export class AllowedGuilds extends BaseRepository { private allowedGuilds: Repository; diff --git a/backend/src/env.ts b/backend/src/env.ts index cd453f39..5a607e45 100644 --- a/backend/src/env.ts +++ b/backend/src/env.ts @@ -17,6 +17,8 @@ const envType = z.object({ STAFF: z.preprocess((v) => String(v).split(","), z.array(z.string())).optional(), + DEFAULT_ALLOWED_SERVERS: z.preprocess((v) => String(v).split(","), z.array(z.string())).optional(), + PHISHERMAN_API_KEY: z.string().optional(), DOCKER_DEV_MYSQL_PASSWORD: z.string().optional(), // Included here for the DB_PASSWORD default in development diff --git a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts index d181ad7a..711a9154 100644 --- a/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts +++ b/backend/src/plugins/GuildAccessMonitor/GuildAccessMonitorPlugin.ts @@ -3,6 +3,8 @@ import * as t from "io-ts"; import { BasePluginType, GlobalPluginData, typedGlobalEventListener } from "knub"; import { AllowedGuilds } from "../../data/AllowedGuilds"; import { zeppelinGlobalPlugin } from "../ZeppelinPluginBlueprint"; +import { env } from "../../env"; +import { Configs } from "../../data/Configs"; interface GuildAccessMonitorPluginType extends BasePluginType { config: {}; @@ -35,8 +37,19 @@ export const GuildAccessMonitorPlugin = zeppelinGlobalPlugin