|
2 | 2 |
|
3 | 3 |
|
4 | 4 | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| 5 | +import com.fasterxml.jackson.annotation.JsonInclude; |
5 | 6 | import com.fasterxml.jackson.annotation.JsonProperty; |
6 | 7 | import com.google.common.base.Joiner; |
7 | 8 | import com.google.common.base.Optional; |
|
17 | 18 | @JsonIgnoreProperties(ignoreUnknown = true) |
18 | 19 | public class Conversation extends TypedData { |
19 | 20 |
|
| 21 | + @SuppressWarnings("UnusedDeclaration") |
| 22 | + @JsonIgnoreProperties(ignoreUnknown = true) |
| 23 | + private static class ConversationRead extends TypedData { |
| 24 | + |
| 25 | + @JsonProperty("read") |
| 26 | + private boolean read; |
| 27 | + |
| 28 | + public ConversationRead() { |
| 29 | + this.read = true; |
| 30 | + } |
| 31 | + } |
| 32 | + |
20 | 33 | private static final HashMap<String, String> SENTINEL = Maps.newHashMap(); |
21 | 34 | private static final List<String> DISPLAY_AS_FORMATS = Lists.newArrayList("plaintext", "html"); |
22 | 35 | static final String MESSAGE_TYPE_ASSIGNMENT = "assignment"; |
@@ -71,6 +84,16 @@ public static Conversation reply(String id, AdminReply reply) { |
71 | 84 | .post(Conversation.class, new AdminReply.AdminStringReply(reply)); |
72 | 85 | } |
73 | 86 |
|
| 87 | + public static Conversation markAsRead(String id) { |
| 88 | + final URI uri = UriBuilder.newBuilder() |
| 89 | + .path("conversations") |
| 90 | + .path(id) |
| 91 | + .build(); |
| 92 | + |
| 93 | + return new HttpClient(uri) |
| 94 | + .put(Conversation.class, new ConversationRead()); |
| 95 | + } |
| 96 | + |
74 | 97 | public static UserMessage create(UserMessage message) { |
75 | 98 | return DataResource.create(message, "messages", UserMessage.class); |
76 | 99 | } |
|
0 commit comments