from enum import Enum


class RecommendationField(Enum):
    OBJECT_ID = "_id"
    STRUCTURE_ID = "structure_id"
    BUSINESS_OWNER_ID = "business_owner_id"
    LEVEL = "level"
    OPTIMIZATION_TYPE = "optimization_type"
    RECOMMENDATION_TYPE = "recommendation_type"
    CONFIDENCE = "confidence"
    IMPORTANCE = "importance"
    SOURCE = "source"
    CAMPAIGN_ID = "campaign_id"
    PARENT_ID = "parent_id"
    AD_ACCOUNT_ID = "ad_account_id"
    CREATED_AT = "created_at"
    CATEGORY = "category"
    TEMPLATE = "template"
    METRIC = "metric"
    APPLICATION_DETAILS = "application_details"
    APPLICATION_DATE = "applicationDate"
    CHANNEL = "channel"
    PARENT_NAME = "parent_name"
    CAMPAIGN_NAME = "campaign_name"
    STRUCTURE_NAME = "structure_name"
    BREAKDOWN = "breakdown"
    STATUS = "status"
    APPLIED_BY = "applied_by"
    RECOMMENDATION_ID = "recommendation_id"
    TIME_INTERVAL = "time_interval"
    METRICS = "metrics"
    LAST_UPDATED_AT = "last_updated_at"
    TRIGGER_VARIANCE = "trigger_variance"
    RECOMMENDATION = "recommendation"
    ACCOUNT_ID = "account_id"
    PRIORITY = "priority"
    TITLE = "title"
    SUBTEXT = "sub_text"
    QUOTE = "quote"
    ANALYSIS = "analysis"
    UNDERPERFORMING_BREAKDOWNS = "underperforming_breakdowns"
    HIDDEN_INTERESTS = "hidden_interests"
    APPLY_PARAMETERS = "apply_parameters"
    IS_APPLICABLE = "is_applicable"
    ADSETS_SPLITS = "adsets_splits"
    APPLY_TOOLTIP = "apply_tooltip"
    IS_LABS = "is_labs"
    PIXEL_ID = "pixel_id"
    ADSET_ID = "adset_id"
    BEST_ADSET_ID_LOOKALIKE = "best_adset_id"
    BEST_ADSET_NAME_LOOKALIKE = "best_adset_name"
    ALGORITHM_TYPE = "algorithm_type"
    ALGORITHM = "algorithm"
    MOST_FREQUENT_COUNTRY = "most_frequent_country"
    STRATEGY = "strategy"


class StructureTreeField(Enum):
    CAMPAIGN_ID = "campaign_id"
    CAMPAIGN_NAME = "campaign_name"
    ADSET_ID = "Adset_id"
    ADSET_NAME = "Adset_name"
    ADSETS = "adsets"


class RecommendationFieldInsidersEnum(Enum):
    DISPLAY_NAME = "display_name"
    NAME = "name"
    VALUE = "value"
