Finalized delete voice work logic.
All checks were successful
ci / build-test (push) Successful in 2m45s
ci / publish-image (push) Successful in 1m54s

This commit is contained in:
2026-05-09 22:19:44 -04:00
parent 5eecba7eec
commit 06d5aa345d
7 changed files with 72 additions and 9 deletions

View File

@@ -26,6 +26,8 @@ public class VoiceWorkWriter(AppDbContext dbContext) : IVoiceWorkWriter
VoiceWork[] voiceWorks = [.. dbContext.VoiceWorks.Where(voiceWork => request.VoiceWorkIds.Contains(voiceWork.VoiceWorkId))
.Include(x => x.Circle)];
List<VoiceWork> voiceWorksToDelete = [];
foreach (VoiceWork voiceWork in voiceWorks)
{
if (results.ContainsKey(voiceWork.VoiceWorkId) == false)
@@ -46,11 +48,21 @@ public class VoiceWorkWriter(AppDbContext dbContext) : IVoiceWorkWriter
continue;
}
dbContext.Remove(voiceWork);
voiceWorksToDelete.Add(voiceWork);
results[voiceWork.VoiceWorkId] = DeleteVoiceWorkStatus.Deleted;
}
await dbContext.SaveChangesAsync(cancellationToken);
int[] voiceWorkIdsToDelete = [.. voiceWorksToDelete.Select(x => x.VoiceWorkId)];
if (voiceWorkIdsToDelete.Length > 0)
{
dbContext.VoiceWorks.RemoveRange(voiceWorksToDelete);
await dbContext.SaveChangesAsync(cancellationToken);
await dbContext.VoiceWorkSearches
.Where(x => voiceWorkIdsToDelete.Contains(x.VoiceWorkId))
.ExecuteDeleteAsync(cancellationToken);
}
return new DeleteVoiceWorkResponse(results);
}