debug: try/catch in GET /, expires_at check in debug endpoint
This commit is contained in:
@@ -10,8 +10,11 @@ function generateToken() { return crypto.randomBytes(24).toString('base64url');
|
||||
|
||||
// GET / – eigene Shares auflisten
|
||||
router.get('/', authenticate, (req, res) => {
|
||||
try {
|
||||
const shares = db.prepare(`
|
||||
SELECT s.*, f.name as file_name, f.size as file_size,
|
||||
SELECT s.id, s.token, s.user_id, s.file_id, s.folder_id, s.label,
|
||||
s.password_hash, s.expires_at, s.created_at, s.download_count,
|
||||
f.name as file_name, f.size as file_size,
|
||||
fo.name as folder_name
|
||||
FROM public_file_shares s
|
||||
LEFT JOIN files f ON f.id = s.file_id
|
||||
@@ -20,6 +23,10 @@ router.get('/', authenticate, (req, res) => {
|
||||
ORDER BY s.created_at DESC
|
||||
`).all(req.user.id);
|
||||
res.json({ shares });
|
||||
} catch(e) {
|
||||
console.error('[public-shares GET]', e.message);
|
||||
res.status(500).json({ error: e.message });
|
||||
}
|
||||
});
|
||||
|
||||
// POST / – neuen Share erstellen
|
||||
@@ -66,7 +73,15 @@ router.get('/debug-table', (req, res) => {
|
||||
const count = exists ? db.prepare('SELECT COUNT(*) as n FROM public_file_shares').get() : null;
|
||||
const cols = exists ? db.pragma('table_info(public_file_shares)').map(c=>c.name) : [];
|
||||
const sample = exists ? db.prepare('SELECT id, token, user_id, file_id, folder_id, expires_at, download_count FROM public_file_shares LIMIT 5').all() : [];
|
||||
res.json({ exists: !!exists, count: count?.n, cols, sample });
|
||||
// Test: ersten Token direkt abfragen wie public endpoint es tut
|
||||
let publicTest = null;
|
||||
if (sample.length > 0) {
|
||||
const t = sample[0].token;
|
||||
const s = db.prepare('SELECT s.*, f.name as file_name, fo.name as folder_name FROM public_file_shares s LEFT JOIN files f ON f.id = s.file_id LEFT JOIN folders fo ON fo.id = s.folder_id WHERE s.token=?').get(t);
|
||||
const now = Math.floor(Date.now()/1000);
|
||||
publicTest = { token: t, expires_at: s?.expires_at, now, isExpired: s?.expires_at < now, typeof_expires: typeof s?.expires_at };
|
||||
}
|
||||
res.json({ exists: !!exists, count: count?.n, cols, sample, publicTest });
|
||||
} catch(e) { res.status(500).json({ error: e.message }); }
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user