Add UploadLimits service and refactor user and media listing endpoints to use filter records for improved parameter handling. Update audio upload logic to streamline parameter passing and enhance clarity. Adjust ImageEndpoints to use HashSet for allowed extensions, and refine StreamingEndpoints to clarify token handling.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using Microsoft.Extensions.Options;
|
||||
using TeleWave.Infrastructure.Media;
|
||||
|
||||
namespace TeleWave.Api.Common;
|
||||
|
||||
/// <summary>
|
||||
/// Лимиты приёма файла, собранные в одно место. Они живут в двух разных секциях конфигурации
|
||||
/// (<c>Media</c> и <c>Storage</c>), но проверяются всегда вместе и только на входе загрузки —
|
||||
/// хендлеру незачем знать про обе секции и тащить два <see cref="IOptions{T}"/> в сигнатуре.
|
||||
/// </summary>
|
||||
public sealed class UploadLimits(
|
||||
IOptions<MediaOptions> media,
|
||||
IOptions<StorageOptions> storage
|
||||
)
|
||||
{
|
||||
/// <summary>Потолок размера загружаемого файла.</summary>
|
||||
public long MaxUploadBytes { get; } = media.Value.MaxUploadBytes;
|
||||
|
||||
/// <summary>Сколько места должно остаться свободным после приёма файла.</summary>
|
||||
public long MinFreeSpaceBytes { get; } = storage.Value.MinFreeSpaceBytes;
|
||||
}
|
||||
Reference in New Issue
Block a user