{"version":3,"file":"refresh-token.mjs","sources":["../../../../../src/server/helpers/refresh-token.ts"],"sourcesContent":["import {\n  HttpResponseError,\n  InvalidJwtError,\n  Session,\n} from '@shopify/shopify-api';\n\nimport {BasicParams} from '../types';\n\nexport default async function refreshToken(\n  params: BasicParams,\n  shop: string,\n  refreshToken: string,\n): Promise<Session> {\n  const {api} = params;\n  try {\n    const {session} = await api.auth.refreshToken({\n      shop,\n      refreshToken,\n    });\n    return session;\n  } catch (error) {\n    if (\n      error instanceof InvalidJwtError ||\n      (error instanceof HttpResponseError &&\n        error.response.code === 400 &&\n        error.response.body?.error === 'invalid_subject_token')\n    ) {\n      throw error;\n    }\n    throw new Response(undefined, {\n      status: 500,\n      statusText: 'Internal Server Error',\n    });\n  }\n}\n"],"names":[],"mappings":";;AAQe,eAAe,YAAY,CACxC,MAAmB,EACnB,IAAY,EACZ,YAAoB,EAAA;AAEpB,IAAA,MAAM,EAAC,GAAG,EAAC,GAAG,MAAM;AACpB,IAAA,IAAI;QACF,MAAM,EAAC,OAAO,EAAC,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,IAAI;YACJ,YAAY;AACb,SAAA,CAAC;AACF,QAAA,OAAO,OAAO;IAChB;IAAE,OAAO,KAAK,EAAE;QACd,IACE,KAAK,YAAY,eAAe;aAC/B,KAAK,YAAY,iBAAiB;AACjC,gBAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG;gBAC3B,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,KAAK,uBAAuB,CAAC,EACzD;AACA,YAAA,MAAM,KAAK;QACb;AACA,QAAA,MAAM,IAAI,QAAQ,CAAC,SAAS,EAAE;AAC5B,YAAA,MAAM,EAAE,GAAG;AACX,YAAA,UAAU,EAAE,uBAAuB;AACpC,SAAA,CAAC;IACJ;AACF;;;;"}