31 lines
888 B
TypeScript
31 lines
888 B
TypeScript
import { mkdir } from "node:fs/promises";
|
|
import {castCommentsConfig, type CommentsConfig} from "./types.ts";
|
|
|
|
const maybeConfig: any = {
|
|
mail: {
|
|
imap: {
|
|
host: process.env.CHORUS_IMAP_HOST,
|
|
port: process.env.CHORUS_IMAP_PORT || 993,
|
|
auth: {
|
|
user: process.env.CHORUS_IMAP_USER,
|
|
pass: process.env.CHORUS_IMAP_PASS,
|
|
},
|
|
},
|
|
threads: {
|
|
type: 'alias',
|
|
template: process.env.CHORUS_THREAD_TEMPLATE,
|
|
idPrefix: 'c.',
|
|
replyPrefix: '.r.',
|
|
},
|
|
},
|
|
dirs: {
|
|
data: process.env.CHORUS_DATA_DIR || 'chorus-data',
|
|
},
|
|
}
|
|
|
|
export const config: CommentsConfig = castCommentsConfig(maybeConfig)
|
|
|
|
export async function ensureDirectoriesExist(): Promise<void> {
|
|
await mkdir(`${config.dirs.data}/threads`, { recursive: true })
|
|
}
|