package com.seer.teach.common.enums.im;

import com.seer.teach.common.dto.mq.LlmChatDTO;
import com.seer.teach.common.dto.mq.StringDTO;

/**
 * <p>
 *
 * </p>
 *
 * @author Captain
 * @since 2025-07-17 21:48
 */
public enum RedisChannelPushTopTagEnum {

    PUSH_LLM_AUDIO("push-llm-audio", LlmChatDTO.class),
    PUSH_LLM_AUDIO_ERROR("push-llm-audio-error", StringDTO.class);

    private final String tag;

    private Class<?> clazz;

    RedisChannelPushTopTagEnum(String tag, Class<?> clazz) {
        this.tag = tag;
        this.clazz = clazz;
    }

    public static Class getClass(String tag) {
        for (RedisChannelPushTopTagEnum value : values()) {
            if (value.tag.equalsIgnoreCase(tag)) {
                return value.clazz;
            }
        }
        return null;
    }

    public Class<?> getClazz() {
        return clazz;
    }

    public String getTag() {
        return tag;
    }
}
