"""
Shared Constants for SYNC Backend

This module contains constants that are shared across multiple apps
(influencers, businesses, core) to maintain a single source of truth.

IMPORTANT: These constants must be kept in sync with ml_service/app/constants.py
since the ML service is a separate microservice.
"""

# ============================================================================
# ML MODEL CLASSES (Shared with ML Service)
# ============================================================================

# Niche Classes for ML Model
# These represent the content categories that influencers can be classified into
NICHE_CLASSES = [
    "Fashion",
    "Fitness",
    "Food",
    "Travel",
    "Tech",
    "Beauty",
    "Lifestyle",
    "Gaming",
    "Sports",
    "Music",
    "Art",
    "Education",
    "Business",
    "Health",
    "Parenting",
    "Photography",
    "Comedy",
    "Other"
]

# Popularity Classes for ML Model (based on follower count)
# These represent influencer tiers based on their audience size
POPULARITY_CLASSES = [
    "Nano",      # <10K followers
    "Micro",     # 10K-100K
    "Mid",       # 100K-500K
    "Macro",     # 500K-1M
    "Mega"       # >1M
]

# Popularity Tier Benchmarks (Based on Reach/Followers)
# Note: These are QUANTITY benchmarks. Quality-driven tiers (predicted by ML)
# may differ from these reach counts to reward engagement.
POPULARITY_TIERS = {
    "Nano": {"min": 0, "max": 10000},
    "Micro": {"min": 10000, "max": 100000},
    "Mid": {"min": 100000, "max": 500000},
    "Macro": {"min": 500000, "max": 1000000},
    "Mega": {"min": 1000000, "max": float('inf')}
}
