{"version":3,"file":"redirect-to-auth.mjs","sources":["../../../src/redirect-to-auth.ts"],"sourcesContent":["import {Shopify} from '@shopify/shopify-api';\nimport {Request, Response} from 'express';\n\nimport {RedirectToAuthParams} from './types';\nimport {redirectOutOfApp} from './redirect-out-of-app';\nimport {AppConfigInterface} from './config-types';\n\nexport async function redirectToAuth({\n  req,\n  res,\n  api,\n  config,\n  isOnline = false,\n}: RedirectToAuthParams) {\n  const shop = api.utils.sanitizeShop(req.query.shop as string);\n  if (!shop) {\n    config.logger.error('No shop provided to redirect to auth');\n    res.status(500);\n    res.send('No shop provided');\n    return;\n  }\n\n  if (req.query.embedded === '1') {\n    clientSideRedirect(api, config, req, res, shop);\n  } else {\n    await serverSideRedirect(api, config, req, res, shop, isOnline);\n  }\n}\n\nfunction clientSideRedirect(\n  api: Shopify,\n  config: AppConfigInterface,\n  req: Request,\n  res: Response,\n  shop: string,\n): void {\n  const host = api.utils.sanitizeHost(req.query.host as string);\n  if (!host) {\n    res.status(500);\n    res.send('No host provided');\n    return;\n  }\n\n  const redirectUriParams = new URLSearchParams({shop, host}).toString();\n  const redirectUri = `${api.config.hostScheme}://${api.config.hostName}${config.auth.path}?${redirectUriParams}`;\n\n  redirectOutOfApp({config, api})({req, res, redirectUri, shop});\n}\n\nasync function serverSideRedirect(\n  api: Shopify,\n  config: AppConfigInterface,\n  req: Request,\n  res: Response,\n  shop: string,\n  isOnline: boolean,\n): Promise<void> {\n  config.logger.debug(\n    `Redirecting to auth at ${config.auth.path}, with callback ${config.auth.callbackPath}`,\n    {shop, isOnline},\n  );\n\n  await api.auth.begin({\n    callbackPath: config.auth.callbackPath,\n    shop,\n    isOnline,\n    rawRequest: req,\n    rawResponse: res,\n  });\n}\n"],"names":[],"mappings":";;AAOO,eAAe,cAAc,CAAC,EACnC,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,QAAQ,GAAG,KAAK,GACK,EAAA;AACrB,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC;AAC3D,QAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;AACf,QAAA,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC5B;IACF;IAEA,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;QAC9B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;IACjD;SAAO;AACL,QAAA,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC;IACjE;AACF;AAEA,SAAS,kBAAkB,CACzB,GAAY,EACZ,MAA0B,EAC1B,GAAY,EACZ,GAAa,EACb,IAAY,EAAA;AAEZ,IAAA,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAc,CAAC;IAC7D,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;AACf,QAAA,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAC5B;IACF;AAEA,IAAA,MAAM,iBAAiB,GAAG,IAAI,eAAe,CAAC,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,QAAQ,EAAE;IACtE,MAAM,WAAW,GAAG,CAAA,EAAG,GAAG,CAAC,MAAM,CAAC,UAAU,CAAA,GAAA,EAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA,CAAA,EAAI,iBAAiB,CAAA,CAAE;AAE/G,IAAA,gBAAgB,CAAC,EAAC,MAAM,EAAE,GAAG,EAAC,CAAC,CAAC,EAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;AAChE;AAEA,eAAe,kBAAkB,CAC/B,GAAY,EACZ,MAA0B,EAC1B,GAAY,EACZ,GAAa,EACb,IAAY,EACZ,QAAiB,EAAA;IAEjB,MAAM,CAAC,MAAM,CAAC,KAAK,CACjB,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA,gBAAA,EAAmB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAA,CAAE,EACvF,EAAC,IAAI,EAAE,QAAQ,EAAC,CACjB;AAED,IAAA,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AACnB,QAAA,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY;QACtC,IAAI;QACJ,QAAQ;AACR,QAAA,UAAU,EAAE,GAAG;AACf,QAAA,WAAW,EAAE,GAAG;AACjB,KAAA,CAAC;AACJ;;;;"}