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