summary refs log tree commit diff
path: root/src/util/config
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/config')
-rw-r--r--src/util/config/Config.ts32
-rw-r--r--src/util/config/types/ApiConfiguration.ts2
-rw-r--r--src/util/config/types/ClientConfiguration.ts10
-rw-r--r--src/util/config/types/DefaultsConfiguration.ts6
-rw-r--r--src/util/config/types/EndpointConfiguration.ts3
-rw-r--r--src/util/config/types/GeneralConfiguration.ts2
-rw-r--r--src/util/config/types/GifConfiguration.ts8
-rw-r--r--src/util/config/types/GuildConfiguration.ts6
-rw-r--r--src/util/config/types/KafkaConfiguration.ts4
-rw-r--r--src/util/config/types/LimitConfigurations.ts2
-rw-r--r--src/util/config/types/LoginConfiguration.ts4
-rw-r--r--src/util/config/types/MetricsConfiguration.ts4
-rw-r--r--src/util/config/types/RabbitMQConfiguration.ts4
-rw-r--r--src/util/config/types/RegionConfiguration.ts26
-rw-r--r--src/util/config/types/RegisterConfiguration.ts28
-rw-r--r--src/util/config/types/SecurityConfiguration.ts24
-rw-r--r--src/util/config/types/SentryConfiguration.ts10
-rw-r--r--src/util/config/types/TemplateConfiguration.ts10
-rw-r--r--src/util/config/types/index.ts2
-rw-r--r--src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts6
-rw-r--r--src/util/config/types/subconfigurations/defaults/GuildDefaults.ts14
-rw-r--r--src/util/config/types/subconfigurations/defaults/UserDefaults.ts8
-rw-r--r--src/util/config/types/subconfigurations/guild/AutoJoin.ts8
-rw-r--r--src/util/config/types/subconfigurations/guild/Discovery.ts10
-rw-r--r--src/util/config/types/subconfigurations/kafka/KafkaBroker.ts2
-rw-r--r--src/util/config/types/subconfigurations/limits/ChannelLimits.ts8
-rw-r--r--src/util/config/types/subconfigurations/limits/GuildLimits.ts14
-rw-r--r--src/util/config/types/subconfigurations/limits/MessageLimits.ts14
-rw-r--r--src/util/config/types/subconfigurations/limits/RateLimits.ts32
-rw-r--r--src/util/config/types/subconfigurations/limits/UserLimits.ts8
-rw-r--r--src/util/config/types/subconfigurations/limits/index.ts2
-rw-r--r--src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts18
-rw-r--r--src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts2
-rw-r--r--src/util/config/types/subconfigurations/limits/ratelimits/Route.ts30
-rw-r--r--src/util/config/types/subconfigurations/region/Region.ts2
-rw-r--r--src/util/config/types/subconfigurations/register/DateOfBirth.ts6
-rw-r--r--src/util/config/types/subconfigurations/register/Email.ts12
-rw-r--r--src/util/config/types/subconfigurations/register/Password.ts12
-rw-r--r--src/util/config/types/subconfigurations/security/Captcha.ts10
-rw-r--r--src/util/config/types/subconfigurations/security/TwoFactor.ts4
40 files changed, 216 insertions, 193 deletions
diff --git a/src/util/config/Config.ts b/src/util/config/Config.ts
index 7aee1775..36c4509d 100644
--- a/src/util/config/Config.ts
+++ b/src/util/config/Config.ts
@@ -1,8 +1,32 @@
-import { ApiConfiguration, ClientConfiguration, DefaultsConfiguration, EndpointConfiguration, GeneralConfiguration, GifConfiguration, GuildConfiguration, KafkaConfiguration, LimitsConfiguration, LoginConfiguration, MetricsConfiguration, RabbitMQConfiguration, RegionConfiguration, RegisterConfiguration, SecurityConfiguration, SentryConfiguration, TemplateConfiguration } from ".";
+import {
+	ApiConfiguration,
+	ClientConfiguration,
+	DefaultsConfiguration,
+	EndpointConfiguration,
+	GeneralConfiguration,
+	GifConfiguration,
+	GuildConfiguration,
+	KafkaConfiguration,
+	LimitsConfiguration,
+	LoginConfiguration,
+	MetricsConfiguration,
+	RabbitMQConfiguration,
+	RegionConfiguration,
+	RegisterConfiguration,
+	SecurityConfiguration,
+	SentryConfiguration,
+	TemplateConfiguration
+} from ".";
 
 export class ConfigValue {
-	gateway: EndpointConfiguration = new EndpointConfiguration();
-	cdn: EndpointConfiguration = new EndpointConfiguration();
+	gateway: EndpointConfiguration = {
+		endpointPublic: '${location.protocol === "https:" ? "wss://" : "ws://"}${location.host}',
+		endpointPrivate: `ws://localhost:3001`
+	};
+	cdn: EndpointConfiguration = {
+		endpointPublic: "${location.host}",
+		endpointPrivate: `http://localhost:3001`
+	};
 	api: ApiConfiguration = new ApiConfiguration();
 	general: GeneralConfiguration = new GeneralConfiguration();
 	limits: LimitsConfiguration = new LimitsConfiguration();
@@ -19,4 +43,4 @@ export class ConfigValue {
 	metrics: MetricsConfiguration = new MetricsConfiguration();
 	sentry: SentryConfiguration = new SentryConfiguration();
 	defaults: DefaultsConfiguration = new DefaultsConfiguration();
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/ApiConfiguration.ts b/src/util/config/types/ApiConfiguration.ts
index 16b1efba..442a5986 100644
--- a/src/util/config/types/ApiConfiguration.ts
+++ b/src/util/config/types/ApiConfiguration.ts
@@ -2,4 +2,4 @@ export class ApiConfiguration {
 	defaultVersion: string = "9";
 	activeVersions: string[] = ["6", "7", "8", "9"];
 	useFosscordEnhancements: boolean = true;
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/ClientConfiguration.ts b/src/util/config/types/ClientConfiguration.ts
index 1adda1e2..44704404 100644
--- a/src/util/config/types/ClientConfiguration.ts
+++ b/src/util/config/types/ClientConfiguration.ts
@@ -1,8 +1,8 @@
 import { ClientReleaseConfiguration } from ".";
 
 export class ClientConfiguration {
-    //classes
-    releases: ClientReleaseConfiguration = new ClientReleaseConfiguration();
-    //base types
-    useTestClient: boolean = true;
-}
\ No newline at end of file
+	//classes
+	releases: ClientReleaseConfiguration = new ClientReleaseConfiguration();
+	//base types
+	useTestClient: boolean = true;
+}
diff --git a/src/util/config/types/DefaultsConfiguration.ts b/src/util/config/types/DefaultsConfiguration.ts
index 9b02a590..d5ee39e7 100644
--- a/src/util/config/types/DefaultsConfiguration.ts
+++ b/src/util/config/types/DefaultsConfiguration.ts
@@ -1,6 +1,6 @@
 import { GuildDefaults, UserDefaults } from ".";
 
 export class DefaultsConfiguration {
-    guild: GuildDefaults = new GuildDefaults();
-    user: UserDefaults = new UserDefaults();
-}
\ No newline at end of file
+	guild: GuildDefaults = new GuildDefaults();
+	user: UserDefaults = new UserDefaults();
+}
diff --git a/src/util/config/types/EndpointConfiguration.ts b/src/util/config/types/EndpointConfiguration.ts
index 87baea31..26f3106f 100644
--- a/src/util/config/types/EndpointConfiguration.ts
+++ b/src/util/config/types/EndpointConfiguration.ts
@@ -1,5 +1,4 @@
 export class EndpointConfiguration {
-	endpointClient: string | null = null;
 	endpointPrivate: string | null = null;
 	endpointPublic: string | null = null;
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/GeneralConfiguration.ts b/src/util/config/types/GeneralConfiguration.ts
index 55848b44..5cb8df89 100644
--- a/src/util/config/types/GeneralConfiguration.ts
+++ b/src/util/config/types/GeneralConfiguration.ts
@@ -9,4 +9,4 @@ export class GeneralConfiguration {
 	correspondenceUserID: string | null = null;
 	image: string | null = null;
 	instanceId: string = Snowflake.generate();
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/GifConfiguration.ts b/src/util/config/types/GifConfiguration.ts
index 6a2d520d..565c2ac0 100644
--- a/src/util/config/types/GifConfiguration.ts
+++ b/src/util/config/types/GifConfiguration.ts
@@ -1,5 +1,5 @@
 export class GifConfiguration {
-    enabled: boolean = true;
-    provider: "tenor" = "tenor"; // more coming soon
-    apiKey?: string = "LIVDSRZULELA";
-}
\ No newline at end of file
+	enabled: boolean = true;
+	provider: "tenor" = "tenor"; // more coming soon
+	apiKey?: string = "LIVDSRZULELA";
+}
diff --git a/src/util/config/types/GuildConfiguration.ts b/src/util/config/types/GuildConfiguration.ts
index 3d43b368..ebc1b442 100644
--- a/src/util/config/types/GuildConfiguration.ts
+++ b/src/util/config/types/GuildConfiguration.ts
@@ -1,6 +1,6 @@
-import { DiscoveryConfiguration, AutoJoinConfiguration } from ".";
+import { AutoJoinConfiguration, DiscoveryConfiguration } from ".";
 
 export class GuildConfiguration {
-    discovery: DiscoveryConfiguration = new DiscoveryConfiguration();
-    autoJoin: AutoJoinConfiguration = new AutoJoinConfiguration();
+	discovery: DiscoveryConfiguration = new DiscoveryConfiguration();
+	autoJoin: AutoJoinConfiguration = new AutoJoinConfiguration();
 }
diff --git a/src/util/config/types/KafkaConfiguration.ts b/src/util/config/types/KafkaConfiguration.ts
index 7932f49e..a3aa8058 100644
--- a/src/util/config/types/KafkaConfiguration.ts
+++ b/src/util/config/types/KafkaConfiguration.ts
@@ -1,5 +1,5 @@
 import { KafkaBroker } from ".";
 
 export class KafkaConfiguration {
-    brokers: KafkaBroker[] | null = null;
-}
\ No newline at end of file
+	brokers: KafkaBroker[] | null = null;
+}
diff --git a/src/util/config/types/LimitConfigurations.ts b/src/util/config/types/LimitConfigurations.ts
index bcc2e7e2..a3a52cf5 100644
--- a/src/util/config/types/LimitConfigurations.ts
+++ b/src/util/config/types/LimitConfigurations.ts
@@ -6,4 +6,4 @@ export class LimitsConfiguration {
 	message: MessageLimits = new MessageLimits();
 	channel: ChannelLimits = new ChannelLimits();
 	rate: RateLimits = new RateLimits();
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/LoginConfiguration.ts b/src/util/config/types/LoginConfiguration.ts
index 255c9451..d8b737b9 100644
--- a/src/util/config/types/LoginConfiguration.ts
+++ b/src/util/config/types/LoginConfiguration.ts
@@ -1,3 +1,3 @@
 export class LoginConfiguration {
-    requireCaptcha: boolean = false;
-}
\ No newline at end of file
+	requireCaptcha: boolean = false;
+}
diff --git a/src/util/config/types/MetricsConfiguration.ts b/src/util/config/types/MetricsConfiguration.ts
index d7cd4937..f6b1d8e6 100644
--- a/src/util/config/types/MetricsConfiguration.ts
+++ b/src/util/config/types/MetricsConfiguration.ts
@@ -1,3 +1,3 @@
 export class MetricsConfiguration {
-    timeout: number = 30000;
-}
\ No newline at end of file
+	timeout: number = 30000;
+}
diff --git a/src/util/config/types/RabbitMQConfiguration.ts b/src/util/config/types/RabbitMQConfiguration.ts
index ce4a9123..bd4b6ca3 100644
--- a/src/util/config/types/RabbitMQConfiguration.ts
+++ b/src/util/config/types/RabbitMQConfiguration.ts
@@ -1,3 +1,3 @@
 export class RabbitMQConfiguration {
-    host: string | null = null;
-}
\ No newline at end of file
+	host: string | null = null;
+}
diff --git a/src/util/config/types/RegionConfiguration.ts b/src/util/config/types/RegionConfiguration.ts
index 09d9271c..b4b8c4a3 100644
--- a/src/util/config/types/RegionConfiguration.ts
+++ b/src/util/config/types/RegionConfiguration.ts
@@ -1,16 +1,16 @@
 import { Region } from ".";
 
 export class RegionConfiguration {
-    default: string = "fosscord";
-    useDefaultAsOptimal: boolean = true;
-    available: Region[] = [
-        {
-            id: "fosscord",
-            name: "Fosscord",
-            endpoint: "127.0.0.1:3004",
-            vip: false,
-            custom: false,
-            deprecated: false,
-        },
-    ];
-}
\ No newline at end of file
+	default: string = "fosscord";
+	useDefaultAsOptimal: boolean = true;
+	available: Region[] = [
+		{
+			id: "fosscord",
+			name: "Fosscord",
+			endpoint: "127.0.0.1:3004",
+			vip: false,
+			custom: false,
+			deprecated: false
+		}
+	];
+}
diff --git a/src/util/config/types/RegisterConfiguration.ts b/src/util/config/types/RegisterConfiguration.ts
index a0dc97c5..939605a6 100644
--- a/src/util/config/types/RegisterConfiguration.ts
+++ b/src/util/config/types/RegisterConfiguration.ts
@@ -1,18 +1,18 @@
 import { DateOfBirthConfiguration, EmailConfiguration, PasswordConfiguration } from ".";
 
 export class RegisterConfiguration {
-    //classes
-    email: EmailConfiguration = new EmailConfiguration();
-    dateOfBirth: DateOfBirthConfiguration = new DateOfBirthConfiguration();
-    password: PasswordConfiguration = new PasswordConfiguration();
-    //base types
-    disabled: boolean = false;
-    requireCaptcha: boolean = true;
-    requireInvite: boolean = false;
-    guestsRequireInvite: boolean = true;
-    allowNewRegistration: boolean = true;
-    allowMultipleAccounts: boolean = true;
-    blockProxies: boolean = true;
-    incrementingDiscriminators: boolean = false; // random otherwise
-    defaultRights: string = "0";
+	//classes
+	email: EmailConfiguration = new EmailConfiguration();
+	dateOfBirth: DateOfBirthConfiguration = new DateOfBirthConfiguration();
+	password: PasswordConfiguration = new PasswordConfiguration();
+	//base types
+	disabled: boolean = false;
+	requireCaptcha: boolean = true;
+	requireInvite: boolean = false;
+	guestsRequireInvite: boolean = true;
+	allowNewRegistration: boolean = true;
+	allowMultipleAccounts: boolean = true;
+	blockProxies: boolean = true;
+	incrementingDiscriminators: boolean = false; // random otherwise
+	defaultRights: string = "0";
 }
diff --git a/src/util/config/types/SecurityConfiguration.ts b/src/util/config/types/SecurityConfiguration.ts
index 405b86ac..98c04c99 100644
--- a/src/util/config/types/SecurityConfiguration.ts
+++ b/src/util/config/types/SecurityConfiguration.ts
@@ -2,16 +2,16 @@ import crypto from "crypto";
 import { CaptchaConfiguration, TwoFactorConfiguration } from ".";
 
 export class SecurityConfiguration {
-    //classes
-    captcha: CaptchaConfiguration = new CaptchaConfiguration();
-    twoFactor: TwoFactorConfiguration = new TwoFactorConfiguration();
-    //base types
-    autoUpdate: boolean | number = true;
-    requestSignature: string = crypto.randomBytes(32).toString("base64");
-    jwtSecret: string = crypto.randomBytes(256).toString("base64");
-    // header to get the real user ip address
-    // X-Forwarded-For for nginx/reverse proxies
-    // CF-Connecting-IP for cloudflare
-    forwadedFor: string | null = null;
-    ipdataApiKey: string | null = "eca677b284b3bac29eb72f5e496aa9047f26543605efe99ff2ce35c9";
+	//classes
+	captcha: CaptchaConfiguration = new CaptchaConfiguration();
+	twoFactor: TwoFactorConfiguration = new TwoFactorConfiguration();
+	//base types
+	autoUpdate: boolean | number = true;
+	requestSignature: string = crypto.randomBytes(32).toString("base64");
+	jwtSecret: string = crypto.randomBytes(256).toString("base64");
+	// header to get the real user ip address
+	// X-Forwarded-For for nginx/reverse proxies
+	// CF-Connecting-IP for cloudflare
+	forwadedFor: string | null = null;
+	ipdataApiKey: string | null = "eca677b284b3bac29eb72f5e496aa9047f26543605efe99ff2ce35c9";
 }
diff --git a/src/util/config/types/SentryConfiguration.ts b/src/util/config/types/SentryConfiguration.ts
index 836094a1..d50f5f4c 100644
--- a/src/util/config/types/SentryConfiguration.ts
+++ b/src/util/config/types/SentryConfiguration.ts
@@ -1,8 +1,8 @@
 import { hostname } from "os";
 
 export class SentryConfiguration {
-    enabled: boolean = false;
-    endpoint: string = "https://05e8e3d005f34b7d97e920ae5870a5e5@sentry.thearcanebrony.net/6";
-    traceSampleRate: number = 1.0;
-    environment: string = hostname();
-}
\ No newline at end of file
+	enabled: boolean = false;
+	endpoint: string = "https://05e8e3d005f34b7d97e920ae5870a5e5@sentry.thearcanebrony.net/6";
+	traceSampleRate: number = 1.0;
+	environment: string = hostname();
+}
diff --git a/src/util/config/types/TemplateConfiguration.ts b/src/util/config/types/TemplateConfiguration.ts
index 4a9aa8f2..aade2934 100644
--- a/src/util/config/types/TemplateConfiguration.ts
+++ b/src/util/config/types/TemplateConfiguration.ts
@@ -1,6 +1,6 @@
 export class TemplateConfiguration {
-    enabled: boolean = true;
-    allowTemplateCreation: boolean = true;
-    allowDiscordTemplates: boolean = true;
-    allowRaws: boolean = true;
-}
\ No newline at end of file
+	enabled: boolean = true;
+	allowTemplateCreation: boolean = true;
+	allowDiscordTemplates: boolean = true;
+	allowRaws: boolean = true;
+}
diff --git a/src/util/config/types/index.ts b/src/util/config/types/index.ts
index 608503a0..a8cdff4c 100644
--- a/src/util/config/types/index.ts
+++ b/src/util/config/types/index.ts
@@ -14,5 +14,5 @@ export * from "./RegionConfiguration";
 export * from "./RegisterConfiguration";
 export * from "./SecurityConfiguration";
 export * from "./SentryConfiguration";
-export * from "./TemplateConfiguration";
 export * from "./subconfigurations/index";
+export * from "./TemplateConfiguration";
diff --git a/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts b/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts
index 54e7f365..b082b711 100644
--- a/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts
+++ b/src/util/config/types/subconfigurations/client/ClientReleaseConfiguration.ts
@@ -1,4 +1,4 @@
 export class ClientReleaseConfiguration {
-    useLocalRelease: boolean = true; //TODO
-    upstreamVersion: string = "0.0.264";
-}
\ No newline at end of file
+	useLocalRelease: boolean = true; //TODO
+	upstreamVersion: string = "0.0.264";
+}
diff --git a/src/util/config/types/subconfigurations/defaults/GuildDefaults.ts b/src/util/config/types/subconfigurations/defaults/GuildDefaults.ts
index d6ff7697..435ae06c 100644
--- a/src/util/config/types/subconfigurations/defaults/GuildDefaults.ts
+++ b/src/util/config/types/subconfigurations/defaults/GuildDefaults.ts
@@ -1,8 +1,8 @@
 export class GuildDefaults {
-    maxPresences: number = 250000;
-    maxVideoChannelUsers: number = 200;
-    afkTimeout: number = 300;
-    defaultMessageNotifications: number = 1;
-    explicitContentFilter: number = 0;
-    test: number = 123;
-}
\ No newline at end of file
+	maxPresences: number = 250000;
+	maxVideoChannelUsers: number = 200;
+	afkTimeout: number = 300;
+	defaultMessageNotifications: number = 1;
+	explicitContentFilter: number = 0;
+	test: number = 123;
+}
diff --git a/src/util/config/types/subconfigurations/defaults/UserDefaults.ts b/src/util/config/types/subconfigurations/defaults/UserDefaults.ts
index 4481c011..cc56be36 100644
--- a/src/util/config/types/subconfigurations/defaults/UserDefaults.ts
+++ b/src/util/config/types/subconfigurations/defaults/UserDefaults.ts
@@ -1,5 +1,5 @@
 export class UserDefaults {
-    premium: boolean = false;
-    premium_type: number = 2;
-    verified: boolean = true;
-}
\ No newline at end of file
+	premium: boolean = false;
+	premium_type: number = 2;
+	verified: boolean = true;
+}
diff --git a/src/util/config/types/subconfigurations/guild/AutoJoin.ts b/src/util/config/types/subconfigurations/guild/AutoJoin.ts
index 47dfe5ec..4d7af352 100644
--- a/src/util/config/types/subconfigurations/guild/AutoJoin.ts
+++ b/src/util/config/types/subconfigurations/guild/AutoJoin.ts
@@ -1,5 +1,5 @@
 export class AutoJoinConfiguration {
-    enabled: boolean = true;
-    guilds: string[] = [];
-    canLeave: boolean = true;
-}
\ No newline at end of file
+	enabled: boolean = true;
+	guilds: string[] = [];
+	canLeave: boolean = true;
+}
diff --git a/src/util/config/types/subconfigurations/guild/Discovery.ts b/src/util/config/types/subconfigurations/guild/Discovery.ts
index 59d8a8ae..a7cb81db 100644
--- a/src/util/config/types/subconfigurations/guild/Discovery.ts
+++ b/src/util/config/types/subconfigurations/guild/Discovery.ts
@@ -1,6 +1,6 @@
 export class DiscoveryConfiguration {
-    showAllGuilds: boolean = false;
-    useRecommendation: boolean = false; // TODO: Recommendation, privacy concern?
-    offset: number = 0;
-    limit: number = 24;
-}
\ No newline at end of file
+	showAllGuilds: boolean = false;
+	useRecommendation: boolean = false; // TODO: Recommendation, privacy concern?
+	offset: number = 0;
+	limit: number = 24;
+}
diff --git a/src/util/config/types/subconfigurations/kafka/KafkaBroker.ts b/src/util/config/types/subconfigurations/kafka/KafkaBroker.ts
index 4f9a5e51..f7dc1cf7 100644
--- a/src/util/config/types/subconfigurations/kafka/KafkaBroker.ts
+++ b/src/util/config/types/subconfigurations/kafka/KafkaBroker.ts
@@ -1,4 +1,4 @@
 export interface KafkaBroker {
 	ip: string;
 	port: number;
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/subconfigurations/limits/ChannelLimits.ts b/src/util/config/types/subconfigurations/limits/ChannelLimits.ts
index 2f8f9485..76eeeb41 100644
--- a/src/util/config/types/subconfigurations/limits/ChannelLimits.ts
+++ b/src/util/config/types/subconfigurations/limits/ChannelLimits.ts
@@ -1,5 +1,5 @@
 export class ChannelLimits {
-    maxPins: number = 500;
-    maxTopic: number = 1024;
-    maxWebhooks: number = 100;
-}
\ No newline at end of file
+	maxPins: number = 500;
+	maxTopic: number = 1024;
+	maxWebhooks: number = 100;
+}
diff --git a/src/util/config/types/subconfigurations/limits/GuildLimits.ts b/src/util/config/types/subconfigurations/limits/GuildLimits.ts
index 91ad39ae..015654cb 100644
--- a/src/util/config/types/subconfigurations/limits/GuildLimits.ts
+++ b/src/util/config/types/subconfigurations/limits/GuildLimits.ts
@@ -1,8 +1,8 @@
 export class GuildLimits {
-    maxRoles: number = 1000;
-    maxEmojis: number = 2000;
-    maxMembers: number = 25000000;
-    maxChannels: number = 65535;
-    maxChannelsInCategory: number = 65535;
-    hideOfflineMember: number = 3;
-}
\ No newline at end of file
+	maxRoles: number = 1000;
+	maxEmojis: number = 2000;
+	maxMembers: number = 25000000;
+	maxChannels: number = 65535;
+	maxChannelsInCategory: number = 65535;
+	hideOfflineMember: number = 3;
+}
diff --git a/src/util/config/types/subconfigurations/limits/MessageLimits.ts b/src/util/config/types/subconfigurations/limits/MessageLimits.ts
index 51576b90..684a5057 100644
--- a/src/util/config/types/subconfigurations/limits/MessageLimits.ts
+++ b/src/util/config/types/subconfigurations/limits/MessageLimits.ts
@@ -1,8 +1,8 @@
 export class MessageLimits {
-    maxCharacters: number = 1048576;
-    maxTTSCharacters: number = 160;
-    maxReactions: number = 2048;
-    maxAttachmentSize: number = 1024 * 1024 * 1024;
-    maxBulkDelete: number = 1000;
-    maxEmbedDownloadSize: number = 1024 * 1024 * 5;
-}
\ No newline at end of file
+	maxCharacters: number = 1048576;
+	maxTTSCharacters: number = 160;
+	maxReactions: number = 2048;
+	maxAttachmentSize: number = 1024 * 1024 * 1024;
+	maxBulkDelete: number = 1000;
+	maxEmbedDownloadSize: number = 1024 * 1024 * 5;
+}
diff --git a/src/util/config/types/subconfigurations/limits/RateLimits.ts b/src/util/config/types/subconfigurations/limits/RateLimits.ts
index 25e7a1e0..764acdd6 100644
--- a/src/util/config/types/subconfigurations/limits/RateLimits.ts
+++ b/src/util/config/types/subconfigurations/limits/RateLimits.ts
@@ -1,18 +1,18 @@
-import { RouteRateLimit, RateLimitOptions } from ".";
+import { RateLimitOptions, RouteRateLimit } from ".";
 
 export class RateLimits {
-    disabled: boolean = true;
-    ip: Omit<RateLimitOptions, "bot_count"> = {
-        count: 500,
-        window: 5
-    };
-    global: RateLimitOptions = {
-        count: 250,
-        window: 5
-    };
-    error: RateLimitOptions = {
-        count: 10,
-        window: 5
-    };
-    routes: RouteRateLimit;
-}
\ No newline at end of file
+	disabled: boolean = true;
+	ip: Omit<RateLimitOptions, "bot_count"> = {
+		count: 500,
+		window: 5
+	};
+	global: RateLimitOptions = {
+		count: 250,
+		window: 5
+	};
+	error: RateLimitOptions = {
+		count: 10,
+		window: 5
+	};
+	routes: RouteRateLimit = new RouteRateLimit();
+}
diff --git a/src/util/config/types/subconfigurations/limits/UserLimits.ts b/src/util/config/types/subconfigurations/limits/UserLimits.ts
index 0d10e0b3..b8bdcb2d 100644
--- a/src/util/config/types/subconfigurations/limits/UserLimits.ts
+++ b/src/util/config/types/subconfigurations/limits/UserLimits.ts
@@ -1,5 +1,5 @@
 export class UserLimits {
-    maxGuilds: number = 1048576;
-    maxUsername: number = 127;
-    maxFriends: number = 5000;
-}
\ No newline at end of file
+	maxGuilds: number = 1048576;
+	maxUsername: number = 127;
+	maxFriends: number = 5000;
+}
diff --git a/src/util/config/types/subconfigurations/limits/index.ts b/src/util/config/types/subconfigurations/limits/index.ts
index 0b7304f6..a4911542 100644
--- a/src/util/config/types/subconfigurations/limits/index.ts
+++ b/src/util/config/types/subconfigurations/limits/index.ts
@@ -2,5 +2,5 @@ export * from "./ChannelLimits";
 export * from "./GuildLimits";
 export * from "./MessageLimits";
 export * from "./RateLimits";
-export * from "./UserLimits";
 export * from "./ratelimits/index";
+export * from "./UserLimits";
diff --git a/src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts b/src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts
index df171044..0f363e7f 100644
--- a/src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts
+++ b/src/util/config/types/subconfigurations/limits/ratelimits/Auth.ts
@@ -1,12 +1,12 @@
 import { RateLimitOptions } from "./RateLimitOptions";
 
 export class AuthRateLimit {
-    login: RateLimitOptions = {
-        count: 5,
-        window: 60
-    };
-    register: RateLimitOptions = {
-        count: 2,
-        window: 60 * 60 * 12
-    };
-}
\ No newline at end of file
+	login: RateLimitOptions = {
+		count: 5,
+		window: 60
+	};
+	register: RateLimitOptions = {
+		count: 2,
+		window: 60 * 60 * 12
+	};
+}
diff --git a/src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts b/src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts
index 7089e28e..829813fb 100644
--- a/src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts
+++ b/src/util/config/types/subconfigurations/limits/ratelimits/RateLimitOptions.ts
@@ -3,4 +3,4 @@ export interface RateLimitOptions {
 	count: number;
 	window: number;
 	onyIp?: boolean;
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/subconfigurations/limits/ratelimits/Route.ts b/src/util/config/types/subconfigurations/limits/ratelimits/Route.ts
index 844b1b9a..6890699e 100644
--- a/src/util/config/types/subconfigurations/limits/ratelimits/Route.ts
+++ b/src/util/config/types/subconfigurations/limits/ratelimits/Route.ts
@@ -2,18 +2,18 @@ import { AuthRateLimit } from "./Auth";
 import { RateLimitOptions } from "./RateLimitOptions";
 
 export class RouteRateLimit {
-    guild: RateLimitOptions = {
-        count: 5,
-        window: 5
-    };
-    webhook: RateLimitOptions = {
-        count: 10,
-        window: 5
-    };
-    channel: RateLimitOptions = {
-        count: 10,
-        window: 5
-    };
-    auth: AuthRateLimit;
-    // TODO: rate limit configuration for all routes
-}
\ No newline at end of file
+	guild: RateLimitOptions = {
+		count: 5,
+		window: 5
+	};
+	webhook: RateLimitOptions = {
+		count: 10,
+		window: 5
+	};
+	channel: RateLimitOptions = {
+		count: 10,
+		window: 5
+	};
+	auth: AuthRateLimit = new AuthRateLimit();
+	// TODO: rate limit configuration for all routes
+}
diff --git a/src/util/config/types/subconfigurations/region/Region.ts b/src/util/config/types/subconfigurations/region/Region.ts
index a8717e1f..c1bcfd01 100644
--- a/src/util/config/types/subconfigurations/region/Region.ts
+++ b/src/util/config/types/subconfigurations/region/Region.ts
@@ -9,4 +9,4 @@ export interface Region {
 	vip: boolean;
 	custom: boolean;
 	deprecated: boolean;
-}
\ No newline at end of file
+}
diff --git a/src/util/config/types/subconfigurations/register/DateOfBirth.ts b/src/util/config/types/subconfigurations/register/DateOfBirth.ts
index 5a3c4e9d..4831a4b7 100644
--- a/src/util/config/types/subconfigurations/register/DateOfBirth.ts
+++ b/src/util/config/types/subconfigurations/register/DateOfBirth.ts
@@ -1,4 +1,4 @@
 export class DateOfBirthConfiguration {
-    required: boolean = true;
-    minimum: number = 13; // in years
-}
\ No newline at end of file
+	required: boolean = true;
+	minimum: number = 13; // in years
+}
diff --git a/src/util/config/types/subconfigurations/register/Email.ts b/src/util/config/types/subconfigurations/register/Email.ts
index 115d49e0..7f54faa7 100644
--- a/src/util/config/types/subconfigurations/register/Email.ts
+++ b/src/util/config/types/subconfigurations/register/Email.ts
@@ -1,7 +1,7 @@
 export class EmailConfiguration {
-    required: boolean = false;
-    allowlist: boolean = false;
-    blocklist: boolean = true;
-    domains: string[] = [];// TODO: efficiently save domain blocklist in database
-    // domains: fs.readFileSync(__dirname + "/blockedEmailDomains.txt", { encoding: "utf8" }).split("\n"),
-}
\ No newline at end of file
+	required: boolean = false;
+	allowlist: boolean = false;
+	blocklist: boolean = true;
+	domains: string[] = []; // TODO: efficiently save domain blocklist in database
+	// domains: fs.readFileSync(__dirname + "/blockedEmailDomains.txt", { encoding: "utf8" }).split("\n"),
+}
diff --git a/src/util/config/types/subconfigurations/register/Password.ts b/src/util/config/types/subconfigurations/register/Password.ts
index 977473ac..383bdcfa 100644
--- a/src/util/config/types/subconfigurations/register/Password.ts
+++ b/src/util/config/types/subconfigurations/register/Password.ts
@@ -1,7 +1,7 @@
 export class PasswordConfiguration {
-    required: boolean = false;
-    minLength: number = 8;
-    minNumbers: number = 2;
-    minUpperCase: number =2;
-    minSymbols: number = 0;
-}
\ No newline at end of file
+	required: boolean = false;
+	minLength: number = 8;
+	minNumbers: number = 2;
+	minUpperCase: number = 2;
+	minSymbols: number = 0;
+}
diff --git a/src/util/config/types/subconfigurations/security/Captcha.ts b/src/util/config/types/subconfigurations/security/Captcha.ts
index ad6aa762..21c4ef44 100644
--- a/src/util/config/types/subconfigurations/security/Captcha.ts
+++ b/src/util/config/types/subconfigurations/security/Captcha.ts
@@ -1,6 +1,6 @@
 export class CaptchaConfiguration {
-    enabled: boolean = false;
-    service: "recaptcha" | "hcaptcha" | null = null; // TODO: hcaptcha, custom
-    sitekey: string | null = null;
-    secret: string | null = null;
-}
\ No newline at end of file
+	enabled: boolean = false;
+	service: "recaptcha" | "hcaptcha" | null = null; // TODO: hcaptcha, custom
+	sitekey: string | null = null;
+	secret: string | null = null;
+}
diff --git a/src/util/config/types/subconfigurations/security/TwoFactor.ts b/src/util/config/types/subconfigurations/security/TwoFactor.ts
index 33a47385..20d2f9ab 100644
--- a/src/util/config/types/subconfigurations/security/TwoFactor.ts
+++ b/src/util/config/types/subconfigurations/security/TwoFactor.ts
@@ -1,3 +1,3 @@
 export class TwoFactorConfiguration {
-    generateBackupCodes: boolean = true;
-}
\ No newline at end of file
+	generateBackupCodes: boolean = true;
+}