namespace StorageService.Domain.AggregatesModel.FileAggregate;

/// <summary>
/// EN: Storage provider enumeration.
/// VI: Enum định nghĩa các provider lưu trữ.
/// </summary>
public enum StorageProvider
{
    /// <summary>EN: MinIO S3-compatible storage / VI: MinIO lưu trữ tương thích S3</summary>
    MinIO = 1,
    
    /// <summary>EN: Alibaba Cloud OSS / VI: Alibaba Cloud OSS</summary>
    AliyunOSS = 2
}

/// <summary>
/// EN: File access level enumeration.
/// VI: Enum định nghĩa mức độ truy cập file.
/// </summary>
public enum FileAccessLevel
{
    /// <summary>EN: Private - Only owner can access / VI: Riêng tư - Chỉ owner có thể truy cập</summary>
    Private = 1,
    
    /// <summary>EN: Public - Anyone can access / VI: Công khai - Bất kỳ ai có thể truy cập</summary>
    Public = 2,
    
    /// <summary>EN: Shared - Specific users can access / VI: Chia sẻ - Người dùng cụ thể có thể truy cập</summary>
    Shared = 3
}
