feat: mobil için Google Drive ince-köprü endpoint'i ekle (Faz 4)

Yeni GET /api/mobile-relay/case/:caseId/summary — kullanıcının Drive'ındaki
case.sqlite'ı anlık olarak açıp sadece belge metadata'sı (extracted_text
HARİÇ) ve AI analiz özetlerini döner, hiçbir şey kalıcı olarak saklanmaz
(geçici dosya işlem sonunda silinir). google_drive_files'ı reuse eden
yeni /google-drive/register-case-path endpoint'i, case_id ↔ Drive'daki
local_path eşleşmesini tutan yeni case_drive_files tablosuna yazıyor
(migration: laawos/sql/21_case_drive_files.sql, Supabase'de elle
çalıştırılması gerekiyor).

better-sqlite3 + @types/better-sqlite3 eklendi; node:22-alpine (musl)
için gerekli prebuild paketle geliyor, ek derleme adımı gerekmiyor
(doğrulandı).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Mustafa Yildiz
2026-08-20 00:44:12 +03:00
co-authored by Claude Sonnet 5
parent ab20d88422
commit 746848606a
7 changed files with 189 additions and 1 deletions
+33
View File
@@ -11,6 +11,7 @@
"dependencies": {
"@supabase/supabase-js": "^2.112.2",
"adm-zip": "^0.6.0",
"better-sqlite3": "^13.0.3",
"cors": "^2.8.6",
"dotenv": "^17.4.2",
"express": "^5.2.1",
@@ -26,6 +27,7 @@
},
"devDependencies": {
"@types/adm-zip": "^0.5.8",
"@types/better-sqlite3": "^9.6.0",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.6",
"@types/multer": "^2.2.0",
@@ -831,6 +833,16 @@
"@types/node": "*"
}
},
"node_modules/@types/better-sqlite3": {
"version": "9.6.0",
"resolved": "https://registry.npmjs.org/@types/better-sqlite3/-/better-sqlite3-9.6.0.tgz",
"integrity": "sha512-ZEEwBSgMu7GYJOynoagg5X9JbxfL6dTJDsgViJIqh67jV44kyOr9RXfmFjLK5rzC4MWssP06t9hu/JwGDnUbCg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@types/node": "*"
}
},
"node_modules/@types/body-parser": {
"version": "1.19.6",
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
@@ -1365,6 +1377,18 @@
],
"license": "MIT"
},
"node_modules/better-sqlite3": {
"version": "13.0.3",
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-13.0.3.tgz",
"integrity": "sha512-RbOBxmLBG8uvFUc15X9+9SFemKcQ0WBuISBVkpuiaUB2qblC8UWlHEjdWVoZ8AdhSwmoEgsiXKfopX0CQxaACQ==",
"license": "MIT",
"dependencies": {
"node-addon-api": "^8.0.0"
},
"engines": {
"node": ">=22"
}
},
"node_modules/bluebird": {
"version": "3.4.7",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
@@ -2319,6 +2343,15 @@
"node": ">= 0.6"
}
},
"node_modules/node-addon-api": {
"version": "8.9.2",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.2.tgz",
"integrity": "sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==",
"license": "MIT",
"engines": {
"node": "^18 || ^20 || >= 21"
}
},
"node_modules/node-fetch": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",