import { createHash } from 'node:crypto'; export const TABLAS_FUENTE = [ 'estilo', 'album', 'artista', 'artista_persona', 'persona', 'genero_persona', 'etiqueta', 'cancion', 'cancion_interprete', 'cancion_persona', 'cancion_etiqueta', 'cancion_audio', 'medio', 'entrada', 'entrada_cancion', 'entrada_etiqueta', 'pagina', 'documento_legal', 'version_legal', 'capitulo', 'genero', 'genero_seccion', 'genero_origen', 'genero_tema', 'termino', 'acepcion', 'modelo_ia', 'prompt', 'redireccion' ]; export function huella(datos) { return createHash('sha256') .update( JSON.stringify( Object.keys(datos) .sort() .map((k) => [k, datos[k].map((r) => JSON.stringify(r)).sort()]) ) ) .digest('hex'); } export async function leerFuente(c) { const datos = {}; for (const t of TABLAS_FUENTE) datos[t] = (await c.query(`SELECT * FROM ${t}`)).rows; return datos; }