summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorLeo Goetz <dev@leogtz.de>2026-05-24 13:37:55 +0200
committerLeo Goetz <dev@leogtz.de>2026-05-24 13:37:55 +0200
commite765e1acdfe8e25c41b267eedd878c739d3e5261 (patch)
tree9a6bd76623f42b0bb800e42394736480a630ce79 /src/utils
parentca8537af0ab596fddd8d72e6630f278326ef5360 (diff)
fix: config and config commandHEADmaster
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/config.ts14
-rw-r--r--src/utils/email.ts32
2 files changed, 24 insertions, 22 deletions
diff --git a/src/utils/config.ts b/src/utils/config.ts
index 62080f7..0706312 100644
--- a/src/utils/config.ts
+++ b/src/utils/config.ts
@@ -3,7 +3,7 @@ import fs from "fs/promises";
import type { Config } from "../types.js";
const configPath: string = new URL(
- `${os.homedir()}/.config/dephelp/`,
+ `${os.homedir()}/.config/dephelp`,
import.meta.url,
).pathname;
@@ -34,15 +34,11 @@ export const getConfig = async (): Promise<Config> => {
export const initConfig = async () => {
try {
- await fs.access(configPath);
+ await fs.access(configFile);
+ console.log(`You already have a config at: ${configFile}`);
} catch {
- await fs.mkdir(configPath);
- }
-
- try {
+ await fs.mkdir(configPath, { recursive: true });
await fs.writeFile(`${configFile}`, JSON.stringify(sampleConfig, null, 2));
- console.log(`Config got generated in /.config/dephelp/config.json`);
- } catch (error) {
- console.error(error);
+ console.log(`Config got generated: ${configFile}`);
}
};
diff --git a/src/utils/email.ts b/src/utils/email.ts
index 828603b..54fd591 100644
--- a/src/utils/email.ts
+++ b/src/utils/email.ts
@@ -1,18 +1,24 @@
import type { Config, EmailConfig } from "../types.js";
import { getConfig } from "./config.js";
-const config: Config = await getConfig();
+export const getEmailConfig = async (): Promise<EmailConfig> => {
+ const config: Config = await getConfig();
-export const emailConfig: EmailConfig = {
- host: config.email!.host,
- port: config.email!.port,
- secure: config.email!.secure,
- auth: {
- user: config.email!.auth.user,
- pass: config.email!.auth.pass,
- },
- senderEmail: config.email!.senderEmail,
- senderName: config.email!.senderName,
- subject: config.email!.subject,
- reciever: config.email!.reciever,
+ if (!config.email) {
+ throw new Error("Email configuration is missing in config.json");
+ }
+
+ return {
+ host: config.email.host,
+ port: config.email.port,
+ secure: config.email.secure,
+ auth: {
+ user: config.email.auth.user,
+ pass: config.email.auth.pass,
+ },
+ senderEmail: config.email.senderEmail,
+ senderName: config.email.senderName,
+ subject: config.email.subject,
+ reciever: config.email.reciever,
+ };
};