UNPKG

autumn-js

Version:

Autumn JS Library

76 lines (73 loc) 1.59 kB
import { addEntityRoutes } from "./chunk-QXJ7YDTB.mjs"; import { addGenRoutes } from "./chunk-NDN25XDG.mjs"; import { addReferralRoutes } from "./chunk-NDS3EHT3.mjs"; import { withAuth } from "./chunk-C2YFOJYP.mjs"; import { fetchPricingTable } from "./chunk-W63TY2DI.mjs"; import { BASE_PATH } from "./chunk-KSG3E4Q2.mjs"; // src/libraries/backend/routes/backendRouter.ts import { addRoute, createRouter } from "rou3"; var sanitizeCustomerBody = (body) => { let bodyCopy = { ...body }; delete bodyCopy.id; delete bodyCopy.name; delete bodyCopy.email; return bodyCopy; }; var createCustomerHandler = withAuth({ fn: async ({ autumn, customer_id, customer_data = {}, body }) => { let res = await autumn.customers.create({ id: customer_id, ...customer_data, ...sanitizeCustomerBody(body) }); return res; } }); var getPricingTableHandler = withAuth({ fn: async ({ autumn, customer_id }) => { return await fetchPricingTable({ instance: autumn, params: { customer_id: customer_id || void 0 } }); }, requireCustomer: false }); var createRouterWithOptions = () => { const router = createRouter(); addRoute(router, "POST", `${BASE_PATH}/customers`, { handler: createCustomerHandler }); addRoute(router, "GET", `${BASE_PATH}/components/pricing_table`, { handler: getPricingTableHandler, requireCustomer: false }); addGenRoutes(router); addEntityRoutes(router); addReferralRoutes(router); return router; }; export { createRouterWithOptions };