{"version":3,"file":"request.mjs","sources":["../../../../../../../src/server/authenticate/admin/billing/request.ts"],"sourcesContent":["import {\n  BillingRequestResponseObject,\n  HttpResponseError,\n  Session,\n} from '@shopify/shopify-api';\n\nimport {AppConfigArg} from '../../../config-types';\nimport {BasicParams} from '../../../types';\nimport {\n  invalidateAccessToken,\n  respondToInvalidSessionToken,\n} from '../../helpers';\n\nimport {redirectOutOfApp} from './helpers';\nimport type {RequestBillingOptions} from './types';\n\nexport function requestBillingFactory<Config extends AppConfigArg>(\n  params: BasicParams,\n  request: Request,\n  session: Session,\n) {\n  return async function requestBilling({\n    plan,\n    isTest,\n    returnUrl,\n    ...overrides\n  }: RequestBillingOptions<Config>): Promise<never> {\n    const {api, logger} = params;\n\n    logger.info('Requesting billing', {\n      shop: session.shop,\n      plan,\n      isTest,\n      returnUrl,\n    });\n\n    let result: BillingRequestResponseObject;\n    try {\n      result = await api.billing.request({\n        plan: plan as string,\n        session,\n        isTest,\n        returnUrl,\n        returnObject: true,\n        ...overrides,\n      });\n    } catch (error) {\n      if (error instanceof HttpResponseError && error.response.code === 401) {\n        logger.debug('API token was invalid, responding to invalid session', {\n          shop: session.shop,\n        });\n\n        await invalidateAccessToken(params, session);\n\n        throw respondToInvalidSessionToken({\n          params,\n          request,\n          retryRequest: true,\n        });\n      }\n      throw error;\n    }\n\n    throw redirectOutOfApp(\n      params,\n      request,\n      result.confirmationUrl,\n      session.shop,\n    );\n  };\n}\n"],"names":[],"mappings":";;;;;;;SAgBgB,qBAAqB,CACnC,MAAmB,EACnB,OAAgB,EAChB,OAAgB,EAAA;AAEhB,IAAA,OAAO,eAAe,cAAc,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,SAAS,EACT,GAAG,SAAS,EACkB,EAAA;AAC9B,QAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM;AAE5B,QAAA,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI;YACJ,MAAM;YACN,SAAS;AACV,SAAA,CAAC;AAEF,QAAA,IAAI,MAAoC;AACxC,QAAA,IAAI;AACF,YAAA,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACjC,gBAAA,IAAI,EAAE,IAAc;gBACpB,OAAO;gBACP,MAAM;gBACN,SAAS;AACT,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,GAAG,SAAS;AACb,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,sDAAsD,EAAE;oBACnE,IAAI,EAAE,OAAO,CAAC,IAAI;AACnB,iBAAA,CAAC;AAEF,gBAAA,MAAM,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC;AAE5C,gBAAA,MAAM,4BAA4B,CAAC;oBACjC,MAAM;oBACN,OAAO;AACP,oBAAA,YAAY,EAAE,IAAI;AACnB,iBAAA,CAAC;YACJ;AACA,YAAA,MAAM,KAAK;QACb;AAEA,QAAA,MAAM,gBAAgB,CACpB,MAAM,EACN,OAAO,EACP,MAAM,CAAC,eAAe,EACtB,OAAO,CAAC,IAAI,CACb;AACH,IAAA,CAAC;AACH;;;;"}