UNPKG

autumn-js

Version:

Autumn JS Library

62 lines (59 loc) 1.29 kB
import { toBackendError, toBackendRes } from "./chunk-W63TY2DI.mjs"; // src/libraries/backend/utils/withAuth.ts var withAuth = ({ fn, requireCustomer = true }) => { return async ({ autumn, body, path, getCustomer, pathParams, searchParams }) => { let authResult = await getCustomer(); let customerId = authResult?.customerId; if (!customerId && requireCustomer) { if (body?.errorOnNotFound === false) { return toBackendError({ path, message: "No customer ID found", code: "no_customer_id", statusCode: 202 }); } else { return toBackendError({ path, message: "No customer ID found", code: "no_customer_id", statusCode: 401 }); } } let cusData = authResult?.customerData || body?.customer_data; try { let res = await fn({ body, autumn, customer_id: customerId, customer_data: cusData, pathParams, searchParams }); return toBackendRes({ res }); } catch (error) { return toBackendError({ path, message: error.message || "unknown error", code: "internal_error" }); } }; }; export { withAuth };