2026-04-10 10:54:50 +02:00
|
|
|
const Dropbox = require('dropbox').Dropbox;
|
|
|
|
|
|
2026-03-27 13:26:16 +01:00
|
|
|
export default async function handler(req, res) {
|
2026-04-10 10:54:50 +02:00
|
|
|
if (req.method === 'GET' && req.query.info === '1') {
|
|
|
|
|
const DBX = new Dropbox({
|
|
|
|
|
accessToken: process.env.DROPBOX_ACCESS_TOKEN
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
const fileInfo = await DBX.filesGetInfo({ path: '/Data-Matrix.xlsx' });
|
|
|
|
|
return res.json({
|
|
|
|
|
rev: fileInfo.result.rev,
|
|
|
|
|
size: fileInfo.result.size,
|
|
|
|
|
server_modified: fileInfo.result.server_modified
|
|
|
|
|
});
|
|
|
|
|
} catch (err) {
|
|
|
|
|
return res.status(500).json({ error: err.message });
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const DBX = new Dropbox({
|
|
|
|
|
accessToken: process.env.DROPBOX_ACCESS_TOKEN
|
|
|
|
|
});
|
2026-03-27 13:26:16 +01:00
|
|
|
|
|
|
|
|
try {
|
2026-04-10 10:54:50 +02:00
|
|
|
const upstream = await DBX.filesDownload({ path: '/Data-Matrix.xlsx' });
|
|
|
|
|
const buffer = Buffer.from(upstream.result.fileBinary);
|
|
|
|
|
|
2026-03-27 13:26:16 +01:00
|
|
|
res.setHeader('Content-Type', 'application/octet-stream');
|
|
|
|
|
res.setHeader('Cache-Control', 'no-store');
|
2026-04-10 10:54:50 +02:00
|
|
|
res.send(buffer);
|
2026-03-27 13:26:16 +01:00
|
|
|
} catch (err) {
|
2026-04-10 10:54:50 +02:00
|
|
|
console.error('Dropbox error:', err);
|
2026-03-27 13:26:16 +01:00
|
|
|
res.status(500).send('Proxy error: ' + err.message);
|
|
|
|
|
}
|
|
|
|
|
}
|