52 lines
1.4 KiB
JavaScript
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;
|