UNPKG

@shopify/shopify-app-react-router

Version:

Shopify React Router - to simplify the building of Shopify Apps with React Router

38 lines (35 loc) 1.36 kB
import { HttpResponseError } from '@shopify/shopify-api'; import '../../../types.mjs'; import { respondToInvalidSessionToken } from '../../helpers/respond-to-invalid-session-token.mjs'; import { invalidateAccessToken } from '../../helpers/invalidate-access-token.mjs'; import 'isbot'; function checkBillingFactory(params, request, session) { return async function checkBilling(options = {}) { const { api, logger } = params; logger.debug('Checking billing plans', { shop: session.shop, ...options }); try { return await api.billing.check({ session, plans: options.plans, isTest: options.isTest, returnObject: true, }); } catch (error) { if (error instanceof HttpResponseError && error.response.code === 401) { logger.debug('API token was invalid, responding to invalid session', { shop: session.shop, }); await invalidateAccessToken(params, session); throw respondToInvalidSessionToken({ params, request, retryRequest: true, }); } throw error; } }; } export { checkBillingFactory }; //# sourceMappingURL=check.mjs.map