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

import lombok.Getter;
import org.lym.pom.repository.mongo.Post;
import org.shoulder.core.dictionary.model.NameAsIdDictionaryItemEnum;

/**
 * 动态可见性枚举：公开、好友、仅自己可见、部分可见等
 *
 * @see Post#visibility
 * @author lym
 */
@Getter
public enum PostVisibilityEnum implements NameAsIdDictionaryItemEnum<PostVisibilityEnum> {

    /**
     * 好友可见
     */
    FRIENDS("F"),

    /**
     * 公开可见
     */
    PUBLIC("PUB"),

    /**
     * 仅自己可见
     */
    PRIVATE("PRI"),

    /**
     * 部分可见（例如指定用户组可见）
     */
    PARTIAL("PART");

    private final String storageName;

    PostVisibilityEnum(String storageName) {
        this.storageName = storageName;
    }

}
