@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
JavaScript
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