fix(paths): Update directory paths to use a dedicated data directory and add ensureDirectories function for proper directory creation.

This commit is contained in:
2025-03-15 13:57:21 +00:00
parent c084de9c78
commit e9b2ec0f59
2 changed files with 30 additions and 6 deletions

View File

@ -1,12 +1,29 @@
import * as plugins from './plugins.js';
// Base directories
export const baseDir = process.cwd();
export const packageDir = plugins.path.join(
plugins.smartpath.get.dirnameFromImportMetaUrl(import.meta.url),
'../'
);
export const assetsDir = plugins.path.join(packageDir, './assets');
export const keysDir = plugins.path.join(assetsDir, './keys');
export const dnsRecordsDir = plugins.path.join(assetsDir, './dns-records');
export const sentEmailsDir = plugins.path.join(assetsDir, './sent-emails');
export const receivedEmailsDir = plugins.path.join(assetsDir, './received-emails');
plugins.smartfile.fs.ensureDirSync(keysDir);
export const dataDir = plugins.path.join(baseDir, 'data');
// MTA directories
export const keysDir = plugins.path.join(dataDir, 'keys');
export const dnsRecordsDir = plugins.path.join(dataDir, 'dns');
export const sentEmailsDir = plugins.path.join(dataDir, 'emails', 'sent');
export const receivedEmailsDir = plugins.path.join(dataDir, 'emails', 'received');
export const failedEmailsDir = plugins.path.join(dataDir, 'emails', 'failed'); // For failed emails
export const logsDir = plugins.path.join(dataDir, 'logs'); // For logs
// Create directories if they don't exist
export function ensureDirectories() {
// Ensure data directories
plugins.smartfile.fs.ensureDirSync(dataDir);
plugins.smartfile.fs.ensureDirSync(keysDir);
plugins.smartfile.fs.ensureDirSync(dnsRecordsDir);
plugins.smartfile.fs.ensureDirSync(sentEmailsDir);
plugins.smartfile.fs.ensureDirSync(receivedEmailsDir);
plugins.smartfile.fs.ensureDirSync(failedEmailsDir);
plugins.smartfile.fs.ensureDirSync(logsDir);
}