@shopify/shopify-app-react-router
Version:
Shopify React Router - to simplify the building of Shopify Apps with React Router
45 lines (41 loc) • 1.75 kB
JavaScript
;
var shopifyApi = require('@shopify/shopify-api');
require('../../../types.js');
var respondToInvalidSessionToken = require('../../helpers/respond-to-invalid-session-token.js');
var invalidateAccessToken = require('../../helpers/invalidate-access-token.js');
require('isbot');
var helpers = require('./helpers.js');
function updateUsageCappedAmountFactory(params, request, session) {
return async function updateUsageCappedAmount(options) {
const { api, logger } = params;
logger.debug('Updating usage subscription capped amount', {
shop: session.shop,
...options,
});
let result;
try {
result = await api.billing.updateUsageCappedAmount({
session,
subscriptionLineItemId: options.subscriptionLineItemId,
cappedAmount: options.cappedAmount,
});
}
catch (error) {
if (error instanceof shopifyApi.HttpResponseError && error.response.code === 401) {
logger.debug('API token was invalid, responding to invalid session', {
shop: session.shop,
});
await invalidateAccessToken.invalidateAccessToken(params, session);
throw respondToInvalidSessionToken.respondToInvalidSessionToken({
params,
request,
retryRequest: true,
});
}
throw error;
}
throw helpers.redirectOutOfApp(params, request, result.confirmationUrl, session.shop);
};
}
exports.updateUsageCappedAmountFactory = updateUsageCappedAmountFactory;
//# sourceMappingURL=update-usage-subscription-capped-amount.js.map