const fs = require('fs') const path = require('path') const dirPath = path.join(process.cwd(), 'src/source') const dbPath = path.join(dirPath, 'data.json') const defaultData = { total_requests: 0, success: 0, failed: 0, endpoints: {} } const ensureDir = () => { if (!fs.existsSync(dirPath)) { fs.mkdirSync(dirPath, { recursive: true }) } } const load = () => { ensureDir() if (!fs.existsSync(dbPath)) { fs.writeFileSync(dbPath, JSON.stringify(defaultData, null, 2)) return { ...defaultData } } try { const raw = fs.readFileSync(dbPath, 'utf8') return JSON.parse(raw) } catch (error) { return { ...defaultData } } } const save = (data) => { ensureDir() try { fs.writeFileSync(dbPath, JSON.stringify(data, null, 2)) } catch (error) { return false } } const addRequest = (endpoint) => { const data = load() data.total_requests += 1 data.endpoints[endpoint] = (data.endpoints[endpoint] || 0) + 1 save(data) } const addSuccess = () => { const data = load() data.success += 1 save(data) } const addFailed = () => { const data = load() data.failed += 1 save(data) } module.exports = { load, save, addRequest, addSuccess, addFailed }