namespace Bit.Core.Billing.Premium.Models;
///
/// Represents user premium access status from personal subscriptions and organization memberships.
///
public class UserPremiumAccess
{
///
/// The unique identifier for the user.
///
public Guid Id { get; set; }
///
/// Indicates whether the user has a personal premium subscription.
/// This does NOT include premium access from organizations.
///
public bool PersonalPremium { get; set; }
///
/// Indicates whether the user has premium access through any organization membership.
/// This is true if the user is a member of at least one enabled organization that grants premium access to users.
///
public bool OrganizationPremium { get; set; }
///
/// Indicates whether the user has premium access from any source (personal subscription or organization).
///
public bool HasPremiumAccess => PersonalPremium || OrganizationPremium;
}