Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 6x 5x 5x 5x 6x | import { authProcedure } from "~web/handlers/trpc";
export const procedure = authProcedure
.meta({
title: "Get all debts",
description:
"Returns the current user's total debt amounts, summed per currency across all peers.",
})
.query(async ({ ctx }) => {
const { database } = ctx;
const debts = await database
.selectFrom("debts")
.where("debts.ownerUserId", "=", ctx.auth.userId)
.select([
"debts.currencyCode",
database.fn.sum<string>("debts.amount").as("sum"),
])
.orderBy("debts.currencyCode")
.groupBy(["debts.currencyCode"])
.execute();
return {
items: debts.map(({ currencyCode, sum }) => ({
currencyCode,
sum: Number(sum),
})),
};
});
|