/* ============================================================ KeS Metas — Registros (logs de auditoria: quem fez o quê) Relatório filtrável por período e por pessoa. Só o admin acessa. ============================================================ */ const { useState, useEffect } = React; function LogsScreen({ state, viewer, isOwner }) { const K = window.KES, DB = window.KESDB; const isAdmin = !!isOwner; // registros são exclusivos da conta KeS (owner) const [logs, setLogs] = useState([]); const [carregando, setCarregando] = useState(true); const [periodo, setPeriodo] = useState(() => window.buildPreset("mes")); const [quem, setQuem] = useState("todos"); useEffect(() => { let vivo = true; if (!isAdmin || !DB || !DB.configured()) { setCarregando(false); return; } setCarregando(true); // Retenção: apaga registros com mais de 90 dias antes de listar. Promise.resolve(DB.pruneLogs(state.teamId, 90)) .then(() => DB.listLogs(state.teamId, 1000)) .then((r) => { if (vivo) { setLogs(r); setCarregando(false); } }) .catch(() => { if (vivo) { setLogs([]); setCarregando(false); } }); // nunca trava em "Carregando…" return () => { vivo = false; }; }, [state.teamId]); if (!isAdmin) { return
Acesso restrito à conta KeS.
Auditoria do sistema: quem fez o quê e quando.