package com.social.media.infrastructure.persistence.analytics.entity;

/**
 * Entity enum for Time Period persistence
 */
public enum TimePeriodEntity {
    HOURLY("HORARIO"),
    DAILY("DIARIO"),
    WEEKLY("SEMANAL"),
    MONTHLY("MENSAL"),
    QUARTERLY("TRIMESTRAL"),
    YEARLY("ANUAL");
    
    private final String dbValue;
    
    TimePeriodEntity(String dbValue) {
        this.dbValue = dbValue;
    }
    
    public String getDbValue() {
        return dbValue;
    }
    
    public static TimePeriodEntity fromDbValue(String dbValue) {
        for (TimePeriodEntity period : values()) {
            if (period.dbValue.equals(dbValue)) {
                return period;
            }
        }
        throw new IllegalArgumentException("Unknown time period: " + dbValue);
    }
}
