1
0
mirror of https://github.com/elk-zone/elk synced 2024-11-23 22:56:09 +09:00

fix: use user id in cache key (#1139)

This commit is contained in:
Daniel Roe 2023-01-14 21:56:47 +00:00 committed by GitHub
parent 5f7feac96b
commit 9a8e645e16
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,7 +19,8 @@ function removeCached(key: string) {
export function fetchStatus(id: string, force = false): Promise<mastodon.v1.Status> {
const server = currentServer.value
const key = `${server}:status:${id}`
const userId = currentUser.value?.account.id
const key = `${server}:${userId}:status:${id}`
const cached = cache.get(key)
if (cached && !force)
return cached
@ -37,7 +38,8 @@ export function fetchAccountById(id?: string | null): Promise<mastodon.v1.Accoun
return Promise.resolve(null)
const server = currentServer.value
const key = `${server}:account:${id}`
const userId = currentUser.value?.account.id
const key = `${server}:${userId}:account:${id}`
const cached = cache.get(key)
if (cached)
return cached
@ -56,7 +58,8 @@ export function fetchAccountById(id?: string | null): Promise<mastodon.v1.Accoun
export async function fetchAccountByHandle(acct: string): Promise<mastodon.v1.Account> {
const server = currentServer.value
const key = `${server}:account:${acct}`
const userId = currentUser.value?.account.id
const key = `${server}:${userId}:account:${acct}`
const cached = cache.get(key)
if (cached)
return cached
@ -82,14 +85,17 @@ export function useAccountById(id?: string | null) {
}
export function cacheStatus(status: mastodon.v1.Status, server = currentServer.value, override?: boolean) {
setCached(`${server}:status:${status.id}`, status, override)
const userId = currentUser.value?.account.id
setCached(`${server}:${userId}:status:${status.id}`, status, override)
}
export function removeCachedStatus(id: string, server = currentServer.value) {
removeCached(`${server}:status:${id}`)
const userId = currentUser.value?.account.id
removeCached(`${server}:${userId}:status:${id}`)
}
export function cacheAccount(account: mastodon.v1.Account, server = currentServer.value, override?: boolean) {
setCached(`${server}:account:${account.id}`, account, override)
setCached(`${server}:account:${account.acct}`, account, override)
const userId = currentUser.value?.account.id
setCached(`${server}:${userId}:account:${account.id}`, account, override)
setCached(`${server}:${userId}:account:${account.acct}`, account, override)
}