UNPKG

@shopify/shopify-app-express

Version:

Shopify Express Middleware - to simplify the building of Shopify Apps with Express

1 lines 2.32 kB
{"version":3,"file":"app-installations.mjs","sources":["../../../src/app-installations.ts"],"sourcesContent":["import {Session} from '@shopify/shopify-api';\n\nimport {AppConfigInterface} from './config-types';\n\nexport class AppInstallations {\n private sessionStorage;\n\n constructor(config: AppConfigInterface) {\n if (!config.sessionStorage.findSessionsByShop) {\n throw new Error(\n 'To use this Express package, you must provide a session storage manager that implements findSessionsByShop',\n );\n }\n if (!config.sessionStorage.deleteSessions) {\n throw new Error(\n 'To use this Express package, you must provide a session storage manager that implements deleteSessions',\n );\n }\n this.sessionStorage = config.sessionStorage;\n }\n\n async includes(shopDomain: string): Promise<boolean> {\n const shopSessions =\n await this.sessionStorage.findSessionsByShop!(shopDomain);\n if (shopSessions.length > 0) {\n for (const session of shopSessions) {\n if (session.accessToken) return true;\n }\n }\n return false;\n }\n\n async delete(shopDomain: string): Promise<void> {\n const shopSessions =\n await this.sessionStorage.findSessionsByShop!(shopDomain);\n if (shopSessions.length > 0) {\n await this.sessionStorage.deleteSessions!(\n shopSessions.map((session: Session) => session.id),\n );\n }\n }\n}\n"],"names":[],"mappings":"MAIa,gBAAgB,CAAA;AACnB,IAAA,cAAc;AAEtB,IAAA,WAAA,CAAY,MAA0B,EAAA;AACpC,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE;AAC7C,YAAA,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G;QACH;AACA,QAAA,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE;AACzC,YAAA,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG;QACH;AACA,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc;IAC7C;IAEA,MAAM,QAAQ,CAAC,UAAkB,EAAA;QAC/B,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAmB,CAAC,UAAU,CAAC;AAC3D,QAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;gBAClC,IAAI,OAAO,CAAC,WAAW;AAAE,oBAAA,OAAO,IAAI;YACtC;QACF;AACA,QAAA,OAAO,KAAK;IACd;IAEA,MAAM,MAAM,CAAC,UAAkB,EAAA;QAC7B,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAmB,CAAC,UAAU,CAAC;AAC3D,QAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,MAAM,IAAI,CAAC,cAAc,CAAC,cAAe,CACvC,YAAY,CAAC,GAAG,CAAC,CAAC,OAAgB,KAAK,OAAO,CAAC,EAAE,CAAC,CACnD;QACH;IACF;AACD;;;;"}