1
0
mirror of https://github.com/boku7/Loki synced 2026-06-06 15:24:27 +00:00
Files
2025-04-03 12:54:39 -07:00

44 lines
1.5 KiB
JavaScript

const fs = require('fs');
const path = require('path');
const os = require('os');
const getAppDataDir = (appName = 'Loki') => {
try {
const homeDir = os.homedir();
if (!homeDir) throw new Error('Could not determine home directory');
// Define directories
const appDataDir = path.join(homeDir, appName);
const logDir = path.join(appDataDir, 'log');
const downloadsDir = path.join(appDataDir, 'downloads');
const configDir = path.join(appDataDir, 'config');
const configFilePath = path.join(configDir, 'config.js');
// Ensure directories exist
[appDataDir, logDir, downloadsDir, configDir].forEach((dir) => {
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
});
// Default config content
const configContent = `module.exports = {
"storageAccount": "{REPLACE}.blob.core.windows.net",
"metaContainer": "mfd42094a8e855ed2a70b435",
"sasToken": "se=2025-05-11T1..."
};`;
// Create config.js if it doesn't exist
if (!fs.existsSync(configFilePath)) {
fs.writeFileSync(configFilePath, configContent, { encoding: 'utf8' });
}
return { appDataDir, logDir, downloadsDir, configDir, configFilePath };
} catch (error) {
console.error(`Error creating app data directories or config file: ${error.message}`);
return null;
}
};
module.exports = { getAppDataDir };