Skip to content

Commit 216f6df

Browse files
committed
Include Intercom ID in user updates
1 parent c4764a1 commit 216f6df

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

intercom-java/src/main/java/io/intercom/api/User.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ static UserUpdate buildFrom(User user) {
9191
final UserUpdate userUpdate = new UserUpdate();
9292
userUpdate.userId = user.getUserId();
9393
userUpdate.email = user.getEmail();
94-
// userUpdate.id = user.id; // bug: id is treated as custom attribute
94+
userUpdate.id = user.getId();
9595
userUpdate.remoteCreatedAt = user.getRemoteCreatedAt();
9696
userUpdate.name = user.getName();
9797
userUpdate.lastSeenIp = user.getLastSeenIp();
@@ -108,6 +108,9 @@ static UserUpdate buildFrom(User user) {
108108
@JsonProperty("type")
109109
private final String type = "user";
110110

111+
@JsonProperty("id")
112+
private String id;
113+
111114
@JsonProperty("user_id")
112115
private String userId;
113116

@@ -167,6 +170,10 @@ public String getType() {
167170
return type;
168171
}
169172

173+
public String getId() {
174+
return id;
175+
}
176+
170177
public String getUserId() {
171178
return userId;
172179
}

intercom-java/src/test/java/io/intercom/api/UserTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public void TestUserUpdate() throws Exception {
2626
final long now = System.currentTimeMillis() / 1000;
2727
final User user = new User()
2828
.setEmail("wash@serenity.io")
29+
.setId("54321")
2930
.setUserId("22")
3031
.setRemoteCreatedAt(now)
3132
.setName("Wash")
@@ -36,6 +37,7 @@ public void TestUserUpdate() throws Exception {
3637

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

40+
assertEquals("54321", userUpdate.getId());
3941
assertEquals("wash@serenity.io", userUpdate.getEmail());
4042
assertEquals("22", userUpdate.getUserId());
4143
assertEquals(now, userUpdate.getRemoteCreatedAt());
@@ -46,6 +48,20 @@ public void TestUserUpdate() throws Exception {
4648
assertEquals("user-agent", userUpdate.getLastSeenUserAgent());
4749
}
4850

51+
@Test
52+
public void TestUserIncludesId() throws Exception {
53+
final User user = new User();
54+
user.setEmail("a@b.com");
55+
user.setUserId("1");
56+
user.setId("5432");
57+
final String json = mapper.writeValueAsString(user);
58+
final Map map = mapper.readValue(json, Map.class);
59+
assertTrue(map.size() == 3);
60+
assertTrue(map.containsKey("email"));
61+
assertTrue(map.containsKey("user_id"));
62+
assertTrue(map.containsKey("id"));
63+
}
64+
4965
@Test
5066
public void TestUserSerdesNullAndNotEmpty() throws Exception {
5167
final User user = new User();

0 commit comments

Comments
 (0)