panels-origin/api/config.ts
2026-08-25 20:21:49 -05:00

35 lines
1.7 KiB
TypeScript

import { join, dirname } from "node:path";
import { fileURLToPath } from "node:url";
const here = dirname(fileURLToPath(import.meta.url));
export const ROOT = join(here, "..");
export const DATA_DIR = join(ROOT, "data");
export const DB_PATH = join(DATA_DIR, "app.db");
export const PLATFORM_DB_PATH = join(DATA_DIR, "platform.db");
export const EXPEDIENTES_DIR = join(DATA_DIR, "expedientes");
export const PDFS_DIR = join(DATA_DIR, "pdfs");
export const LOGOS_DIR = join(DATA_DIR, "logos");
export const PROJECTS_DIR = join(DATA_DIR, "proyectos");
export const COMPANIES_DIR = join(DATA_DIR, "empresas");
export const config = {
port: Number(Deno.env.get("PORT") ?? "8000"),
sessionSecret: Deno.env.get("SESSION_SECRET") ?? "dev-session-secret-change-me",
apiKey: Deno.env.get("API_KEY") ?? "",
docsKeyHex: Deno.env.get("DOCS_KEY") ??
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
/** Solo vía env. Compose exige SEED_PASSWORD; no hay default en código. */
seedPassword: Deno.env.get("SEED_PASSWORD") ?? "",
vcardBase: Deno.env.get("VCARD_BASE") ?? "https://vcard.arctec.com.mx?info=",
panelLoginUrl: Deno.env.get("PANEL_LOGIN_URL") ?? "http://localhost:3000/login",
smtpHost: (Deno.env.get("SMTP_HOST") ?? "").trim(),
smtpPort: Number(Deno.env.get("SMTP_PORT") ?? "587"),
smtpUser: (Deno.env.get("SMTP_USER") ?? "").trim(),
smtpPass: Deno.env.get("SMTP_PASS") ?? "",
/** Compose puede pasar SMTP_FROM vacío; no pisar el default. */
smtpFrom: (Deno.env.get("SMTP_FROM") ?? "").trim() || "PANELS <noreply@panel.local>",
/** En HTTPS (Coolify) poner COOKIE_SECURE=true */
cookieSecure: ["1", "true", "yes"].includes(
(Deno.env.get("COOKIE_SECURE") ?? "").toLowerCase(),
),
};