implement QuantumKVCache.setMany and QuantumKVCache.seleteMany
This commit is contained in:
parent
46a6612dc0
commit
207abaff88
7 changed files with 201 additions and 51 deletions
|
|
@ -17,7 +17,6 @@ import { InternalEventService } from './InternalEventService.js';
|
|||
|
||||
@Injectable()
|
||||
export class ChannelFollowingService implements OnModuleInit {
|
||||
// TODO check for regs
|
||||
public userFollowingChannelsCache: QuantumKVCache<Set<string>>;
|
||||
|
||||
constructor(
|
||||
|
|
|
|||
|
|
@ -265,7 +265,7 @@ export interface InternalEventTypes {
|
|||
unmute: { muterId: MiUser['id']; muteeId: MiUser['id']; };
|
||||
userListMemberAdded: { userListId: MiUserList['id']; memberId: MiUser['id']; };
|
||||
userListMemberRemoved: { userListId: MiUserList['id']; memberId: MiUser['id']; };
|
||||
quantumCacheUpdated: { name: string, key: string, op: 's' | 'd' };
|
||||
quantumCacheUpdated: { name: string, keys: string[], op: 's' | 'd' };
|
||||
}
|
||||
|
||||
type EventTypesToEventPayload<T> = EventUnionFromDictionary<UndefinedAsNullAll<SerializedAll<T>>>;
|
||||
|
|
|
|||
|
|
@ -70,16 +70,16 @@ export class UserListService implements OnApplicationShutdown, OnModuleInit {
|
|||
switch (type) {
|
||||
case 'userListMemberAdded': {
|
||||
const { userListId, memberId } = body;
|
||||
if (this.membersCache.has(userListId)) {
|
||||
const members = await this.membersCache.get(userListId);
|
||||
const members = this.membersCache.get(userListId);
|
||||
if (members) {
|
||||
members.add(memberId);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 'userListMemberRemoved': {
|
||||
const { userListId, memberId } = body;
|
||||
if (this.membersCache.has(userListId)) {
|
||||
const members = await this.membersCache.get(userListId);
|
||||
const members = this.membersCache.get(userListId);
|
||||
if (members) {
|
||||
members.delete(memberId);
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -43,8 +43,6 @@ export class UserMutingService {
|
|||
id: In(mutings.map(m => m.id)),
|
||||
});
|
||||
|
||||
await Promise.all(Array
|
||||
.from(new Set(mutings.map(m => m.muterId)))
|
||||
.map(muterId => this.cacheService.userMutingsCache.delete(muterId)));
|
||||
await this.cacheService.userMutingsCache.deleteMany(mutings.map(m => m.muterId));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -44,8 +44,6 @@ export class UserRenoteMutingService {
|
|||
id: In(mutings.map(m => m.id)),
|
||||
});
|
||||
|
||||
await Promise.all(Array
|
||||
.from(new Set(mutings.map(m => m.muterId)))
|
||||
.map(muterId => this.cacheService.renoteMutingsCache.delete(muterId)));
|
||||
await this.cacheService.renoteMutingsCache.deleteMany(mutings.map(m => m.muterId));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue