package com.red.circle.other.infra.database.mongo.service.user.profile;

import com.red.circle.other.domain.enums.ContactMode;
import com.red.circle.other.domain.enums.VipAbilityType;
import com.red.circle.other.infra.database.mongo.entity.user.profile.UserVipAbilitySetting;

public interface UserVipAbilitySettingService {

    /**
     * 判断用户是否开启某个功能
     */
    boolean isEnabled(Long userId, VipAbilityType abilityType);

    /**
     * 获取用户联系权限
     */
    ContactMode getContactMode(Long userId);

    /**
     * 创建或更新用户设置
     */
    void upsert(UserVipAbilitySetting setting);

    /**
     * 根据 userId 查询记录
     */
    UserVipAbilitySetting findByUserId(Long userId);
}