UNPKG

autumn-js

Version:

Autumn JS Library

90 lines (87 loc) 1.86 kB
import { addProductRoutes } from "./chunk-5EKNB4IJ.mjs"; import { addReferralRoutes } from "./chunk-3OLXYDCU.mjs"; import { addEntityRoutes } from "./chunk-K7JGEYUX.mjs"; import { addGenRoutes } from "./chunk-HHMIVOXX.mjs"; import { withAuth } from "./chunk-5H6HVCOP.mjs"; import { fetchPricingTable } from "./chunk-IOSEAUDJ.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}/cors`, { handler: () => { return { body: { message: "OK" }, statusCode: 200 }; } }); 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); addProductRoutes(router); return router; }; export { createRouterWithOptions };