Skip to content

Commit f5e07de

Browse files
author
Slava Bobik
committed
Added restricted visibility
1 parent 434f807 commit f5e07de

File tree

2 files changed

+73
-0
lines changed

2 files changed

+73
-0
lines changed

src/main/java/io/getstream/chat/java/models/Message.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ public class Message {
6666
@JsonProperty("user")
6767
private User user;
6868

69+
@Nullable
70+
@JsonProperty("restricted_visibility")
71+
private List<String> restrictedVisibility;
72+
6973
@Nullable
7074
@JsonProperty("attachments")
7175
private List<Attachment> attachments;
@@ -425,6 +429,10 @@ public static class MessageRequestObject {
425429
@JsonProperty("user")
426430
private UserRequestObject user;
427431

432+
@Nullable
433+
@JsonProperty("restricted_visibility")
434+
private List<String> restrictedVisibility;
435+
428436
@Nullable
429437
@JsonProperty("parent_id")
430438
private String parentId;

src/test/java/io/getstream/chat/java/MessageTest.java

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,28 @@ void whenRetrievingAMessage_thenIsRetrieved() {
3232
Assertions.assertTrue(retrievedMessage.getId().equals(testMessage.getId()));
3333
}
3434

35+
@DisplayName("Can send a message with restricted visibility")
36+
@Test
37+
void whenSendingMessageWithRestrictedVisibility_thenMessageHasRestrictedVisibility() {
38+
List<String> restrictedUsers = Arrays.asList(testUserRequestObject.getId());
39+
MessageRequestObject messageRequest =
40+
MessageRequestObject.builder()
41+
.text("This is a restricted message")
42+
.userId(testUserRequestObject.getId())
43+
.restrictedVisibility(restrictedUsers)
44+
.build();
45+
46+
Message restrictedMessage =
47+
Assertions.assertDoesNotThrow(
48+
() ->
49+
Message.send(testChannel.getType(), testChannel.getId())
50+
.message(messageRequest)
51+
.request()
52+
.getMessage());
53+
54+
Assertions.assertEquals(restrictedUsers, restrictedMessage.getRestrictedVisibility());
55+
}
56+
3557
@DisplayName("Can retrieve a deleted message")
3658
@Test
3759
void whenRetrievingADeletedMessage_thenIsRetrieved() {
@@ -71,6 +93,28 @@ void whenUpdatingAMessage_thenNoException() {
7193
Assertions.assertEquals(updatedText, updatedMessage.getText());
7294
}
7395

96+
@DisplayName("Can update a message with restricted visibility")
97+
@Test
98+
void whenUpdatingAMessageWithRestrictedVisibility_thenNoException() {
99+
// Should not use testMessage to not modify it
100+
Message message = Assertions.assertDoesNotThrow(() -> sendTestMessage());
101+
String updatedText = "This is an updated message";
102+
List<String> restrictedUsers = Arrays.asList(testUserRequestObject.getId());
103+
104+
MessageRequestObject updatedMessageRequest =
105+
MessageRequestObject.builder()
106+
.text(updatedText)
107+
.userId(testUserRequestObject.getId())
108+
.restrictedVisibility(restrictedUsers)
109+
.build();
110+
Message updatedMessage =
111+
Assertions.assertDoesNotThrow(
112+
() -> Message.update(message.getId()).message(updatedMessageRequest).request())
113+
.getMessage();
114+
Assertions.assertEquals(updatedText, updatedMessage.getText());
115+
Assertions.assertEquals(restrictedUsers, updatedMessage.getRestrictedVisibility());
116+
}
117+
74118
@DisplayName("Searching with query and message filter conditions throws an exception")
75119
@Test
76120
void givenQueryAndMessageFilterConditions_whenSearchingMessages_thenThrowException() {
@@ -663,6 +707,27 @@ void whenPartiallyUpdatingAMessage_thenIsUpdated() {
663707
Assertions.assertEquals(updatedText, updatedMessage.getText());
664708
}
665709

710+
@DisplayName("Can partially update a message with restricted visibility")
711+
@Test
712+
void whenPartiallyUpdatingAMessageWithRestrictedVisibility_thenIsUpdated() {
713+
// Should not use testMessage to not modify it
714+
Message message = Assertions.assertDoesNotThrow(() -> sendTestMessage());
715+
String updatedText = "This is an updated message";
716+
List<String> restrictedUsers = Arrays.asList(testUserRequestObject.getId());
717+
718+
Message updatedMessage =
719+
Assertions.assertDoesNotThrow(
720+
() ->
721+
Message.partialUpdate(message.getId())
722+
.setValue("text", updatedText)
723+
.setValue("restricted_visibility", restrictedUsers)
724+
.user(testUserRequestObject)
725+
.request())
726+
.getMessage();
727+
Assertions.assertEquals(updatedText, updatedMessage.getText());
728+
Assertions.assertEquals(restrictedUsers, updatedMessage.getRestrictedVisibility());
729+
}
730+
666731
@DisplayName("Can pin a message")
667732
@Test
668733
void whenPinningAMessage_thenIsPinned() {

0 commit comments

Comments
 (0)