feat: Google Drive backup upload endpoint (Faz 2 — backend half)
POST /api/google-drive/upload: Electron'un backupQueue'sunun gönderdiği tek dosyayı alıp Google'ın resumable upload session'ıyla Drive'a yazıyor (mevcutsa aynı drive_file_id'yi PATCH ederek yeni sürüm olarak, PRD Test 4). Dava başlığı = Drive'daki alt klasör adı (lokal yapı korunuyor). GET /backup-status: Ayarlar > Yedekleme paneli için toplam dosya/boyut/son senkron özeti. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
328aef91bd
commit
313d5b72ef
@@ -1,8 +1,10 @@
|
||||
import { Router } from 'express';
|
||||
import multer from 'multer';
|
||||
import { requireAuth } from '../middleware/auth';
|
||||
import { connect, oauthCallback, getStatus, disconnect, refresh } from '../controllers/googleDrive.controller';
|
||||
import { connect, oauthCallback, getStatus, disconnect, refresh, uploadFile, getBackupStatus } from '../controllers/googleDrive.controller';
|
||||
|
||||
const router = Router();
|
||||
const upload = multer({ storage: multer.memoryStorage() });
|
||||
|
||||
// Google'ın doğrudan (Bearer token olmadan) yönlendirdiği tek public uç nokta.
|
||||
router.get('/oauth/callback', oauthCallback);
|
||||
@@ -11,5 +13,7 @@ router.get('/connect', requireAuth, connect);
|
||||
router.get('/status', requireAuth, getStatus);
|
||||
router.post('/disconnect', requireAuth, disconnect);
|
||||
router.post('/refresh', requireAuth, refresh);
|
||||
router.post('/upload', upload.single('file'), requireAuth, uploadFile);
|
||||
router.get('/backup-status', requireAuth, getBackupStatus);
|
||||
|
||||
export default router;
|
||||
|
||||
Reference in New Issue
Block a user