UNPKG

@shopify/shopify-app-remix

Version:

Shopify Remix - to simplify the building of Shopify Apps with Remix

1 lines 1.51 kB
{"version":3,"file":"ensure-offline-token-is-not-expired.mjs","sources":["../../../../../src/server/helpers/ensure-offline-token-is-not-expired.ts"],"sourcesContent":["import {Session} from '@shopify/shopify-api';\n\nimport {AppDistribution, BasicParams} from '../types';\n\nimport refreshToken from './refresh-token';\n\n// 5 minutes\nexport const WITHIN_MILLISECONDS_OF_EXPIRY = 5 * 60 * 1000;\n\nexport async function ensureOfflineTokenIsNotExpired(\n session: Session,\n params: BasicParams,\n shop: string,\n) {\n const {config} = params;\n if (\n config.future?.expiringOfflineAccessTokens &&\n session.isExpired(WITHIN_MILLISECONDS_OF_EXPIRY) &&\n config.distribution !== AppDistribution.ShopifyAdmin &&\n session.refreshToken\n ) {\n const offlineSession = await refreshToken(\n params,\n shop,\n session.refreshToken,\n );\n\n await config.sessionStorage!.storeSession(offlineSession);\n return offlineSession;\n }\n return session;\n}\n"],"names":[],"mappings":";;;AAMA;MACa,6BAA6B,GAAG,CAAC,GAAG,EAAE,GAAG;AAE/C,eAAe,8BAA8B,CAClD,OAAgB,EAChB,MAAmB,EACnB,IAAY,EAAA;AAEZ,IAAA,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM;AACvB,IAAA,IACE,MAAM,CAAC,MAAM,EAAE,2BAA2B;AAC1C,QAAA,OAAO,CAAC,SAAS,CAAC,6BAA6B,CAAC;AAChD,QAAA,MAAM,CAAC,YAAY,KAAK,eAAe,CAAC,YAAY;QACpD,OAAO,CAAC,YAAY,EACpB;AACA,QAAA,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,MAAM,EACN,IAAI,EACJ,OAAO,CAAC,YAAY,CACrB;QAED,MAAM,MAAM,CAAC,cAAe,CAAC,YAAY,CAAC,cAAc,CAAC;AACzD,QAAA,OAAO,cAAc;IACvB;AACA,IAAA,OAAO,OAAO;AAChB;;;;"}