uuid-based account crawler

This commit is contained in:
Jeffrey Griffin
2019-08-26 14:11:23 -07:00
parent bb52049bf4
commit 69742839c0
17 changed files with 202 additions and 125 deletions

View File

@@ -19,10 +19,11 @@ package org.whispersystems.textsecuregcm.entities;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.Map;
import java.util.HashMap;
import java.util.UUID;
public class ActiveUserTally {
@JsonProperty
private String fromNumber;
private UUID fromUuid;
@JsonProperty
private Map<String, long[]> platforms;
@@ -32,14 +33,14 @@ public class ActiveUserTally {
public ActiveUserTally() {}
public ActiveUserTally(String fromNumber, Map<String, long[]> platforms, Map<String, long[]> countries) {
this.fromNumber = fromNumber;
public ActiveUserTally(UUID fromUuid, Map<String, long[]> platforms, Map<String, long[]> countries) {
this.fromUuid = fromUuid;
this.platforms = platforms;
this.countries = countries;
}
public String getFromNumber() {
return this.fromNumber;
public UUID getFromUuid() {
return this.fromUuid;
}
public Map<String, long[]> getPlatforms() {
@@ -50,8 +51,8 @@ public class ActiveUserTally {
return this.countries;
}
public void setFromNumber(String fromNumber) {
this.fromNumber = fromNumber;
public void setFromUuid(UUID fromUuid) {
this.fromUuid = fromUuid;
}
}

View File

@@ -18,38 +18,84 @@ package org.whispersystems.textsecuregcm.entities;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.UUID;
public class DirectoryReconciliationRequest {
@JsonProperty
private String fromNumber;
private UUID fromUuid;
@JsonProperty
private String toNumber;
private UUID toUuid;
@JsonProperty
private List<String> numbers;
private List<User> users;
public DirectoryReconciliationRequest() {
}
public DirectoryReconciliationRequest(String fromNumber, String toNumber, List<String> numbers) {
this.fromNumber = fromNumber;
this.toNumber = toNumber;
this.numbers = numbers;
public DirectoryReconciliationRequest(UUID fromUuid, UUID toUuid, List<User> users) {
this.fromUuid = fromUuid;
this.toUuid = toUuid;
this.users = users;
}
public String getFromNumber() {
return fromNumber;
public UUID getFromUuid() {
return fromUuid;
}
public String getToNumber() {
return toNumber;
public UUID getToUuid() {
return toUuid;
}
public List<String> getNumbers() {
return numbers;
public List<User> getUsers() {
return users;
}
public static class User {
@JsonProperty
private UUID uuid;
@JsonProperty
private String number;
public User() {
}
public User(UUID uuid, String number) {
this.uuid = uuid;
this.number = number;
}
public UUID getUuid() {
return uuid;
}
public String getNumber() {
return number;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
if (uuid != null ? !uuid.equals(user.uuid) : user.uuid != null) return false;
if (number != null ? !number.equals(user.number) : user.number != null) return false;
return true;
}
@Override
public int hashCode() {
int result = uuid != null ? uuid.hashCode() : 0;
result = 31 * result + (number != null ? number.hashCode() : 0);
return result;
}
}
}