Spaces:
Running
Running
Update server.js
Browse files
server.js
CHANGED
|
@@ -253,6 +253,32 @@ app.get('/api/download/:fileId', async (req, res) => {
|
|
| 253 |
}
|
| 254 |
});
|
| 255 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 256 |
// API: Kiểm tra trạng thái đăng nhập
|
| 257 |
app.get('/api/oauth/status', (req, res) => {
|
| 258 |
res.json({
|
|
|
|
| 253 |
}
|
| 254 |
});
|
| 255 |
|
| 256 |
+
// API: Xóa file trên Google Drive
|
| 257 |
+
app.delete('/api/delete/:fileId', async (req, res) => {
|
| 258 |
+
try {
|
| 259 |
+
const { fileId } = req.params;
|
| 260 |
+
|
| 261 |
+
// Kiểm tra quyền Admin
|
| 262 |
+
if (!adminRefreshToken) {
|
| 263 |
+
return res.status(401).json({ error: 'Chưa đăng nhập Admin. Vui lòng đăng nhập lại.' });
|
| 264 |
+
}
|
| 265 |
+
|
| 266 |
+
await getAccessToken();
|
| 267 |
+
const drive = google.drive({ version: 'v3', auth: oauth2Client });
|
| 268 |
+
|
| 269 |
+
// Thực hiện xóa file
|
| 270 |
+
await drive.files.delete({
|
| 271 |
+
fileId: fileId
|
| 272 |
+
});
|
| 273 |
+
|
| 274 |
+
res.json({ success: true, message: 'Đã xóa file trên Google Drive thành công' });
|
| 275 |
+
} catch (error) {
|
| 276 |
+
console.error('Delete error:', error);
|
| 277 |
+
// Trả về lỗi chi tiết để frontend biết
|
| 278 |
+
res.status(500).json({ error: error.message });
|
| 279 |
+
}
|
| 280 |
+
});
|
| 281 |
+
|
| 282 |
// API: Kiểm tra trạng thái đăng nhập
|
| 283 |
app.get('/api/oauth/status', (req, res) => {
|
| 284 |
res.json({
|