using Butter.Dtos.User;
using Butter.Types;

namespace Butter.Dtos.Asset;

/// <summary>
/// Represent the full information needed to display the asset in a page
/// </summary>
public class AssetDto : AssetPreviewDto {
    public          string?     FileName  { get; set; }
    public          EAssetType  AssetType { get; set; }
    public          bool        IsPublic  { get; set; }
    public required UserInfoDto Owner     { get; set; }
    public          DateTime    CreatedAt { get; set; }
    public          DateTime?   UpdatedAt { get; set; }
    public          DateTime?   DeletedAt { get; set; }
    public new      string     MimeType  { get; set; } = string.Empty;
    public          int        ResolutionWidth { get; set; }
    public          int        ResolutionHeight { get; set; }
    public          long       FileSize { get; set; }
    public          float      Duration { get; set; }
    public          float      FrameRate { get; set; }
}
