Surface shared inventory failures and isolate test database storage

This commit is contained in:
2026-09-06 10:30:51 +03:00
parent dbe43c241d
commit 0c16bbd96f
6 changed files with 48 additions and 10 deletions
+6 -3
View File
@@ -775,13 +775,16 @@ const server = http.createServer(async (req, res) => {
if (url.pathname === '/api/kalem') {
const ikn = url.searchParams.get('ikn');
if (!ikn) return json(res, 400, { success: false, error: 'ikn gerekli' });
return json(res, 200, { success: true, ...kalemStore.kalemOku(ikn) });
try { return json(res, 200, { success: true, ...kalemStore.kalemOku(ikn) }); }
catch { return json(res,503,{success:false,error:'Kalem deposuna erişilemiyor. Daha sonra yeniden deneyin.'}); }
}
if (url.pathname === '/api/kalem/ara') {
const q = url.searchParams.get('q') || '';
if (q.trim().length < 2) return json(res, 400, { success: false, error: 'en az 2 karakter' });
const sonuc = kalemStore.kalemAra(q);
return json(res, 200, { success: true, adet: sonuc.length, sonuclar: sonuc });
try {
const sonuc = kalemStore.kalemAra(q);
return json(res, 200, { success: true, adet: sonuc.length, sonuclar: sonuc });
} catch { return json(res,503,{success:false,error:'Kalem araması şu anda kullanılamıyor. Yeniden deneyin.'}); }
}
// --- Ürün araması: metni ihale DOKÜMANININ içinde arar ---
// EKAP teklif cetvelini kendi tarafında indeksliyor; doküman indirmeye
+8 -5
View File
@@ -23,7 +23,7 @@ try {
}
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const DATA_DIR = path.join(__dirname, 'data');
const DATA_DIR = process.env.IHALEIST_SHARED_DATA_DIR || path.join(__dirname, 'data');
const DB_PATH = path.join(DATA_DIR, 'kalem.sqlite');
const SCHEMA = `
@@ -56,11 +56,14 @@ export function available() {
function open() {
if (db) return db;
if (!DatabaseSync) return null;
if (!DatabaseSync) throw new Error('Kalem deposu bu sunucuda kullanılamıyor.');
fs.mkdirSync(DATA_DIR, { recursive: true });
db = new DatabaseSync(DB_PATH);
db.exec('PRAGMA journal_mode = WAL;');
db.exec(SCHEMA);
const candidate = new DatabaseSync(DB_PATH);
try {
candidate.exec('PRAGMA journal_mode = WAL;');
candidate.exec(SCHEMA);
db = candidate;
} catch (error) { candidate.close(); throw error; }
return db;
}