Архитектура

This commit is contained in:
Халимов Рустам
2026-03-21 02:19:38 +03:00
parent f3e0941647
commit 5da1a2f45d
44 changed files with 826 additions and 380 deletions
@@ -24,7 +24,7 @@ internal sealed class CleanRunCommandHandler : ICommandHandler<CleanRunCommand,
public CleanRunCommandHandler(ChatsDbContext chatsDbContext, IMongoDatabase mongoDb)
{
_chatsDbContext = chatsDbContext;
_messages = mongoDb.GetCollection<Message>("Messages");
_messages = mongoDb.GetCollection<Message>("messages");
}
public async Task<Result<MessageResponse>> Handle(CleanRunCommand request, CancellationToken cancellationToken)
@@ -25,7 +25,7 @@ internal sealed class CleanDryRunQueryHandler : IQueryHandler<CleanDryRunQuery,
public CleanDryRunQueryHandler(ChatsDbContext chatsDbContext, IMongoDatabase mongoDb)
{
_chatsDbContext = chatsDbContext;
_messages = mongoDb.GetCollection<Message>("Messages");
_messages = mongoDb.GetCollection<Message>("messages");
}
public async Task<Result<CleanupDryRunResultDto>> Handle(CleanDryRunQuery request, CancellationToken cancellationToken)
@@ -18,13 +18,17 @@ public sealed class FilesController : ControllerBase
[HttpGet("{id}")]
[AllowAnonymous]
public async Task<IActionResult> DownloadFile(string id)
public async Task<IActionResult> DownloadFile(string id, [FromQuery] bool download = false)
{
try
{
var result = await _fileStorage.DownloadFileAsync(id);
// Обратите внимание, что мы возвращаем поток с автоматическим освобождением памяти.
return File(result.Stream, result.ContentType, result.FileName);
if (download && !string.IsNullOrEmpty(result.FileName))
{
return File(result.Stream, result.ContentType, result.FileName, enableRangeProcessing: true);
}
return File(result.Stream, result.ContentType, enableRangeProcessing: true);
}
catch (Exception ex)
{