autumn-js
Version:
Autumn JS Library
76 lines (73 loc) • 1.59 kB
JavaScript
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
};