1515import io .getstream .chat .java .models .User .UserMuteRequestData .UserMuteRequest ;
1616import io .getstream .chat .java .models .User .UserPartialUpdateRequestData .UserPartialUpdateRequest ;
1717import io .getstream .chat .java .models .User .UserQueryBannedRequestData .UserQueryBannedRequest ;
18+ import io .getstream .chat .java .models .User .UserQueryFutureChannelBansRequestData .UserQueryFutureChannelBansRequest ;
1819import io .getstream .chat .java .models .User .UserReactivateRequestData .UserReactivateRequest ;
1920import io .getstream .chat .java .models .User .UserUnmuteRequestData .UserUnmuteRequest ;
2021import io .getstream .chat .java .models .User .UserUpsertRequestData .UserUpsertRequest ;
@@ -214,6 +215,30 @@ public static class Ban {
214215 private Date createdAt ;
215216 }
216217
218+ @ Data
219+ @ NoArgsConstructor
220+ public static class FutureChannelBan {
221+ @ Nullable
222+ @ JsonProperty ("user" )
223+ private User user ;
224+
225+ @ Nullable
226+ @ JsonProperty ("expires" )
227+ private Date expires ;
228+
229+ @ Nullable
230+ @ JsonProperty ("reason" )
231+ private String reason ;
232+
233+ @ Nullable
234+ @ JsonProperty ("shadow" )
235+ private Boolean shadow ;
236+
237+ @ NotNull
238+ @ JsonProperty ("created_at" )
239+ private Date createdAt ;
240+ }
241+
217242 @ Data
218243 @ NoArgsConstructor
219244 public static class OwnUser {
@@ -799,6 +824,10 @@ public static class UserBanRequestData {
799824 @ JsonProperty ("user" )
800825 private UserRequestObject user ;
801826
827+ @ Nullable
828+ @ JsonProperty ("ban_from_future_channels" )
829+ private Boolean banFromFutureChannels ;
830+
802831 public static class UserBanRequest extends StreamRequest <StreamResponseObject > {
803832 @ Override
804833 protected Call <StreamResponseObject > generateCall (Client client ) {
@@ -1078,6 +1107,8 @@ public static class UserUnbanRequest extends StreamRequest<StreamResponseObject>
10781107
10791108 @ Nullable private Boolean shadow ;
10801109
1110+ @ Nullable private Boolean removeFutureChannelsBan ;
1111+
10811112 @ NotNull
10821113 public UserUnbanRequest type (@ NotNull String type ) {
10831114 this .type = type ;
@@ -1096,9 +1127,15 @@ public UserUnbanRequest shadow(@NotNull Boolean shadow) {
10961127 return this ;
10971128 }
10981129
1130+ @ NotNull
1131+ public UserUnbanRequest removeFutureChannelsBan (@ NotNull Boolean removeFutureChannelsBan ) {
1132+ this .removeFutureChannelsBan = removeFutureChannelsBan ;
1133+ return this ;
1134+ }
1135+
10991136 @ Override
11001137 protected Call <StreamResponseObject > generateCall (Client client ) {
1101- return client .create (UserService .class ).unban (targetUserId , type , id , shadow );
1138+ return client .create (UserService .class ).unban (targetUserId , type , id , shadow , removeFutureChannelsBan );
11021139 }
11031140 }
11041141
@@ -1171,6 +1208,46 @@ public static class UserQueryBannedResponse extends StreamResponseObject {
11711208 private List <Ban > bans ;
11721209 }
11731210
1211+ @ Builder (
1212+ builderClassName = "UserQueryFutureChannelBansRequest" ,
1213+ builderMethodName = "" ,
1214+ buildMethodName = "internalBuild" )
1215+ @ Getter
1216+ @ EqualsAndHashCode
1217+ public static class UserQueryFutureChannelBansRequestData {
1218+ @ Nullable
1219+ @ JsonProperty ("user_id" )
1220+ private String userId ;
1221+
1222+ @ Nullable
1223+ @ JsonProperty ("exclude_expired_bans" )
1224+ private Boolean excludeExpiredBans ;
1225+
1226+ @ Nullable
1227+ @ JsonProperty ("limit" )
1228+ private Integer limit ;
1229+
1230+ @ Nullable
1231+ @ JsonProperty ("offset" )
1232+ private Integer offset ;
1233+
1234+ public static class UserQueryFutureChannelBansRequest extends StreamRequest <UserQueryFutureChannelBansResponse > {
1235+ @ Override
1236+ protected Call <UserQueryFutureChannelBansResponse > generateCall (Client client ) {
1237+ return client .create (UserService .class ).queryFutureChannelBans (this .internalBuild ());
1238+ }
1239+ }
1240+ }
1241+
1242+ @ Data
1243+ @ NoArgsConstructor
1244+ @ EqualsAndHashCode (callSuper = true )
1245+ public static class UserQueryFutureChannelBansResponse extends StreamResponseObject {
1246+ @ NotNull
1247+ @ JsonProperty ("bans" )
1248+ private List <FutureChannelBan > bans ;
1249+ }
1250+
11741251 @ Data
11751252 @ NoArgsConstructor
11761253 @ EqualsAndHashCode (callSuper = true )
@@ -1305,6 +1382,16 @@ public static UserQueryBannedRequest queryBanned() {
13051382 return new UserQueryBannedRequest ();
13061383 }
13071384
1385+ /**
1386+ * Creates a query future channel bans request
1387+ *
1388+ * @return the created request
1389+ */
1390+ @ NotNull
1391+ public static UserQueryFutureChannelBansRequest queryFutureChannelBans () {
1392+ return new UserQueryFutureChannelBansRequest ();
1393+ }
1394+
13081395 /**
13091396 * Creates a deactivate request
13101397 *
0 commit comments