use of org.traccar.storage.query.Request in project traccar by tananaev.
the class DataManager method updateLatestPosition.
public void updateLatestPosition(Position position) throws StorageException {
Device device = new Device();
device.setId(position.getDeviceId());
device.setPositionId(position.getId());
storage.updateObject(device, new Request(new Columns.Include("positionId"), new Condition.Equals("id", "id")));
}
use of org.traccar.storage.query.Request in project traccar by tananaev.
the class DataManager method getLatestPositions.
public Collection<Position> getLatestPositions() throws StorageException {
List<Position> positions = new LinkedList<>();
List<Device> devices = storage.getObjects(Device.class, new Request(new Columns.Include("positionId")));
for (Device device : devices) {
positions.addAll(storage.getObjects(Position.class, new Request(new Columns.All(), new Condition.Equals("id", "id", device.getPositionId()))));
}
return positions;
}
use of org.traccar.storage.query.Request in project traccar by tananaev.
the class DataManager method login.
public User login(String email, String password) throws StorageException {
User user = storage.getObject(User.class, new Request(new Columns.Include("id", "login", "hashedPassword", "salt"), new Condition.Or(new Condition.Equals("email", "email", email.trim()), new Condition.Equals("login", "email"))));
LdapProvider ldapProvider = Context.getLdapProvider();
if (user != null) {
if (ldapProvider != null && user.getLogin() != null && ldapProvider.login(user.getLogin(), password) || !forceLdap && user.isPasswordValid(password)) {
return user;
}
} else {
if (ldapProvider != null && ldapProvider.login(email, password)) {
user = ldapProvider.getUser(email);
Context.getUsersManager().addItem(user);
return user;
}
}
return null;
}