fix user silence not saving

This commit is contained in:
Hazelnoot 2025-10-22 16:43:26 -04:00
parent a8e3d19c5c
commit 94c4b401e6
2 changed files with 8 additions and 10 deletions

View file

@ -10,7 +10,7 @@ import { DI } from '@/di-symbols.js';
import { RoleService } from '@/core/RoleService.js'; import { RoleService } from '@/core/RoleService.js';
import { CacheService } from '@/core/CacheService.js'; import { CacheService } from '@/core/CacheService.js';
import { ModerationLogService } from '@/core/ModerationLogService.js'; import { ModerationLogService } from '@/core/ModerationLogService.js';
import { GlobalEventService } from '@/core/GlobalEventService.js'; import { InternalEventService } from '@/global/InternalEventService.js';
export const meta = { export const meta = {
tags: ['admin'], tags: ['admin'],
@ -36,7 +36,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
private readonly cacheService: CacheService, private readonly cacheService: CacheService,
private readonly moderationLogService: ModerationLogService, private readonly moderationLogService: ModerationLogService,
private readonly roleService: RoleService, private readonly roleService: RoleService,
private readonly globalEventService: GlobalEventService, private readonly internalEventService: InternalEventService,
) { ) {
super(meta, paramDef, async (ps, me) => { super(meta, paramDef, async (ps, me) => {
const user = await this.cacheService.findUserById(ps.userId); const user = await this.cacheService.findUserById(ps.userId);
@ -47,11 +47,10 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
if (user.isSilenced) return; if (user.isSilenced) return;
await this.usersRepository.update(user.id, { await this.usersRepository.update({ id: user.id }, {
isSilenced: true, isSilenced: true,
}); });
await this.internalEventService.emit(user.host == null ? 'localUserUpdated' : 'remoteUserUpdated', {
this.globalEventService.publishInternalEvent(user.host == null ? 'localUserUpdated' : 'remoteUserUpdated', {
id: user.id, id: user.id,
}); });

View file

@ -9,7 +9,7 @@ import type { UsersRepository } from '@/models/_.js';
import { DI } from '@/di-symbols.js'; import { DI } from '@/di-symbols.js';
import { ModerationLogService } from '@/core/ModerationLogService.js'; import { ModerationLogService } from '@/core/ModerationLogService.js';
import { CacheService } from '@/core/CacheService.js'; import { CacheService } from '@/core/CacheService.js';
import { GlobalEventService } from '@/core/GlobalEventService.js'; import { InternalEventService } from '@/global/InternalEventService.js';
export const meta = { export const meta = {
tags: ['admin'], tags: ['admin'],
@ -34,18 +34,17 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
private readonly usersRepository: UsersRepository, private readonly usersRepository: UsersRepository,
private readonly cacheService: CacheService, private readonly cacheService: CacheService,
private readonly moderationLogService: ModerationLogService, private readonly moderationLogService: ModerationLogService,
private readonly globalEventService: GlobalEventService, private readonly internalEventService: InternalEventService,
) { ) {
super(meta, paramDef, async (ps, me) => { super(meta, paramDef, async (ps, me) => {
const user = await this.cacheService.findUserById(ps.userId); const user = await this.cacheService.findUserById(ps.userId);
if (!user.isSilenced) return; if (!user.isSilenced) return;
await this.usersRepository.update(user.id, { await this.usersRepository.update({ id: user.id }, {
isSilenced: false, isSilenced: false,
}); });
await this.internalEventService.emit(user.host == null ? 'localUserUpdated' : 'remoteUserUpdated', {
this.globalEventService.publishInternalEvent(user.host == null ? 'localUserUpdated' : 'remoteUserUpdated', {
id: user.id, id: user.id,
}); });