mirror of
https://github.com/mudabbir-ahmad/Media-Aggregation-and-Sorting-System.git
synced 2026-10-07 19:40:20 +00:00
feat: implement NAS image lazy-loading and enhance service connection UI
This commit is contained in:
1 parent
6167418074
commit
5158305086
8 files changed
+573
-492
No files matched your search
+21
-2
@@ -11,7 +11,12 @@ app.use(cors());
|
||||
app.use(express.json({ limit: '100mb' }));
|
||||
|
||||
app.use((req, res, next) => {
|
||||
console.log(`[${new Date().toISOString()}] ${req.method} ${req.path}`);
|
||||
const start = Date.now();
|
||||
res.on('finish', () => {
|
||||
const ms = Date.now() - start;
|
||||
const user = req.body?.username ? ` user=${req.body.username}` : '';
|
||||
console.log(`[${new Date().toISOString()}] ${req.method} ${req.path} → ${res.statusCode} (${ms}ms)${user}`);
|
||||
});
|
||||
next();
|
||||
});
|
||||
|
||||
@@ -52,6 +57,7 @@ app.post('/api/register', (req, res) => {
|
||||
}
|
||||
res.json({ success: true, userId, username: sanitized });
|
||||
} catch (err) {
|
||||
console.error('[/api/register] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -79,6 +85,7 @@ app.post('/api/index', (req, res) => {
|
||||
orphansRemoved: removed,
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('[/api/index] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -107,6 +114,7 @@ app.post('/api/photos', (req, res) => {
|
||||
})),
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('[/api/photos] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -149,6 +157,7 @@ app.post('/api/photo/fetch', (req, res) => {
|
||||
},
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('[/api/photo/fetch] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -187,6 +196,7 @@ app.post('/api/photo/upload', (req, res) => {
|
||||
|
||||
res.json({ success: true, filename: safeFilename, indexed: result.indexed });
|
||||
} catch (err) {
|
||||
console.error('[/api/photo/upload] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -197,10 +207,10 @@ app.post('/api/photo/delete', (req, res) => {
|
||||
try {
|
||||
const { photoId } = req.body;
|
||||
if (!photoId) return res.status(400).json({ error: 'photoId is required' });
|
||||
|
||||
const result = db.deletePhoto(photoId);
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error('[/api/photo/delete] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -234,6 +244,7 @@ app.post('/api/refresh', (req, res) => {
|
||||
})),
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('[/api/refresh] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -248,6 +259,7 @@ app.post('/api/albums', (req, res) => {
|
||||
const albums = db.getAlbums(sanitized);
|
||||
res.json({ success: true, albums });
|
||||
} catch (err) {
|
||||
console.error('[/api/albums] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -260,6 +272,7 @@ app.post('/api/album/create', (req, res) => {
|
||||
const result = db.createAlbum(sanitized, name.trim());
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error('[/api/album/create] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -281,6 +294,7 @@ app.post('/api/album/photos', (req, res) => {
|
||||
})),
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('[/api/album/photos] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -292,6 +306,7 @@ app.post('/api/album/add-photo', (req, res) => {
|
||||
const result = db.addPhotoToAlbum(albumId, photoId);
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error('[/api/album/add-photo] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -303,6 +318,7 @@ app.post('/api/album/remove-photo', (req, res) => {
|
||||
const result = db.removePhotoFromAlbum(albumId, photoId);
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error('[/api/album/remove-photo] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -314,6 +330,7 @@ app.post('/api/album/delete', (req, res) => {
|
||||
const result = db.deleteAlbum(albumId);
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error('[/api/album/delete] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -325,6 +342,7 @@ app.post('/api/album/rename', (req, res) => {
|
||||
const result = db.renameAlbum(albumId, name.trim());
|
||||
res.json(result);
|
||||
} catch (err) {
|
||||
console.error('[/api/album/rename] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
@@ -336,6 +354,7 @@ app.get('/api/users', (req, res) => {
|
||||
const users = db.getAllUsers();
|
||||
res.json({ success: true, users });
|
||||
} catch (err) {
|
||||
console.error('[/api/users] Error:', err.message, err.stack);
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
Reference in new issue
Block a user