Compare commits
	
		
			2 Commits
		
	
	
		
			554f73b550
			...
			a6dfe8712c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| a6dfe8712c | |||
| 973b2f81ea | 
| @@ -428,9 +428,30 @@ public class ChatRoomController( | ||||
|             ResourceId = chatRoomResourceId | ||||
|         }); | ||||
|  | ||||
|         db.ChatRooms.Remove(chatRoom); | ||||
|         await db.SaveChangesAsync(); | ||||
|         await using var transaction = await db.Database.BeginTransactionAsync(); | ||||
|  | ||||
|         try | ||||
|         { | ||||
|             var now = SystemClock.Instance.GetCurrentInstant(); | ||||
|             await db.ChatMessages | ||||
|                 .Where(m => m.ChatRoomId == id) | ||||
|                 .ExecuteUpdateAsync(s => s.SetProperty(s => s.DeletedAt, now)); | ||||
|             await db.ChatMembers | ||||
|                 .Where(m => m.ChatRoomId == id) | ||||
|                 .ExecuteUpdateAsync(s => s.SetProperty(s => s.DeletedAt, now)); | ||||
|             await db.SaveChangesAsync(); | ||||
|              | ||||
|             db.ChatRooms.Remove(chatRoom); | ||||
|             await db.SaveChangesAsync(); | ||||
|  | ||||
|             await transaction.CommitAsync(); | ||||
|         } | ||||
|         catch (Exception) | ||||
|         { | ||||
|             await transaction.RollbackAsync(); | ||||
|             throw; | ||||
|         } | ||||
|          | ||||
|         _ = als.CreateActionLogAsync(new CreateActionLogRequest | ||||
|         { | ||||
|             Action = "chatrooms.delete", | ||||
|   | ||||
| @@ -361,6 +361,7 @@ public partial class ChatService( | ||||
|             .DistinctBy(x => x.Id) | ||||
|             .ToList(); | ||||
|         messageSenders = await crs.LoadMemberAccounts(messageSenders); | ||||
|         messageSenders = messageSenders.Where(x => x.Account is not null).ToList(); | ||||
|  | ||||
|         foreach (var message in messages) | ||||
|             message.Value!.Sender = messageSenders.First(x => x.Id == message.Value.SenderId); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user