import { csvContext, csvPct, csvResponse, forbidden, unauthorized } from "@/features/reports/csv"; import { getPeopleAccountsReport } from "@/features/reports/service"; import { tr } from "@/i18n/tr"; import { csvMoney, toCsv } from "@/shared/csv"; /** GET /raporlar/kisi-hesap/csv?ay=YYYY-MM&tablo=kisi|hesap */ export async function GET(request: Request) { const c = await csvContext(request); if (!c) return unauthorized(); const r = await getPeopleAccountsReport(c.userId, c.householdId, c.month); if (!r) return forbidden(); const h = tr.reports.csvHeaders; if (c.params.get("tablo") === "hesap") return csvResponse( toCsv( h.accounts, r.accounts.map((a) => [ a.name, csvMoney(a.incomeMinor), csvMoney(a.expenseMinor), csvMoney(a.transferInMinor), csvMoney(a.transferOutMinor), csvMoney(a.netMinor), a.count, ]), ), tr.reports.csvFiles.accounts(r.month), ); return csvResponse( toCsv( h.people, r.people.map((p) => [p.name, csvMoney(p.expenseMinor), p.count, csvPct(p.sharePct)]), ), tr.reports.csvFiles.people(r.month), ); }