{"version":3,"file":"merchant-custom-app.mjs","sources":["../../../../../../../src/server/authenticate/admin/strategies/merchant-custom-app.ts"],"sourcesContent":["import {Session, ShopifyError} from '@shopify/shopify-api';\n\nimport {AppConfigArg} from '../../../config-types';\nimport {BasicParams} from '../../../types';\nimport {HandleAdminClientError} from '../../../clients';\nimport {handleClientErrorFactory} from '../helpers';\n\nimport {\n  AuthorizationStrategy,\n  OnErrorOptions,\n  SessionContext,\n  AuthStrategyFactory,\n} from './types';\n\nexport const createMerchantCustomAuthStrategy: AuthStrategyFactory<any> = <\n  Config extends AppConfigArg,\n>(\n  params: BasicParams<Config['future']>,\n): AuthorizationStrategy => {\n  const {api, logger} = params;\n\n  async function authenticate(\n    _request: Request,\n    sessionContext: SessionContext,\n  ): Promise<Session | never> {\n    const {shop} = sessionContext;\n\n    logger.debug(\n      'Building session from configured access token for merchant custom app',\n      {shop},\n    );\n    const session = api.session.customAppSession(shop);\n\n    return session;\n  }\n\n  function handleClientError(request: Request): HandleAdminClientError {\n    return handleClientErrorFactory({\n      request,\n      onError: async ({error}: OnErrorOptions) => {\n        if (error.response.code === 401) {\n          logger.info(\n            'Request failed with 401. Review your API credentials or generate new tokens. https://shopify.dev/docs/apps/build/authentication-authorization/access-token-types/generate-app-access-tokens-admin#rotating-api-credentials-for-admin-created-apps ',\n          );\n          throw new ShopifyError(\n            'Unauthorized: Access token has been revoked.',\n          );\n        }\n      },\n    });\n  }\n\n  return {\n    authenticate,\n    handleClientError,\n  };\n};\n"],"names":[],"mappings":";;;;;AAcO,MAAM,gCAAgC,GAA6B,CAGxE,MAAqC,KACZ;AACzB,IAAA,MAAM,EAAC,GAAG,EAAE,MAAM,EAAC,GAAG,MAAM;AAE5B,IAAA,eAAe,YAAY,CACzB,QAAiB,EACjB,cAA8B,EAAA;AAE9B,QAAA,MAAM,EAAC,IAAI,EAAC,GAAG,cAAc;QAE7B,MAAM,CAAC,KAAK,CACV,uEAAuE,EACvE,EAAC,IAAI,EAAC,CACP;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;AAElD,QAAA,OAAO,OAAO;IAChB;IAEA,SAAS,iBAAiB,CAAC,OAAgB,EAAA;AACzC,QAAA,OAAO,wBAAwB,CAAC;YAC9B,OAAO;AACP,YAAA,OAAO,EAAE,OAAO,EAAC,KAAK,EAAiB,KAAI;gBACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,EAAE;AAC/B,oBAAA,MAAM,CAAC,IAAI,CACT,oPAAoP,CACrP;AACD,oBAAA,MAAM,IAAI,YAAY,CACpB,8CAA8C,CAC/C;gBACH;YACF,CAAC;AACF,SAAA,CAAC;IACJ;IAEA,OAAO;QACL,YAAY;QACZ,iBAAiB;KAClB;AACH;;;;"}