@shopify/shopify-app-session-storage-memory
Version:
Shopify App Session Storage for Memory
35 lines (28 loc) • 967 B
text/typescript
import {Session} from '@shopify/shopify-api';
import {SessionStorage} from '@shopify/shopify-app-session-storage';
export class MemorySessionStorage implements SessionStorage {
private sessions: Record<string, Session> = {};
public async storeSession(session: Session): Promise<boolean> {
this.sessions[session.id] = session;
return true;
}
public async loadSession(id: string): Promise<Session | undefined> {
return this.sessions[id] || undefined;
}
public async deleteSession(id: string): Promise<boolean> {
if (this.sessions[id]) {
delete this.sessions[id];
}
return true;
}
public async deleteSessions(ids: string[]): Promise<boolean> {
ids.forEach((id) => delete this.sessions[id]);
return true;
}
public async findSessionsByShop(shop: string): Promise<Session[]> {
const results = Object.values(this.sessions).filter(
(session) => session.shop === shop,
);
return results;
}
}