namespace TrackQrApi.Models;

public enum WorkspacePlan
{
    Free,
    Pro,
    Business
}

public class Workspace
{
    public Guid Id { get; set; }
    public Guid OwnerUserId { get; set; }
    public required string Name { get; set; }
    public WorkspacePlan Plan { get; set; } = WorkspacePlan.Free;
    public string? StripeSubscriptionId { get; set; }
    public DateTime? SubscriptionEndsAt { get; set; }
    public DateTime CreatedAt { get; set; }

    // Navigation properties
    public User Owner { get; set; } = null!;
    public ICollection<Project> Projects { get; set; } = [];
    public ICollection<Domain> Domains { get; set; } = [];
    public ICollection<ShortLink> ShortLinks { get; set; } = [];
    public ICollection<QRCodeDesign> QRCodeDesigns { get; set; } = [];
    public ICollection<Event> Events { get; set; } = [];
    public ICollection<Asset> Assets { get; set; } = [];
}