UNPKG

autumn-js

Version:
96 lines (93 loc) 2.12 kB
import { addEntityRoutes } from "./chunk-HGB236VV.mjs"; import { addGenRoutes } from "./chunk-ZGI3AYWD.mjs"; import { addProductRoutes } from "./chunk-S46FBNO3.mjs"; import { addReferralRoutes } from "./chunk-NCJ2TKEX.mjs"; import { addAnalyticsRoutes } from "./chunk-TUGNGQW2.mjs"; import { withAuth } from "./chunk-UJBSJTAV.mjs"; import { fetchPricingTable } from "./chunk-UJN5NVTZ.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 = (options) => withAuth({ fn: async ({ autumn, customer_id, customer_data = {}, body }) => { let res = await autumn.customers.create({ id: customer_id, ...customer_data, ...sanitizeCustomerBody(body) }); return res; }, suppressLogs: options?.suppressLogs }); var getPricingTableHandler = (options) => withAuth({ fn: async ({ autumn, customer_id }) => { return await fetchPricingTable({ instance: autumn, params: { customer_id: customer_id || void 0 } }); }, requireCustomer: false, suppressLogs: options?.suppressLogs }); var createRouterWithOptions = (options) => { const router = createRouter(); addRoute(router, "POST", `${BASE_PATH}/cors`, { handler: () => { return { body: { message: "OK" }, statusCode: 200 }; } }); addRoute(router, "POST", `${BASE_PATH}/customers`, { handler: createCustomerHandler(options) }); addRoute(router, "GET", `${BASE_PATH}/components/pricing_table`, { handler: getPricingTableHandler(options), requireCustomer: false }); addGenRoutes(router, options); addEntityRoutes(router, options); addReferralRoutes(router, options); addProductRoutes(router, options); addAnalyticsRoutes(router, options); return router; }; export { createRouterWithOptions };