Files
rosetta-wss/src/main/java/com/rosetta/im/service/services/DeviceService.java

49 lines
1.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<DeviceRepository> {
public DeviceService(DeviceRepository repository) {
super(repository);
}
/**
* Проверяет, верифицировано ли устройство с deviceId для пользователя user
* @param deviceId ID устройства
* @param user пользователь
* @return true если устройство верифицировано, иначе false
*/
public boolean isDeviceVerifiedByUser(String deviceId, User user) {
List<Device> 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<Device> getDevicesByPK(String publicKey) {
return this.getRepository().findAllByField("publicKey", publicKey);
}
}