UNPKG

@aajsa/moyasar-client

Version:

A lightweight and type-safe TypeScript client for interacting with Moyasar Payment Gateway APIs.

109 lines (107 loc) 3.49 kB
const require_rolldown_runtime = require('../_virtual/rolldown_runtime.cjs'); const require_common = require('./common.cjs'); const require_payment = require('./payment.cjs'); const zod_v4_mini = require_rolldown_runtime.__toESM(require("zod/v4-mini")); //#region src/schema/invoice.ts const InvoiceStatusEnum = zod_v4_mini.z.enum([ "initiated", "paid", "failed", "refunded", "canceled", "on_hold", "expired", "voided" ]); const InvoiceResponseSchema = zod_v4_mini.z.object({ id: zod_v4_mini.z.uuid(), status: InvoiceStatusEnum, amount: zod_v4_mini.z.number(), currency: zod_v4_mini.z.string().check(zod_v4_mini.z.length(3)), description: zod_v4_mini.z.string(), logo_url: zod_v4_mini.z.nullish(zod_v4_mini.z.url()), amount_format: zod_v4_mini.z.string(), url: zod_v4_mini.z.url(), callback_url: zod_v4_mini.z.nullish(zod_v4_mini.z.url()), expired_at: zod_v4_mini.z.nullish(zod_v4_mini.z.string()), created_at: zod_v4_mini.z.string(), updated_at: zod_v4_mini.z.string(), back_url: zod_v4_mini.z.nullish(zod_v4_mini.z.url()), success_url: zod_v4_mini.z.nullish(zod_v4_mini.z.url()), payments: require_payment.PaymentResponseSchema, metadata: zod_v4_mini.z.nullish(zod_v4_mini.z.record(zod_v4_mini.z.string(), zod_v4_mini.z.string())) }); const createInvoiceSchema = zod_v4_mini.z.object({ amount: zod_v4_mini.z.number(), currency: zod_v4_mini.z.string().check(zod_v4_mini.z.length(3)), description: zod_v4_mini.z.string(), callback_url: zod_v4_mini.z.url(), success_url: zod_v4_mini.z.url(), back_url: zod_v4_mini.z.url(), expired_at: zod_v4_mini.z.string() }); const createBulkInvoiceSchema = zod_v4_mini.z.array(zod_v4_mini.z.object({ amount: zod_v4_mini.z.number(), currency: zod_v4_mini.z.string().check(zod_v4_mini.z.length(3)), description: zod_v4_mini.z.string(), callback_url: zod_v4_mini.z.url(), success_url: zod_v4_mini.z.url(), back_url: zod_v4_mini.z.url(), expired_at: zod_v4_mini.z.string() })); const listInvoicesSchema = zod_v4_mini.z.nullish(zod_v4_mini.z.object({ id: zod_v4_mini.z.uuid(), page: zod_v4_mini.z.number(), status: InvoiceStatusEnum, "created[gt]": zod_v4_mini.z.string(), "created[lt]": zod_v4_mini.z.string(), metadata: zod_v4_mini.z.string() })); const updateInvoice = zod_v4_mini.z.partial(zod_v4_mini.z.object({ description: zod_v4_mini.z.string(), metadata: zod_v4_mini.z.record(zod_v4_mini.z.string(), zod_v4_mini.z.string()) })); const invoicesEndpoints = { getInvoiceId: { path: "/invoices/:id", method: "GET", params: require_common.paramPathIdSchema, output: InvoiceResponseSchema }, listInvoices: { path: "/invoices", method: "GET", query: listInvoicesSchema, output: zod_v4_mini.z.object({ invoices: zod_v4_mini.z.nullish(zod_v4_mini.z.array(InvoiceResponseSchema)), meta: require_common.MetaResponseSchema }) }, createInvoice: { path: "/invoices", method: "POST", input: createInvoiceSchema, output: InvoiceResponseSchema }, createBulkInvoice: { path: "/invoices/bulk", method: "POST", input: createBulkInvoiceSchema, output: zod_v4_mini.z.array(InvoiceResponseSchema) }, updateInvoice: { path: "/invoices/:id", method: "PUT", params: require_common.paramPathIdSchema, input: updateInvoice, output: InvoiceResponseSchema }, cancelInvoice: { path: "/invoices/:id/cancel", method: "POST", params: require_common.paramPathIdSchema, output: InvoiceResponseSchema } }; //#endregion exports.invoicesEndpoints = invoicesEndpoints;