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.
49 lines
907 B
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;
|
|
}
|