diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index a2f4decf..183811dc 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.32.7", + "version": "2.32.8", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/model/user.ts b/packages/hydrooj/src/model/user.ts index 521618e2..1918a3ad 100644 --- a/packages/hydrooj/src/model/user.ts +++ b/packages/hydrooj/src/model/user.ts @@ -21,9 +21,9 @@ const coll: Collection = db.collection('user'); const logger = new Logger('model/user'); const cache = new LRU({ max: 500, maxAge: 300 * 1000 }); -export function deleteUserCache(udoc: User | Udoc | string | undefined | null) { +export function deleteUserCache(udoc: User | Udoc | string | undefined | null, receiver = false) { if (!udoc) return; - bus.broadcast('user/delcache', JSON.stringify(udoc)); + if (!receiver) bus.broadcast('user/delcache', JSON.stringify(udoc)); if (typeof udoc === 'string') { for (const key of cache.keys().filter((k) => k.endsWith(`/${udoc}`))) { cache.del(key); @@ -35,7 +35,7 @@ export function deleteUserCache(udoc: User | Udoc | string | undefined | null) { } } } -bus.on('user/delcache', (content) => deleteUserCache(JSON.parse(content))); +bus.on('user/delcache', (content) => deleteUserCache(JSON.parse(content), true)); class User implements _User { _id: number;