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>
20 lines
822 B
TypeScript
20 lines
822 B
TypeScript
import { Router } from 'express';
|
||
import multer from 'multer';
|
||
import { requireAuth } from '../middleware/auth';
|
||
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);
|
||
|
||
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;
|