using System.ComponentModel.DataAnnotations;
using Microsoft.AspNetCore.Http;

namespace TakeoutSaaS.TenantApi.Contracts.Requests;

/// <summary>
/// 文件上传表单请求。
/// </summary>
public sealed record FileUploadFormRequest
{
    /// <summary>
    /// 上传文件。
    /// </summary>
    [Required]
    public required IFormFile File { get; init; }

    /// <summary>
    /// 租户 ID。
    /// </summary>
    [Required]
    public long? TenantId { get; init; }

    /// <summary>
    /// 上传类型。
    /// </summary>
    public string? Type { get; init; }
}
