Skip to content

Commit eb989fa

Browse files
committed
config: set missing defaults
This allows using env vars for all config parameters
1 parent 8ae61dd commit eb989fa

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

src/config.ts

+20-20
Original file line numberDiff line numberDiff line change
@@ -81,18 +81,18 @@ export class DiscordBridgeConfig {
8181
}
8282

8383
export class DiscordBridgeConfigBridge {
84-
public domain: string;
85-
public homeserverUrl: string;
86-
public port: number;
87-
public bindAddress: string;
84+
public domain: string = "";
85+
public homeserverUrl: string = "";
86+
public port: number = 0;
87+
public bindAddress: string = "";
8888
public presenceInterval: number = 500;
89-
public disablePresence: boolean;
90-
public disableTypingNotifications: boolean;
91-
public disableDiscordMentions: boolean;
92-
public disableDeletionForwarding: boolean;
93-
public enableSelfServiceBridging: boolean;
94-
public disablePortalBridging: boolean;
95-
public disableReadReceipts: boolean;
89+
public disablePresence: boolean = false;
90+
public disableTypingNotifications: boolean = false;
91+
public disableDiscordMentions: boolean = false;
92+
public disableDeletionForwarding: boolean = false;
93+
public enableSelfServiceBridging: boolean = false;
94+
public disablePortalBridging: boolean = false;
95+
public disableReadReceipts: boolean = false;
9696
public disableEveryoneMention: boolean = false;
9797
public disableHereMention: boolean = false;
9898
public disableJoinLeaveNotifications: boolean = false;
@@ -106,17 +106,17 @@ export class DiscordBridgeConfigBridge {
106106
}
107107

108108
export class DiscordBridgeConfigDatabase {
109-
public connString: string;
110-
public filename: string;
109+
public connString: string = "";
110+
public filename: string = "";
111111
// These parameters are legacy, and will stop the bridge if defined.
112-
public userStorePath: string;
113-
public roomStorePath: string;
112+
public userStorePath: string = "";
113+
public roomStorePath: string = "";
114114
}
115115

116116
export class DiscordBridgeConfigAuth {
117-
public clientID: string;
118-
public botToken: string;
119-
public usePrivilegedIntents: boolean;
117+
public clientID: string = "";
118+
public botToken: string = "";
119+
public usePrivilegedIntents: boolean = false;
120120
}
121121

122122
export class DiscordBridgeConfigLogging {
@@ -126,7 +126,7 @@ export class DiscordBridgeConfigLogging {
126126
}
127127

128128
class DiscordBridgeConfigRoom {
129-
public defaultVisibility: string;
129+
public defaultVisibility: string = "";
130130
public kickFor: number = 30000;
131131
}
132132

@@ -152,7 +152,7 @@ class DiscordBridgeConfigLimits {
152152
}
153153

154154
export class LoggingFile {
155-
public file: string;
155+
public file: string = "";
156156
public level: string = "info";
157157
public maxFiles: string = "14d";
158158
public maxSize: string|number = "50m";

test/test_config.ts

+2
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,15 @@ describe("DiscordBridgeConfig.applyConfig", () => {
6363
APPSERVICE_DISCORD_BRIDGE_DISABLE_INVITE_NOTIFICATIONS: true,
6464
APPSERVICE_DISCORD_BRIDGE_DISABLE_JOIN_LEAVE_NOTIFICATIONS: true,
6565
APPSERVICE_DISCORD_LOGGING_CONSOLE: "debug",
66+
APPSERVICE_DISCORD_DATABASE_CONN_STRING: "abcd",
6667
});
6768
expect(config.bridge.disableJoinLeaveNotifications).to.be.true;
6869
expect(config.bridge.disableInviteNotifications).to.be.true;
6970
expect(config.bridge.disableDeletionForwarding).to.be.false;
7071
expect(config.bridge.disableDiscordMentions).to.be.false;
7172
expect(config.bridge.homeserverUrl).to.equal("blah");
7273
expect(config.logging.console).to.equal("debug");
74+
expect(config.database.connString).to.equal("abcd");
7375
});
7476
it("should merge logging.files correctly", () => {
7577
const config = new DiscordBridgeConfig();

0 commit comments

Comments
 (0)