UNPKG

@redwoodjs-stripe/api

Version:

API-side code for RedwoodJS-Stripe projects

42 lines (41 loc) 1.23 kB
import { deepOmitNils } from "../../lib/deepOmitNils.js"; import { lastStripeObject } from "../../lib/lastStripeObject.js"; import { nonNilAssertionError } from "../../lib/nonNilAssertionError.js"; import { parseStripeResponse } from "../../lib/parseStripeResponse.js"; import { stripe } from "../../lib/stripe.js"; const stripeCustomerSearch = async ({ query }) => { const customer = await stripe.customers.search({ query: query ?? "" }); return parseStripeResponse(lastStripeObject(customer.data)); }; const retrieveStripeCustomer = async ({ data }) => { const { id, addProps } = data ?? {}; if (id == null) { throw nonNilAssertionError("retrieveStripeCustomer:id", data); } const customer = await stripe.customers.retrieve( id, deepOmitNils(addProps) ?? {} ); return parseStripeResponse(customer); }; const createStripeCustomer = async ({ data }) => { const params = deepOmitNils(data) ?? {}; if (params.name == null) { throw nonNilAssertionError("createStripeCustomer:name", params); } const newCustomer = await stripe.customers.create(params); return parseStripeResponse(newCustomer); }; export { createStripeCustomer, retrieveStripeCustomer, stripeCustomerSearch };