Skip to content

Commit d5242d0

Browse files
authored
Merge pull request #37 from SiftScience/cchi_ato_api_updates_multiple_events
Add support for multiple new fields/events - $verification - $create_account and $update_account - $update_password
2 parents 7cb7d47 + 978a8a5 commit d5242d0

12 files changed

+219
-12
lines changed

CHANGES.MD

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
2.6.0 (2019-01-30)
2+
=================
3+
4+
- Add support for `$account_types` to the `$create_account` event and the `$update_account` event
5+
- Add support for the new event `$update_password`
6+
- Add support for `$verified_event`, `$reason`, `$verified_entity_id` to the `$verification` event
7+
- Add support for `$ip`, `$browser`, `$app` to the `$verification` event
8+
19
2.5.0 (2019-01-09)
210
=================
311

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ Java 1.7 or later.
1111
<dependency>
1212
<groupId>com.siftscience</groupId>
1313
<artifactId>sift-java</artifactId>
14-
<version>2.5.0</version>
14+
<version>2.6.0</version>
1515
</dependency>
1616
```
1717
### Gradle
1818
```
1919
dependencies {
20-
compile 'com.siftscience:sift-java:2.5.0'
20+
compile 'com.siftscience:sift-java:2.6.0'
2121
}
2222
```
2323
### Other

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ apply plugin: 'signing'
55
apply plugin: 'java-library-distribution'
66

77
group = 'com.siftscience'
8-
version = '2.5.0'
8+
version = '2.6.0'
99
sourceCompatibility = 1.7
1010
targetCompatibility = 1.7
1111

src/main/java/com/siftscience/model/CreateAccountFieldSet.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ public static CreateAccountFieldSet fromJson(String json) {
1010
return gson.fromJson(json, CreateAccountFieldSet.class);
1111
}
1212

13+
@Expose @SerializedName("$account_types") private List<String> accountTypes;
1314
@Expose @SerializedName("$promotions") private List<Promotion> promotions;
1415

1516
@Override
@@ -25,4 +26,11 @@ public CreateAccountFieldSet setPromotions(List<Promotion> promotions) {
2526
this.promotions = promotions;
2627
return this;
2728
}
29+
30+
public List<String> getAccountTypes() { return accountTypes; }
31+
32+
public CreateAccountFieldSet setAccountTypes(List<String> accountTypes) {
33+
this.accountTypes = accountTypes;
34+
return this;
35+
}
2836
}

src/main/java/com/siftscience/model/UpdateAccountFieldSet.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
import com.google.gson.annotations.Expose;
44
import com.google.gson.annotations.SerializedName;
55

6+
import java.util.List;
7+
68
public class UpdateAccountFieldSet extends BaseAccountFieldSet<UpdateAccountFieldSet> {
79
public static UpdateAccountFieldSet fromJson(String json) {
810
return gson.fromJson(json, UpdateAccountFieldSet.class);
911
}
1012

13+
@Expose @SerializedName("$account_types") private List<String> accountTypes;
1114
@Expose @SerializedName("$changed_password") private Boolean changedPassword;
1215

1316
@Override
@@ -23,4 +26,11 @@ public UpdateAccountFieldSet setChangedPassword(Boolean changedPassword) {
2326
this.changedPassword = changedPassword;
2427
return this;
2528
}
29+
30+
public List<String> getAccountTypes() { return accountTypes; }
31+
32+
public UpdateAccountFieldSet setAccountTypes(List<String> accountTypes) {
33+
this.accountTypes = accountTypes;
34+
return this;
35+
}
2636
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.siftscience.model;
2+
3+
import com.google.gson.annotations.Expose;
4+
import com.google.gson.annotations.SerializedName;
5+
6+
public class UpdatePasswordFieldSet extends BaseAppBrowserFieldSet<UpdatePasswordFieldSet> {
7+
public static UpdatePasswordFieldSet fromJson(String json) {
8+
return gson.fromJson(json, UpdatePasswordFieldSet.class);
9+
}
10+
11+
@Expose @SerializedName("$reason") private String reason;
12+
@Expose @SerializedName("$status") private String status;
13+
14+
@Override
15+
public String getEventType() {
16+
return "$update_password";
17+
}
18+
19+
public String getReason() { return reason; }
20+
21+
public UpdatePasswordFieldSet setReason(String reason) {
22+
this.reason = reason;
23+
return this;
24+
}
25+
26+
public String getStatus() { return status; }
27+
28+
public UpdatePasswordFieldSet setStatus(String status) {
29+
this.status = status;
30+
return this;
31+
}
32+
}

src/main/java/com/siftscience/model/VerificationFieldSet.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@
33
import com.google.gson.annotations.Expose;
44
import com.google.gson.annotations.SerializedName;
55

6-
public class VerificationFieldSet extends EventsApiRequestFieldSet<VerificationFieldSet> {
6+
public class VerificationFieldSet extends BaseAppBrowserFieldSet<VerificationFieldSet> {
77
public static VerificationFieldSet fromJson(String json) {
88
return gson.fromJson(json, VerificationFieldSet.class);
99
}
1010

1111
@Expose @SerializedName("$status") private String status;
1212
@Expose @SerializedName("$verification_type") private String verificationType;
1313
@Expose @SerializedName("$verified_value") private String verifiedValue;
14+
@Expose @SerializedName("$reason") private String reason;
15+
@Expose @SerializedName("$verified_event") private String verifiedEvent;
16+
@Expose @SerializedName("$verified_entity_id") private String verifiedEntityId;
1417

1518
@Override
1619
public String getEventType() {
@@ -43,4 +46,25 @@ public VerificationFieldSet setVerifiedValue(String verifiedValue) {
4346
this.verifiedValue = verifiedValue;
4447
return this;
4548
}
49+
50+
public String getReason() { return reason; }
51+
52+
public VerificationFieldSet setReason(String reason) {
53+
this.reason = reason;
54+
return this;
55+
}
56+
57+
public String getVerifiedEvent() { return verifiedEvent; }
58+
59+
public VerificationFieldSet setVerifiedEvent(String verifiedEvent) {
60+
this.verifiedEvent = verifiedEvent;
61+
return this;
62+
}
63+
64+
public String getVerifiedEntityId() { return verifiedEntityId; }
65+
66+
public VerificationFieldSet setVerifiedEntityId(String verifiedEntityId) {
67+
this.verifiedEntityId = verifiedEntityId;
68+
return this;
69+
}
4670
}

src/test/java/com/siftscience/BaseAppBrowserFieldSetTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,11 @@
2525
import com.siftscience.model.UpdateListingFieldSet;
2626
import com.siftscience.model.UpdateMessageFieldSet;
2727
import com.siftscience.model.UpdateOrderFieldSet;
28+
import com.siftscience.model.UpdatePasswordFieldSet;
2829
import com.siftscience.model.UpdatePostFieldSet;
2930
import com.siftscience.model.UpdateProfileFieldSet;
3031
import com.siftscience.model.UpdateReviewFieldSet;
32+
import com.siftscience.model.VerificationFieldSet;
3133
import okhttp3.HttpUrl;
3234
import okhttp3.mockwebserver.MockResponse;
3335
import okhttp3.mockwebserver.MockWebServer;
@@ -76,9 +78,11 @@ public void testAllSubclasses() {
7678
UpdateListingFieldSet.class,
7779
UpdateMessageFieldSet.class,
7880
UpdateOrderFieldSet.class,
81+
UpdatePasswordFieldSet.class,
7982
UpdatePostFieldSet.class,
8083
UpdateProfileFieldSet.class,
81-
UpdateReviewFieldSet.class
84+
UpdateReviewFieldSet.class,
85+
VerificationFieldSet.class
8286
};
8387

8488
for (Class<?> subclass : subclasses) {

src/test/java/com/siftscience/CreateAccountEventTest.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import org.skyscreamer.jsonassert.JSONAssert;
1313

1414
import java.util.ArrayList;
15+
import java.util.Arrays;
1516
import java.util.List;
1617

1718
import static java.net.HttpURLConnection.HTTP_OK;
@@ -76,7 +77,8 @@ public void testCreateAccount() throws Exception {
7677
" \"location\" : \"New London, NH\",\n" +
7778
" \"referral_code\" : \"MIKEFRIENDS\",\n" +
7879
" \"email_confirmed_status\" : \"$pending\",\n" +
79-
" \"phone_confirmed_status\" : \"$pending\"\n" +
80+
" \"phone_confirmed_status\" : \"$pending\",\n" +
81+
" \"$account_types\" : [\"merchant\", \"premium\"]\n" +
8082
"}";
8183

8284
// Start a new mock server and enqueue a mock response.
@@ -124,7 +126,9 @@ public void testCreateAccount() throws Exception {
124126
.setCustomField("location", "New London, NH")
125127
.setCustomField("referral_code", "MIKEFRIENDS")
126128
.setCustomField("email_confirmed_status", "$pending")
127-
.setCustomField("phone_confirmed_status", "$pending"));
129+
.setCustomField("phone_confirmed_status", "$pending")
130+
.setAccountTypes(Arrays.asList("merchant", "premium")));
131+
128132
SiftResponse siftResponse = request.send();
129133

130134
// Verify the request.

src/test/java/com/siftscience/UpdateAccountEventTest.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.skyscreamer.jsonassert.JSONAssert;
1212

1313
import java.util.ArrayList;
14+
import java.util.Arrays;
1415
import java.util.List;
1516

1617
import static java.net.HttpURLConnection.HTTP_OK;
@@ -57,7 +58,8 @@ public void testUpdateAccount() throws Exception {
5758
" },\n" +
5859
" \"$social_sign_on_type\" : \"$twitter\",\n" +
5960
" \"email_confirmed_status\" : \"$success\",\n" +
60-
" \"phone_confirmed_status\" : \"$success\"\n" +
61+
" \"phone_confirmed_status\" : \"$success\",\n" +
62+
" \"$account_types\" : [\"merchant\", \"premium\"]\n" +
6163
"}";
6264

6365
// Start a new mock server and enqueue a mock response.
@@ -96,7 +98,8 @@ public void testUpdateAccount() throws Exception {
9698
.setShippingAddress(TestUtils.sampleAddress2())
9799
.setSocialSignOnType("$twitter")
98100
.setCustomField("email_confirmed_status", "$success")
99-
.setCustomField("phone_confirmed_status", "$success"));
101+
.setCustomField("phone_confirmed_status", "$success")
102+
.setAccountTypes(Arrays.asList("merchant", "premium")));
100103

101104
SiftResponse siftResponse = request.send();
102105

0 commit comments

Comments
 (0)