{"version":3,"file":"validate-shop-and-host-params.mjs","sources":["../../../../../../../src/server/authenticate/admin/helpers/validate-shop-and-host-params.ts"],"sourcesContent":["import {redirect} from 'react-router';\n\nimport {BasicParams, AppDistribution} from '../../../types';\n\nexport function validateShopAndHostParams(\n  params: BasicParams,\n  request: Request,\n) {\n  const {api, config, logger} = params;\n\n  if (config.distribution !== AppDistribution.ShopifyAdmin) {\n    const url = new URL(request.url);\n    const shop = api.utils.sanitizeShop(url.searchParams.get('shop')!);\n    if (!shop) {\n      logger.debug('Missing or invalid shop, redirecting to login path', {\n        shop,\n      });\n      throw redirectToLoginPath(request, params);\n    }\n\n    const host = api.utils.sanitizeHost(url.searchParams.get('host')!);\n    if (!host) {\n      logger.debug('Invalid host, redirecting to login path', {\n        shop,\n        host: url.searchParams.get('host'),\n      });\n      throw redirectToLoginPath(request, params);\n    }\n  }\n}\n\nfunction redirectToLoginPath(request: Request, params: BasicParams): never {\n  const {config, logger} = params;\n\n  const {pathname} = new URL(request.url);\n  if (pathname.endsWith(config.auth.loginPath)) {\n    const message =\n      `Detected call to shopify.authenticate.admin() from configured login path ` +\n      `('${config.auth.loginPath}'), please make sure to call shopify.login() from that route instead.`;\n\n    logger.debug(message);\n    throw new Response(message, {status: 500});\n  }\n\n  throw redirect(config.auth.loginPath);\n}\n"],"names":[],"mappings":";;;AAIM,SAAU,yBAAyB,CACvC,MAAmB,EACnB,OAAgB,EAAA;IAEhB,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;IAEpC,IAAI,MAAM,CAAC,YAAY,KAAK,eAAe,CAAC,YAAY,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AAChC,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE;gBACjE,IAAI;AACL,aAAA,CAAC;AACF,YAAA,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5C;AAEA,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QAClE,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACtD,IAAI;gBACJ,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AACnC,aAAA,CAAC;AACF,YAAA,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC;QAC5C;IACF;AACF;AAEA,SAAS,mBAAmB,CAAC,OAAgB,EAAE,MAAmB,EAAA;AAChE,IAAA,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;IAE/B,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QAC5C,MAAM,OAAO,GACX,CAAA,yEAAA,CAA2E;AAC3E,YAAA,CAAA,EAAA,EAAK,MAAM,CAAC,IAAI,CAAC,SAAS,uEAAuE;AAEnG,QAAA,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QACrB,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC;IAC5C;IAEA,MAAM,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACvC;;;;"}