package com.ruoyi.bst.device.service;

import java.util.Collections;
import java.util.List;

public interface DeviceValidator {

    /**
     * 当前用户是否可以编辑设备
     * @param id
     * @return
     */
    boolean canEdit(Long id);

    /**
     * 当前用户是否可以删除设备
     * @param ids
     * @return
     */
    boolean canDeleteAll(List<Long> ids);

    /**
     * 当前用户是否可以操作所有设备
     * @param ids
     * @return
     */
    boolean canOperate(List<Long> ids);

    /**
     * 校验设备数据
     * @param id
     */
    void validate(Long id);

    /**
     * 是否可以操作设备
     */
    default boolean canOperate(Long id) {
        return canOperate(Collections.singletonList(id));
    }

    /**
     * 是否可以操作设备
     */
    boolean canOperate(String sn); 


}
