UNPKG

@shopify/shopify-app-remix

Version:

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

1 lines 2.97 kB
{"version":3,"file":"require.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/require.ts"],"sourcesContent":["import {\n BillingCheckResponseObject,\n HttpResponseError,\n Session,\n} from '@shopify/shopify-api';\n\nimport type {BasicParams} from '../../../types';\nimport type {AppConfigArg} from '../../../config-types';\nimport {redirectToAuthPage} from '../helpers';\nimport {invalidateAccessToken} from '../../helpers';\n\nimport type {RequireBillingOptions} from './types';\n\nexport function requireBillingFactory<Config extends AppConfigArg>(\n params: BasicParams,\n request: Request,\n session: Session,\n) {\n const {api, logger} = params;\n\n return async function requireBilling(options: RequireBillingOptions<Config>) {\n const logContext = {\n shop: session.shop,\n plans: options.plans,\n isTest: options.isTest,\n };\n\n logger.debug('Checking billing for the shop', logContext);\n\n let data: BillingCheckResponseObject;\n try {\n data = await api.billing.check({\n session,\n plans: options.plans as string[],\n isTest: options.isTest,\n returnObject: true,\n });\n } catch (error) {\n if (error instanceof HttpResponseError && error.response.code === 401) {\n logger.debug('API token was invalid, redirecting to OAuth', logContext);\n\n await invalidateAccessToken(params, session);\n throw await redirectToAuthPage(params, request, session.shop);\n } else {\n throw error;\n }\n }\n\n if (!data.hasActivePayment) {\n logger.debug('Billing check failed', logContext);\n throw await options.onFailure(new Error('Billing check failed'));\n }\n\n logger.debug('Billing check succeeded', logContext);\n\n return data;\n };\n}\n"],"names":[],"mappings":";;;;;;SAagB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM;AAE5B,IAAA,OAAO,eAAe,cAAc,CAAC,OAAsC,EAAA;AACzE,QAAA,MAAM,UAAU,GAAG;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB;AAED,QAAA,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,UAAU,CAAC;AAEzD,QAAA,IAAI,IAAgC;AACpC,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7B,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,KAAiB;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;AACtB,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA,CAAC;QACJ;QAAE,OAAO,KAAK,EAAE;AACd,YAAA,IAAI,KAAK,YAAY,iBAAiB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AACrE,gBAAA,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,UAAU,CAAC;AAEvE,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC;gBAC5C,MAAM,MAAM,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;YAC/D;iBAAO;AACL,gBAAA,MAAM,KAAK;YACb;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;AAC1B,YAAA,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC;YAChD,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAClE;AAEA,QAAA,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,UAAU,CAAC;AAEnD,QAAA,OAAO,IAAI;AACb,IAAA,CAAC;AACH;;;;"}