feat: add payment module
This commit is contained in:
12
modules/payment/routes/beneficiaries/:id/handle.ts
Normal file
12
modules/payment/routes/beneficiaries/:id/handle.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { NotFoundError } from "@platform/relay";
|
||||
|
||||
import { getBeneficiaryById } from "../../../repositories/beneficiary.ts";
|
||||
import route from "./spec.ts";
|
||||
|
||||
export default route.access("public").handle(async ({ params: { id } }) => {
|
||||
const beneficiary = await getBeneficiaryById(id);
|
||||
if (beneficiary === undefined) {
|
||||
return new NotFoundError();
|
||||
}
|
||||
return beneficiary;
|
||||
});
|
||||
8
modules/payment/routes/beneficiaries/:id/spec.ts
Normal file
8
modules/payment/routes/beneficiaries/:id/spec.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { route } from "@platform/relay";
|
||||
|
||||
import { BeneficiarySchema } from "../../../schemas/beneficiary.ts";
|
||||
|
||||
export default route
|
||||
.get("/api/v1/payment/beneficiaries/:id")
|
||||
.params({ id: BeneficiarySchema.shape._id })
|
||||
.response(BeneficiarySchema);
|
||||
4
modules/payment/routes/beneficiaries/create/handle.ts
Normal file
4
modules/payment/routes/beneficiaries/create/handle.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import { createBeneficiary } from "../../../repositories/beneficiary.ts";
|
||||
import route from "./spec.ts";
|
||||
|
||||
export default route.access("public").handle(async ({ body }) => createBeneficiary(body));
|
||||
5
modules/payment/routes/beneficiaries/create/spec.ts
Normal file
5
modules/payment/routes/beneficiaries/create/spec.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { route } from "@platform/relay";
|
||||
|
||||
import { BeneficiaryInsertSchema, BeneficiarySchema } from "../../../schemas/beneficiary.ts";
|
||||
|
||||
export default route.post("/api/v1/payment/beneficiaries").body(BeneficiaryInsertSchema).response(BeneficiarySchema);
|
||||
4
modules/payment/routes/beneficiaries/ledgers/handle.ts
Normal file
4
modules/payment/routes/beneficiaries/ledgers/handle.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import { getLedgersByBeneficiary } from "../../../repositories/ledger.ts";
|
||||
import route from "./spec.ts";
|
||||
|
||||
export default route.access("public").handle(async ({ params: { id } }) => getLedgersByBeneficiary(id));
|
||||
9
modules/payment/routes/beneficiaries/ledgers/spec.ts
Normal file
9
modules/payment/routes/beneficiaries/ledgers/spec.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { route } from "@platform/relay";
|
||||
import z from "zod";
|
||||
|
||||
import { LedgerSchema } from "../../../schemas/ledger.ts";
|
||||
|
||||
export default route
|
||||
.get("/api/v1/payment/beneficiaries/:id/ledgers")
|
||||
.params({ id: z.uuid() })
|
||||
.response(z.array(LedgerSchema));
|
||||
4
modules/payment/routes/beneficiaries/list/handle.ts
Normal file
4
modules/payment/routes/beneficiaries/list/handle.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
import { getBeneficiaries } from "../../../repositories/beneficiary.ts";
|
||||
import route from "./spec.ts";
|
||||
|
||||
export default route.access("public").handle(async () => getBeneficiaries());
|
||||
6
modules/payment/routes/beneficiaries/list/spec.ts
Normal file
6
modules/payment/routes/beneficiaries/list/spec.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { route } from "@platform/relay";
|
||||
import z from "zod";
|
||||
|
||||
import { BeneficiarySchema } from "../../../schemas/beneficiary.ts";
|
||||
|
||||
export default route.get("/api/v1/payment/beneficiaries").response(z.array(BeneficiarySchema));
|
||||
Reference in New Issue
Block a user