UNPKG

@graphql-mesh/cache-redis

Version:
24 lines (23 loc) 1.19 kB
import type { Cluster, Redis, RedisOptions, StandaloneConnectionOptions } from 'ioredis'; import type { Logger, YamlConfig } from '@graphql-mesh/types'; export type IamAuthConfig = NonNullable<YamlConfig.RedisIamAuthConfig>; interface IamTokenConnectorOptions extends StandaloneConnectionOptions { tokenConnector: { redisRef: { current: Redis | null; }; getToken: () => Promise<string>; }; } export interface IamRedisOptions extends RedisOptions { tokenConnector: IamTokenConnectorOptions['tokenConnector']; } export declare function generateIamToken(cfg: IamAuthConfig): Promise<string>; export declare function buildIamRedisOptions(base: RedisOptions, cfg: IamAuthConfig, redisRef: { current: Redis | null; }): IamRedisOptions; export declare function setupIamAuthRefreshForStandalone(redisRef: { current: Redis | null; }, cfg: IamAuthConfig, username: string | undefined, logger?: Logger): ReturnType<typeof setInterval>; export declare function setupIamAuthForCluster(cluster: Cluster, redisOptions: RedisOptions, cfg: IamAuthConfig, username: string | undefined, logger?: Logger): Promise<ReturnType<typeof setInterval>>; export {};