* Install upstash redis again - base of noficationSender * Setup email handler etc and use tasker * Remove logs * Sending emails and correct format and spacing in emails * Update email styles * Update email styles * add switch to enable feature * fix: reset tasker types - will fix in new PR * WIP: test suite * WIP: test suite * Add redis service and add WIP mock test * Add tests for redis service and fix lpush * More working tests * More working tests * fix: type error + typo * update export to match i18n next mock * (debug) push for debug * Fix: fixed hosting in mocks * Add common.json i18n * add better test descriptions * reset mocks after each test to allow concurancy * Remove redundant RedisService.test.ts * Rename and remove redundant isAdmin check * Rename to .d.ts * Add key versioning to constructRedisKey * Update packages/trpc/server/routers/viewer/slots/handleNotificationWhenNoSlots.ts Co-authored-by: Hariom Balhara <hariombalhara@gmail.com> * Update packages/trpc/server/routers/viewer/slots/handleNotificationWhenNoSlots.ts Co-authored-by: Hariom Balhara <hariombalhara@gmail.com> * Add try/catch * fix breaking when option === undefined * Add missing await to Promise.all * Rename data stored in redis to save space * Include thrown error in logs --------- Co-authored-by: Hariom Balhara <hariombalhara@gmail.com> Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
12 lines
393 B
TypeScript
12 lines
393 B
TypeScript
export interface IRedisService {
|
|
get: <TData>(key: string) => Promise<TData | null>;
|
|
|
|
set: <TData>(key: string, value: TData) => Promise<"OK" | TData | null>;
|
|
|
|
expire: (key: string, seconds: number) => Promise<0 | 1>;
|
|
|
|
lrange: <TResult = string>(key: string, start: number, end: number) => Promise<TResult[]>;
|
|
|
|
lpush: <TData>(key: string, ...elements: TData[]) => Promise<number>;
|
|
}
|