account specific budget queries
This commit is contained in:
@@ -26,12 +26,19 @@ export default async function BudgetsPage({ searchParams }: { searchParams: Sear
|
|||||||
orderBy: { createdAt: 'asc' },
|
orderBy: { createdAt: 'asc' },
|
||||||
}),
|
}),
|
||||||
prisma.$queryRaw<{ budgetId: string; total: bigint }[]>`
|
prisma.$queryRaw<{ budgetId: string; total: bigint }[]>`
|
||||||
SELECT t."budgetId", COALESCE(SUM(t."amountCents"), 0)::bigint AS total
|
SELECT t."budgetId",
|
||||||
|
COALESCE(SUM(
|
||||||
|
CASE
|
||||||
|
WHEN a.type = 'CREDIT_CARD' AND t.type = 'CREDIT' THEN t."amountCents"
|
||||||
|
WHEN a.type = 'CREDIT_CARD' AND t.type = 'DEBIT' THEN -t."amountCents"
|
||||||
|
WHEN a.type = 'BANK' AND t.type = 'DEBIT' THEN t."amountCents"
|
||||||
|
ELSE -t."amountCents"
|
||||||
|
END
|
||||||
|
), 0)::bigint AS total
|
||||||
FROM "Transaction" t
|
FROM "Transaction" t
|
||||||
JOIN "Account" a ON t."accountId" = a.id
|
JOIN "Account" a ON t."accountId" = a.id
|
||||||
WHERE a."userId" = ${userId}
|
WHERE a."userId" = ${userId}
|
||||||
AND t."budgetId" IS NOT NULL
|
AND t."budgetId" IS NOT NULL
|
||||||
AND t.type = 'DEBIT'
|
|
||||||
AND t.date >= ${start}
|
AND t.date >= ${start}
|
||||||
AND t.date <= ${end}
|
AND t.date <= ${end}
|
||||||
GROUP BY t."budgetId"
|
GROUP BY t."budgetId"
|
||||||
|
|||||||
@@ -41,12 +41,19 @@ export default async function DashboardPage({ searchParams }: { searchParams: Se
|
|||||||
orderBy: { name: 'asc' },
|
orderBy: { name: 'asc' },
|
||||||
}),
|
}),
|
||||||
prisma.$queryRaw<{ budgetId: string; total: bigint }[]>`
|
prisma.$queryRaw<{ budgetId: string; total: bigint }[]>`
|
||||||
SELECT t."budgetId", COALESCE(SUM(t."amountCents"), 0)::bigint AS total
|
SELECT t."budgetId",
|
||||||
|
COALESCE(SUM(
|
||||||
|
CASE
|
||||||
|
WHEN a.type = 'CREDIT_CARD' AND t.type = 'CREDIT' THEN t."amountCents"
|
||||||
|
WHEN a.type = 'CREDIT_CARD' AND t.type = 'DEBIT' THEN -t."amountCents"
|
||||||
|
WHEN a.type = 'BANK' AND t.type = 'DEBIT' THEN t."amountCents"
|
||||||
|
ELSE -t."amountCents"
|
||||||
|
END
|
||||||
|
), 0)::bigint AS total
|
||||||
FROM "Transaction" t
|
FROM "Transaction" t
|
||||||
JOIN "Account" a ON t."accountId" = a.id
|
JOIN "Account" a ON t."accountId" = a.id
|
||||||
WHERE a."userId" = ${userId}
|
WHERE a."userId" = ${userId}
|
||||||
AND t."budgetId" IS NOT NULL
|
AND t."budgetId" IS NOT NULL
|
||||||
AND t.type = 'DEBIT'
|
|
||||||
AND t.date >= ${start}
|
AND t.date >= ${start}
|
||||||
AND t.date <= ${end}
|
AND t.date <= ${end}
|
||||||
GROUP BY t."budgetId"
|
GROUP BY t."budgetId"
|
||||||
|
|||||||
Reference in New Issue
Block a user