import db from "./db"; // Metas mensuales — SQLite (Etapa 4). Clave: correo del vendedor, resuelto en vivo // contra systemusers (no hay una lista fija de correos confirmados — ver migration.md §11.5). // La tabla arranca vacía: un administrador las carga desde /admin/metas. export function getMetas() { const rows = db.prepare("SELECT email, monto FROM metas").all(); const map = {}; rows.forEach((r) => { map[r.email] = r.monto; }); return map; } export function getMetaGlobal() { const row = db.prepare("SELECT valor FROM config WHERE clave = 'meta_global'").get(); if (row) return Number(row.valor); return Object.values(getMetas()).reduce((a, v) => a + v, 0); } export function setMeta(email, monto) { db.prepare( `INSERT INTO metas (email, monto, updated_at) VALUES (?, ?, datetime('now')) ON CONFLICT(email) DO UPDATE SET monto = excluded.monto, updated_at = excluded.updated_at` ).run(email.toLowerCase(), monto); } export function setMetaGlobal(monto) { db.prepare( `INSERT INTO config (clave, valor) VALUES ('meta_global', ?) ON CONFLICT(clave) DO UPDATE SET valor = excluded.valor` ).run(String(monto)); }