route.ts 817 B

123456789101112131415161718192021222324252627
  1. import { getAccounts } from "@/lib/db/store";
  2. export async function GET() {
  3. const accountList = await getAccounts();
  4. return Response.json({
  5. data: accountList,
  6. total: accountList.length,
  7. summary: {
  8. totalBalance: accountList.reduce(
  9. (sum, a) => sum + parseFloat(a.balance as string),
  10. 0,
  11. ),
  12. byType: {
  13. bank: accountList
  14. .filter((a) => a.type === "bank")
  15. .reduce((sum, a) => sum + parseFloat(a.balance as string), 0),
  16. credit_card: accountList
  17. .filter((a) => a.type === "credit_card")
  18. .reduce((sum, a) => sum + parseFloat(a.balance as string), 0),
  19. cash: accountList
  20. .filter((a) => a.type === "cash")
  21. .reduce((sum, a) => sum + parseFloat(a.balance as string), 0),
  22. },
  23. },
  24. });
  25. }