package com.rosetta.im.service.services; import java.util.List; import com.rosetta.im.database.entity.Device; import com.rosetta.im.database.entity.User; import com.rosetta.im.database.repository.DeviceRepository; import com.rosetta.im.service.Service; public class DeviceService extends Service { public DeviceService(DeviceRepository repository) { super(repository); } /** * Проверяет, верифицировано ли устройство с deviceId для пользователя user * @param deviceId ID устройства * @param user пользователь * @return true если устройство верифицировано, иначе false */ public boolean isDeviceVerifiedByUser(String deviceId, User user) { List devices = this.getRepository().findAll(user); if(devices.size() == 0) { /** * Если у пользователя нет устройств, значит текущее устройство верифицировано * такого быть не может, это избыточная проверка */ return true; } for(Device device : devices) { if(device.getDeviceId().equals(deviceId)) { return true; } } return false; } /** * Получить список устройств для публичного ключа * @param publicKey публичный ключ пользователя, для которого нужно получить список устройств * @return список устройств для публичного ключа */ public List getDevicesByPK(String publicKey) { return this.getRepository().findAllByField("publicKey", publicKey); } }