delete home cache before recreating

This commit is contained in:
Hongbo Wu
2024-05-29 17:33:01 +08:00
parent 91c2ae8d97
commit b6811ba957
2 changed files with 15 additions and 1 deletions

View File

@ -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<Section>,

View File

@ -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')