gallery_server_client_s190js/api_v1/scanner/scanActivity.js
2026-10-26 11:00:14 +01:00

52 lines
1.4 KiB
JavaScript

// api_v1/scanner/scanActivity.js
const path = require('path');
const { log } = require('./logger');
const scanActivityCartella = require('./scanActivityCartella');
const createActivityOrphanCleanup = require('./activityOrphanCleanup');
const {
WEB_ROOT
} = require('../config');
// Il progresso globale viene letto dalla coda SQLite.
// Mantiene la callback richiesta da scanActivityCartella.
async function updateStatusFile() {}
// ---------------------------------------------------------
// SCAN UNA SOLA CARTELLA DI ATTIVITÀ
// ---------------------------------------------------------
async function scanActivity(dir, userName, db, CURRENT, TOTAL_FILES, start, onProgress) {
const newActivities = [];
const { deleteFromDB } = createActivityOrphanCleanup(db);
const activitiesRoot = path.resolve(__dirname, '..', '..', WEB_ROOT, 'activities');
const userDir = path.join(activitiesRoot, userName, 'original');
const cartella = dir;
const absCartella = path.join(userDir, cartella);
log(`📁 [SCAN ACTIVITY CARTELLA] ${cartella}`);
await scanActivityCartella(
db,
userName,
cartella,
absCartella,
newActivities,
updateStatusFile,
CURRENT,
TOTAL_FILES,
start,
deleteFromDB,
onProgress
);
// Parsing e sincronizzazione remota sono ora responsabilita
// dell'ActivityIngestDaemon.
return newActivities;
}
module.exports = scanActivity;