UNPKG

autumn-js

Version:
161 lines (158 loc) 3.46 kB
import { withAuth } from "./chunk-UJBSJTAV.mjs"; import { BASE_PATH } from "./chunk-KSG3E4Q2.mjs"; // src/libraries/backend/routes/genRoutes.ts import { addRoute } from "rou3"; var sanitizeBody = (body) => { const bodyCopy = { ...body }; delete bodyCopy.customer_id; delete bodyCopy.customer_data; return bodyCopy; }; var checkoutHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, customer_data, body }) => { const result = await autumn.checkout({ ...sanitizeBody(body), customer_id, customer_data }); return result; }, suppressLogs: options?.suppressLogs }); var attachHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, customer_data, body }) => { console.log("Body: ", body); console.log("Customer ID: ", customer_id); return await autumn.attach({ ...sanitizeBody(body), customer_id, customer_data }); }, suppressLogs: options?.suppressLogs }); var setupPaymentHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, customer_data, body }) => { return await autumn.setupPayment({ ...sanitizeBody(body), customer_id, customer_data }); }, suppressLogs: options?.suppressLogs }); var cancelHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, body }) => { return await autumn.cancel({ ...sanitizeBody(body), customer_id }); }, suppressLogs: options?.suppressLogs }); var checkHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, customer_data, body }) => { const result = await autumn.check({ ...sanitizeBody(body), customer_id, customer_data }); return result; }, suppressLogs: options?.suppressLogs }); var trackHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, customer_data, body }) => { return await autumn.track({ ...sanitizeBody(body), customer_id, customer_data }); }, suppressLogs: options?.suppressLogs }); var openBillingPortalHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, body }) => { return await autumn.customers.billingPortal(customer_id, body); }, suppressLogs: options?.suppressLogs }); var queryHandler = (options) => withAuth({ fn: async ({ autumn, customer_id, body }) => { return await autumn.query({ ...sanitizeBody(body), customer_id }); }, suppressLogs: options?.suppressLogs }); var addGenRoutes = (router, options) => { addRoute(router, "POST", `${BASE_PATH}/checkout`, { handler: checkoutHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/attach`, { handler: attachHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/cancel`, { handler: cancelHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/check`, { handler: checkHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/track`, { handler: trackHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/billing_portal`, { handler: openBillingPortalHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/setup_payment`, { handler: setupPaymentHandler(options) }); addRoute(router, "POST", `${BASE_PATH}/query`, { handler: queryHandler(options) }); }; export { addGenRoutes };