Disable chat deletion

This commit is contained in:
sevenhill
2026-07-06 22:46:55 +03:00
parent 52ae43c25d
commit 183ec8d90f
11 changed files with 95 additions and 253 deletions
+2 -25
View File
@@ -274,7 +274,7 @@ public sealed class ChatsController(
}
[HttpPost("delete")]
public async Task<IActionResult> DeleteChats(ChatBulkActionRequest request, CancellationToken cancellationToken)
public IActionResult DeleteChats(ChatBulkActionRequest request)
{
var chatIds = request.ChatIds.Distinct().ToArray();
if (chatIds.Length == 0)
@@ -282,30 +282,7 @@ public sealed class ChatsController(
return BadRequest("chatIds are required.");
}
var chats = await LoadChatsWithAttachmentsAsync(chatIds, cancellationToken);
if (chats.Count != chatIds.Length)
{
return NotFound();
}
var now = DateTimeOffset.UtcNow;
var files = AttachmentFiles(chats).ToArray();
foreach (var chat in chats)
{
db.Messages.RemoveRange(chat.Messages);
chat.DeletedAt ??= now;
chat.HistoryClearedAt = now;
chat.LastMessageAt = null;
chat.LastMessagePreview = null;
chat.UnreadCount = 0;
chat.UpdatedAt = now;
QueuePendingMaxAction(chat, ChatPendingMaxAction.DeleteChat, now);
}
await db.SaveChangesAsync(cancellationToken);
DeleteFiles(files);
await hubContext.Clients.All.SendAsync("ChatListInvalidated", cancellationToken);
return NoContent();
return BadRequest("Chat deletion is disabled because MAX does not remove chats from the web client.");
}
[HttpGet("{chatId:guid}/search")]