Files
quasar/backend/src/routes/import.ts
Benito Rodríguez 12636aefc3 chore(ci): instalar binarios y documentar dependencias
- Añade sección en README.md con instrucciones para p7zip (7z) y chdman
- Actualiza .gitea/workflows/ci.yaml para intentar instalar p7zip-full y mame-tools/mame (continue-on-error)
- Ajusta importService para validar ruta y pasar logger desde la ruta de import
2026-02-09 18:19:45 +01:00

26 lines
877 B
TypeScript

import { FastifyInstance } from 'fastify';
import { runner } from '../jobs/importRunner';
import { importDirectory } from '../services/importService';
export default async function importRoutes(app: FastifyInstance) {
app.post('/import/scan', async (request, reply) => {
const body = request.body as any;
// Encolar el job en background
setImmediate(() => {
runner
.enqueue(async () => {
// no await here; background task. Pasamos el logger de Fastify para
// que los mensajes de advertencia se integren con el sistema de logs.
return importDirectory({ dir: body?.dir, persist: body?.persist }, app.log);
})
.catch((err) => {
app.log.warn({ err }, 'Background import task failed');
});
});
// Responder inmediatamente
reply.code(202).send({ status: 'queued' });
});
}