File tree Expand file tree Collapse file tree 4 files changed +44
-2
lines changed
main/java/io/getstream/chat/java
test/java/io/getstream/chat/java Expand file tree Collapse file tree 4 files changed +44
-2
lines changed Original file line number Diff line number Diff line change @@ -1208,6 +1208,12 @@ Message.delete(messageId).request();
12081208
12091209// hard delete the message (works only server-side)
12101210Message . delete(messageId). hard(true ). request();
1211+
1212+ // delete the message with a specific user as the deleter
1213+ Message . delete(messageId). deletedBy(userId). request();
1214+
1215+ // combine parameters
1216+ Message . delete(messageId). hard(true ). deletedBy(userId). request();
12111217```
12121218
12131219** Upload file or image**
Original file line number Diff line number Diff line change @@ -794,15 +794,23 @@ public static class MessageDeleteRequest extends StreamRequest<MessageDeleteResp
794794
795795 @ Nullable private Boolean hard ;
796796
797+ @ Nullable private String deletedBy ;
798+
797799 @ NotNull
798800 public MessageDeleteRequest hard (@ NotNull Boolean hard ) {
799801 this .hard = hard ;
800802 return this ;
801803 }
802804
805+ @ NotNull
806+ public MessageDeleteRequest deletedBy (@ NotNull String deletedBy ) {
807+ this .deletedBy = deletedBy ;
808+ return this ;
809+ }
810+
803811 @ Override
804812 protected Call <MessageDeleteResponse > generateCall (Client client ) {
805- return client .create (MessageService .class ).delete (this .id , this .hard );
813+ return client .create (MessageService .class ).delete (this .id , this .hard , this . deletedBy );
806814 }
807815 }
808816
Original file line number Diff line number Diff line change @@ -91,7 +91,9 @@ Call<StreamResponseObject> deleteImage(
9191
9292 @ DELETE ("messages/{id}" )
9393 Call <MessageDeleteResponse > delete (
94- @ NotNull @ Path ("id" ) String id , @ Nullable @ Query ("hard" ) Boolean hard );
94+ @ NotNull @ Path ("id" ) String id ,
95+ @ Nullable @ Query ("hard" ) Boolean hard ,
96+ @ Nullable @ Query ("deleted_by" ) String deletedBy );
9597
9698 @ GET ("messages/{id}" )
9799 Call <MessageGetResponse > get (
Original file line number Diff line number Diff line change @@ -530,6 +530,32 @@ void whenDeletingMessage_thenIsDeleted() {
530530 Assertions .assertNotNull (deletedMessage .getDeletedAt ());
531531 }
532532
533+ @ DisplayName ("Can delete a message with deletedBy specified" )
534+ @ Test
535+ void whenDeletingMessageWithDeletedBy_thenIsDeletedWithSpecifiedUser () {
536+ String text = "This is a message to be deleted with deletedBy" ;
537+ MessageRequestObject messageRequest =
538+ MessageRequestObject .builder ().text (text ).userId (testUserRequestObject .getId ()).build ();
539+ Message message =
540+ Assertions .assertDoesNotThrow (
541+ () ->
542+ Message .send (testChannel .getType (), testChannel .getId ())
543+ .message (messageRequest )
544+ .request ())
545+ .getMessage ();
546+ Assertions .assertNull (message .getDeletedAt ());
547+
548+ String deletedByUserId = "test-deleted-by-user" ;
549+ Message deletedMessage =
550+ Assertions .assertDoesNotThrow (
551+ () -> Message .delete (message .getId ())
552+ .deletedBy (deletedByUserId )
553+ .request ())
554+ .getMessage ();
555+ Assertions .assertNotNull (deletedMessage .getDeletedAt ());
556+ // Additional assertions can be added here once the backend supports checking the deletedBy field
557+ }
558+
533559 @ DisplayName ("Can retrieve many messages" )
534560 @ Test
535561 void whenRetrievingManyMessage_thenAreRetrieved () {
You can’t perform that action at this time.
0 commit comments