package com.erp.user.service.auth;

import com.erp.user.entity.auth.LoginDevice;

import java.util.List;

/**
 * 设备管理服务接口
 */
public interface DeviceService {
    
    /**
     * 创建设备记录
     */
    LoginDevice createDevice(Long userId, Long tenantId, String deviceName, 
                              String deviceType, String deviceFingerprint, 
                              String loginIp, String loginLocation, String userAgent);
    
    /**
     * 获取用户登录设备列表（内部使用）
     */
    List<LoginDevice> getLoginDevices(Long userId);
    
    /**
     * 获取用户设备响应列表
     */
    List<com.erp.user.dto.auth.DeviceResponse> getUserDevices(Long userId);
    
    /**
     * 使设备失效
     */
    void invalidateDevice(Long deviceId, Long userId);
    
    /**
     * 使所有设备失效（除当前）
     */
    void invalidateAllDevices(Long userId, Long exceptDeviceId);
    
    /**
     * 更新设备最后活跃时间
     */
    void updateLastActive(Long deviceId);
}
