using MediatR;
using System.ComponentModel.DataAnnotations;
using TakeoutSaaS.Application.App.Merchants.Dto;
using TakeoutSaaS.Domain.Merchants.Enums;

namespace TakeoutSaaS.Application.App.Merchants.Commands;

/// <summary>
/// 新增商户证照。
/// </summary>
public sealed record AddMerchantDocumentCommand(
    [property: Required] long MerchantId,
    [property: Required] MerchantDocumentType DocumentType,
    [property: Required, MaxLength(512)] string FileUrl,
    [property: MaxLength(64)] string? DocumentNumber,
    DateTime? IssuedAt,
    DateTime? ExpiresAt) : IRequest<MerchantDocumentDto>;
