import "server-only";

import path from "path";

/**
 * 本地文件路径策略（服务端专用）
 *
 * 目标：
 * - 开发/传统模式：继续使用 `process.cwd()/public/*`（便于本地调试与静态访问）。
 * - 桌面端（Electron）：通过注入 `MNOTE_DATA_DIR=<安装目录>\\data`，把可变数据
 *   放到安装目录下（而不是 resources/app.asar），避免权限与覆盖问题。
 */

function cleanEnvValue(value: unknown): string | null {
  if (typeof value !== "string") return null;
  const v = value.trim();
  return v.length > 0 ? v : null;
}

export function getDocumentsBaseDir(): string {
  const dataDir = cleanEnvValue(process.env.MNOTE_DATA_DIR);
  if (dataDir) return path.join(dataDir, "documents");
  return path.join(process.cwd(), "public", "documents");
}

export function getLegacyMindmapsBaseDir(): string {
  const dataDir = cleanEnvValue(process.env.MNOTE_DATA_DIR);
  if (dataDir) return path.join(dataDir, "mindmaps");
  return path.join(process.cwd(), "public", "mindmaps");
}

