diff --git a/packages/api/src/jobs/update_home.ts b/packages/api/src/jobs/update_home.ts index 68fe052c6..53dbc80e0 100644 --- a/packages/api/src/jobs/update_home.ts +++ b/packages/api/src/jobs/update_home.ts @@ -235,6 +235,17 @@ export const getHomeSections = async ( return sections } +export const deleteHome = async (userId: string) => { + const redisClient = redisDataSource.redisClient + if (!redisClient) { + throw new Error('Redis client not available') + } + + const key = redisKey(userId) + + await redisClient.del(key) +} + const appendSectionsToHome = async ( userId: string, sections: Array
, diff --git a/packages/api/src/resolvers/home/index.ts b/packages/api/src/resolvers/home/index.ts index cdd214d1e..1c1cb7249 100644 --- a/packages/api/src/resolvers/home/index.ts +++ b/packages/api/src/resolvers/home/index.ts @@ -9,7 +9,7 @@ import { RefreshHomeErrorCode, RefreshHomeSuccess, } from '../../generated/graphql' -import { getHomeSections } from '../../jobs/update_home' +import { deleteHome, getHomeSections } from '../../jobs/update_home' import { getJob } from '../../queue-processor' import { Merge } from '../../util' import { enqueueUpdateHomeJob, updateHomeJobId } from '../../utils/createTask' @@ -83,6 +83,9 @@ export const refreshHomeResolver = authorized< RefreshHomeSuccess, RefreshHomeError >(async (_, __, { uid, log }) => { + await deleteHome(uid) + log.info('Home cache deleted') + const existingJob = await getJob(updateHomeJobId(uid)) if (existingJob) { log.info('Update home job already enqueued')