Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion intercom-java/src/main/java/io/intercom/api/Avatar.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ public class Avatar extends TypedData {
@JsonProperty("image_url")
private URI imageURL;

Avatar() {
public Avatar() {
}

public String getType() {
Expand All @@ -29,6 +29,11 @@ public URI getImageURL() {
return imageURL;
}

public Avatar setImageURL(String imageURL) {
this.imageURL = URI.create(imageURL);
return this;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
Expand Down
9 changes: 9 additions & 0 deletions intercom-java/src/main/java/io/intercom/api/Contact.java
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ static ContactUpdate buildFrom(Contact c) {
contactUpdate.name = c.getName();
contactUpdate.lastSeenIP = c.getLastSeenIP();
contactUpdate.customAttributes = c.getCustomAttributes();
contactUpdate.avatar = c.getAvatar();
contactUpdate.lastRequestAt = c.getLastRequestAt();
contactUpdate.unsubscribedFromEmails = c.getUnsubscribedFromEmails();
return contactUpdate;
Expand Down Expand Up @@ -219,6 +220,9 @@ static ContactUpdate buildFrom(Contact c) {
@JsonProperty("last_seen_ip")
private String lastSeenIP;

@JsonProperty("avatar")
private Avatar avatar;

@JsonIgnoreProperties(ignoreUnknown = false)
@JsonProperty("custom_attributes")
private Map<String, CustomAttribute> customAttributes = Maps.newHashMap();
Expand Down Expand Up @@ -457,6 +461,11 @@ public Avatar getAvatar() {
return avatar;
}

public Contact setAvatar(Avatar avatar) {
this.avatar = avatar;
return this;
}

public long getCreatedAt() {
return createdAt;
}
Expand Down
14 changes: 14 additions & 0 deletions intercom-java/src/main/java/io/intercom/api/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@ static UserUpdate buildFrom(User user) {
userUpdate.companyCollection = buildUserUpdateCompanies(user);
}

userUpdate.avatar = user.getAvatar();
userUpdate.lastRequestAt = user.getLastRequestAt();
userUpdate.signedUpAt = user.getSignedUpAt();
userUpdate.unsubscribedFromEmails = user.getUnsubscribedFromEmails();
Expand Down Expand Up @@ -157,6 +158,9 @@ static List<JobItem<UserUpdate>> validateAndConvertJobItems(List<JobItem<User>>
@JsonProperty("last_seen_ip")
private String lastSeenIp;

@JsonProperty("avatar")
private Avatar avatar;

@JsonIgnoreProperties(ignoreUnknown = false)
@JsonProperty("custom_attributes")
private Map<String, CustomAttribute> customAttributes = Maps.newHashMap();
Expand Down Expand Up @@ -266,6 +270,11 @@ public Boolean isUpdateLastRequestAt() {
public Boolean isNewSession() {
return newSession;
}

public Avatar getAvatar() {
return avatar;
}

}

@JsonProperty("type")
Expand Down Expand Up @@ -424,6 +433,11 @@ public Avatar getAvatar() {
return avatar;
}

public User setAvatar(Avatar avatar) {
this.avatar = avatar;
return this;
}

public long getCreatedAt() {
return createdAt;
}
Expand Down
13 changes: 11 additions & 2 deletions intercom-java/src/test/java/io/intercom/api/UserTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ public void TestUserUpdateEmptyCompanies() throws Exception {

@Test
public void TestUserUpdate() throws Exception {
final Avatar avatar = new Avatar()
.setImageURL("http://example.com/256Wash.jpg");

final long now = System.currentTimeMillis() / 1000;
final User user = new User()
Expand All @@ -41,7 +43,8 @@ public void TestUserUpdate() throws Exception {
.setUnsubscribedFromEmails(true)
.setUpdateLastRequestAt(true)
.setNewSession(true)
.setUserAgentData("user-agent");
.setUserAgentData("user-agent")
.setAvatar(avatar);

final User.UserUpdate userUpdate = User.UserUpdate.buildFrom(user);

Expand All @@ -56,6 +59,7 @@ public void TestUserUpdate() throws Exception {
assertEquals(true, userUpdate.isNewSession());
assertEquals("user-agent", userUpdate.getLastSeenUserAgent());
assertEquals(null, userUpdate.getType());
assertEquals("http://example.com/256Wash.jpg", userUpdate.getAvatar().getImageURL().toString());
}

@Test
Expand Down Expand Up @@ -179,9 +183,14 @@ public void TestSerdes() throws Exception {
assertEquals("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9", user.getUserAgentData());
assertEquals(1397574667L, user.getLastRequestAt());
assertEquals(1392731331L, user.getRemoteCreatedAt());
assertEquals(1392731331L, user.getSignedUpAt());
assertEquals(1392734388L, user.getCreatedAt());
assertEquals(1392734388L, user.getUpdatedAt());

final Avatar avatar = user.getAvatar();
assertEquals("avatar", avatar.getType());
assertEquals("http://example.org/128Wash.jpg", avatar.getImageURL().toString());

final SegmentCollection segmentCollection = user.getSegmentCollection();
assertEquals("segment.list", segmentCollection.getType());
final List<Segment> items = segmentCollection.getPage();
Expand Down Expand Up @@ -250,4 +259,4 @@ public void testBulkValidation() {
assertTrue(e.getFirstError() != null);
}
}
}
}
3 changes: 2 additions & 1 deletion intercom-java/src/test/resources/user.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"phone": "+1234567890",
"name": "Hoban Washburne",
"remote_created_at": 1392731331,
"signed_up_at": 1392731331,
"updated_at": 1392734388,
"session_count": 0,
"last_seen_ip": "1.2.3.4",
Expand Down Expand Up @@ -73,4 +74,4 @@
}
]
}
}
}