initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
import path from 'node:path';
|
||||
import fs from 'node:fs';
|
||||
import { fileURLToPath } from 'node:url';
|
||||
|
||||
const projectRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
||||
const resolveFromRoot = (value, fallback) => path.resolve(projectRoot, value || fallback);
|
||||
|
||||
export const config = Object.freeze({
|
||||
projectRoot,
|
||||
host: process.env.HOST || '127.0.0.1',
|
||||
port: Number.parseInt(process.env.PORT || '47145', 10),
|
||||
instanceName: process.env.INSTANCE_NAME || 'Atlas',
|
||||
dataDir: resolveFromRoot(process.env.DATA_DIR, 'data'),
|
||||
storageDir: resolveFromRoot(process.env.STORAGE_DIR, 'storage'),
|
||||
maxUploadBytes: Number.parseInt(process.env.MAX_UPLOAD_MB || '50', 10) * 1024 * 1024,
|
||||
defaultRouteRadiusKm: Number.parseFloat(process.env.DEFAULT_ROUTE_RADIUS_KM || '25'),
|
||||
defaultPoiTriggerMeters: Number.parseFloat(process.env.DEFAULT_POI_TRIGGER_METERS || '80')
|
||||
});
|
||||
|
||||
export function ensureRuntimeDirectories() {
|
||||
for (const directory of [
|
||||
config.dataDir,
|
||||
path.join(config.storageDir, 'active', 'routes'),
|
||||
path.join(config.storageDir, 'trash', 'routes'),
|
||||
path.join(config.storageDir, 'uploads')
|
||||
]) {
|
||||
fs.mkdirSync(directory, { recursive: true });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user