using MediatR;

namespace StorageService.Domain.Events;

/// <summary>
/// EN: Event raised when a multipart upload is completed.
/// VI: Event được raise khi multipart upload hoàn thành.
/// </summary>
public class MultipartUploadCompletedDomainEvent : INotification
{
    public Guid UploadId { get; }
    public string FileName { get; }
    public string UserId { get; }
    public long TotalSizeBytes { get; }
    public string ObjectKey { get; }

    public MultipartUploadCompletedDomainEvent(Guid uploadId, string fileName, string userId, long totalSizeBytes, string objectKey)
    {
        UploadId = uploadId;
        FileName = fileName;
        UserId = userId;
        TotalSizeBytes = totalSizeBytes;
        ObjectKey = objectKey;
    }
}
