@shopify/shopify-app-session-storage-redis
Version:
Shopify App Session Storage for Redis
34 lines • 1.56 kB
TypeScript
import { RedisClientOptions, createClient } from 'redis';
import { Session } from '@shopify/shopify-api';
import { SessionStorage, SessionStorageMigratorOptions } from '@shopify/shopify-app-session-storage';
type RedisClient = ReturnType<typeof createClient>;
declare enum ShopifyStorageOption {
sessionKeyPrefix = "sessionKeyPrefix",
migratorOptions = "migratorOptions",
onError = "onError"
}
export interface RedisSessionStorageOptions extends RedisClientOptions {
[ShopifyStorageOption.sessionKeyPrefix]: string;
[ShopifyStorageOption.migratorOptions]?: SessionStorageMigratorOptions;
[ShopifyStorageOption.onError]?: (...args: any[]) => void;
}
export declare class RedisSessionStorage implements SessionStorage {
static withCredentials(host: string, db: number, username: string, password: string, opts: Partial<RedisSessionStorageOptions>): RedisSessionStorage;
readonly ready: Promise<void>;
private internalInit;
private options;
private client;
private migrator;
constructor(urlOrClient: URL | string | RedisClient, opts?: Partial<RedisSessionStorageOptions>);
storeSession(session: Session): Promise<boolean>;
loadSession(id: string): Promise<Session | undefined>;
deleteSession(id: string): Promise<boolean>;
deleteSessions(ids: string[]): Promise<boolean>;
findSessionsByShop(shop: string): Promise<Session[]>;
disconnect(): Promise<void>;
private addKeyToShopList;
private removeKeyFromShopList;
private init;
}
export {};
//# sourceMappingURL=redis.d.ts.map