You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
senzapaura_es/scripts/estudio/fuente.mjs

49 lines
907 B

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;
}

Powered by TurnKey Linux.