using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace IM.Commons.IntegrationEvents { public class UploadTaskCompleteEvent { public Guid OperatorId { get; set;} public Guid TaskId { get; set; } public string SessionId { get; set; } public string FileName { get; set; } public string ProviderCode { get; set; } public string Bucket { get; set; } public string Region { get; set; } public string ObjectKey { get; set; } public long FileSize { get; set; } public string ContentType { get; set; } public string CheckSun { get; set; } public IReadOnlyList Parts { get; set; } public string? ChatType { get; set; } public Guid? TargetId { get; set; } } public sealed record UploadPart( int PartNumber, string ETag, long? Size = null, string? Checksum = null); }