- 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
26 lines
877 B
TypeScript
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' });
|
|
});
|
|
}
|