Template
1
0

feat: update payment views

This commit is contained in:
2025-12-06 20:42:10 +01:00
parent ce4d5ba013
commit 37164b560f
49 changed files with 1826 additions and 624 deletions

View File

@@ -1,31 +1,29 @@
import { db } from "@platform/database";
import { NotFoundError } from "@platform/relay";
import route, { DashboardSchema } from "./spec.ts";
export default route.access("public").handle(async ({ params: { id } }) => {
const dashboard = await db.schema(DashboardSchema).one`
export default route.access("public").handle(async ({ params: { id: tenantId } }) => {
return db.schema(DashboardSchema).many`
SELECT
pb.*,
pb._system_from AS "createdAt",
NEST_MANY(
SELECT
pl.*,
pl._system_from AS "createdAt",
FROM
payment.ledger pl
WHERE
pl."beneficiaryId" = pb._id
ORDER BY
pl._id
COALESCE(
NEST_MANY(
SELECT
pl.*,
pl._system_from AS "createdAt"
FROM
payment.ledger pl
WHERE
pl."beneficiaryId" = pb._id
ORDER BY
pl._id
),
[] -- default to empty array
) AS ledgers
FROM
payment.beneficiary pb
WHERE
pb._id = ${id}
pb."tenantId" = ${tenantId}
`;
if (dashboard === undefined) {
return new NotFoundError("Beneficiary not found");
}
return dashboard;
});