package org.lym.pom.repository.mongo.enums;

import org.shoulder.core.dictionary.model.NameAsIdDictionaryItemEnum;

/**
 * 通知类型枚举
 *
 * @see org.lym.pom.entity.UserNotifyEntity#type
 * @author lym
 */
public enum NotifyTypeEnum implements NameAsIdDictionaryItemEnum<NotifyTypeEnum> {

    USER_REGISTER_NOTIFY_ADMIN("USER_REGISTER_NOTIFY_ADMIN", "新用户注册通知管理员"),
    APPROVAL_ARTICLE("APPROVAL_ARTICLE", "文章被点赞"),
    COMMENT_ARTICLE("COMMENT_ARTICLE", "文章被评论"),

    APPROVAL_FAQ("APPROVAL_FAQ", "关注问答更新"),
    COMMENT_FAQ("COMMENT_FAQ", "评论 & 回复"),

    FOLLOW_USER("FOLLOW_USER", "用户关注"),
    ;


    private final String storageName;
    private final String displayName;

    NotifyTypeEnum(String storageName, String displayName) {
        this.storageName = storageName;
        this.displayName = displayName;
    }

    @Override
    public String getDisplayName() {
        return displayName;
    }

    public String getStorageName() {
        return storageName;
    }
}