core: usercache: broadcast check

This commit is contained in:
undefined committed 2021-08-08 19:52:04 +08:00
1 parent bbca622353
commit 5602fab01c
2 files changed
+4 -4

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "hydrooj",
"version": "2.32.7",
"version": "2.32.8",
"bin": "bin/hydrooj.js",
"main": "src/loader",
"module": "src/loader",
+3 -3
View File
@@ -21,9 +21,9 @@ const coll: Collection<Udoc> = db.collection('user');
const logger = new Logger('model/user');
const cache = new LRU<string, User>({ 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;