UNPKG

@shopify/shopify-app-remix

Version:

Shopify Remix - to simplify the building of Shopify Apps with Remix

42 lines (38 loc) 1.42 kB
'use strict'; var revokeScopes = require('./client/revoke-scopes.js'); var fetchScopesDetails = require('./client/fetch-scopes-details.js'); var query = require('./query.js'); function revokeScopesFactory(params, session, admin) { return async function revoke(scopes) { const { logger } = params; logger.debug('Revoke scopes: ', { shop: session.shop, scopes, }); await validateScopes(scopes); const revokeScopesResult = await revokeScopes.revokeScopes(admin, scopes); if (revokeScopesResult.userErrors?.length > 0) { logger.error('Failed to revoke scopes: ', { shop: session.shop, errors: revokeScopesResult.userErrors, }); throw new Response(JSON.stringify(revokeScopesResult.userErrors), { status: 422, headers: { 'Content-Type': 'application/json', }, }); } const scopesDetail = await fetchScopesDetails.fetchScopeDetail(admin); return { detail: query.mapFetchScopeDetail(scopesDetail), }; }; } async function validateScopes(scopes) { if (!scopes || scopes.length === 0) { throw new Response('No scopes provided', { status: 400 }); } } exports.revokeScopesFactory = revokeScopesFactory; //# sourceMappingURL=revoke.js.map