namespace StorageService.Domain.AggregatesModel.FileShareAggregate;

/// <summary>
/// EN: Share permission levels.
/// VI: Các mức quyền chia sẻ.
/// </summary>
public enum SharePermission
{
    /// <summary>EN: View only / VI: Chỉ xem</summary>
    View = 0,

    /// <summary>EN: Download allowed / VI: Được phép tải xuống</summary>
    Download = 1,

    /// <summary>EN: Edit allowed / VI: Được phép chỉnh sửa</summary>
    Edit = 2,

    /// <summary>EN: Full admin access / VI: Quyền admin đầy đủ</summary>
    Admin = 3
}

/// <summary>
/// EN: File share status.
/// VI: Trạng thái chia sẻ file.
/// </summary>
public enum FileShareStatus
{
    /// <summary>EN: Active share / VI: Chia sẻ đang hoạt động</summary>
    Active = 0,

    /// <summary>EN: Expired share / VI: Chia sẻ đã hết hạn</summary>
    Expired = 1,

    /// <summary>EN: Revoked share / VI: Chia sẻ đã bị thu hồi</summary>
    Revoked = 2,

    /// <summary>EN: Download limit reached / VI: Đã đạt giới hạn tải xuống</summary>
    LimitReached = 3
}
