package com.ttstd.signaling.store;

import com.ttstd.signaling.model.DeviceBlacklistEntry;

import java.util.List;
import java.util.Optional;

/**
 * 被控端黑名单存储抽象。生产环境由 JPA 实现，测试/演示由内存实现。
 */
public interface BlacklistStore {

    DeviceBlacklistEntry save(DeviceBlacklistEntry entry);

    Optional<DeviceBlacklistEntry> findByDeviceUidAndBlockedUserId(String deviceUid, String blockedUserId);

    boolean existsByDeviceUidAndBlockedUserId(String deviceUid, String blockedUserId);

    List<DeviceBlacklistEntry> listByDeviceUid(String deviceUid);

    void delete(String deviceUid, String blockedUserId);
}
