Skip to content

Commit

Permalink
Added extra parameters for Rooms/Users search
Browse files Browse the repository at this point in the history
  • Loading branch information
asantibanez committed Oct 17, 2016
1 parent 6680826 commit b5aa567
Show file tree
Hide file tree
Showing 7 changed files with 86 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.amatkivskiy.gitter.sdk.async.api;

import com.amatkivskiy.gitter.sdk.model.request.RoomUsersRequestParams;
import com.amatkivskiy.gitter.sdk.model.request.UnreadRequestParam;
import com.amatkivskiy.gitter.sdk.model.request.UpdateRoomRequestParam;
import com.amatkivskiy.gitter.sdk.model.request.UserAccountType;
Expand Down Expand Up @@ -65,6 +66,15 @@ void joinRoom(@Path("userId") String userId, @Field("id") String roomId,
@GET("/rooms/{roomId}/users")
void getRoomUsers(@Path("roomId") String roomId, Callback<List<UserResponse>> callback);

@GET("/rooms/{roomId}/users")
void getRoomUsers(
@Path("roomId") String roomId,
@Path("q") String searchQuery,
@Path("skip") int skipCount,
@Path("limit") int limit,
Callback<List<UserResponse>> callback
);

@GET("/user/{userId}/rooms")
void getUserRooms(@Path("userId") String userId, Callback<List<RoomResponse>> callback);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.amatkivskiy.gitter.sdk.async.client;

import com.amatkivskiy.gitter.sdk.model.request.RoomUsersRequestParams;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

Expand Down Expand Up @@ -88,6 +89,10 @@ public void getRoomUsers(String roomId, Callback<List<UserResponse>> callback) {
api.getRoomUsers(roomId, callback);
}

public void getRoomUsers(String roomId, RoomUsersRequestParams params, Callback<List<UserResponse>> callback) {
api.getRoomUsers(roomId, params.searchQuery, params.skipCount, params.limit, callback);
}

public void getCurrentUserRooms(Callback<List<RoomResponse>> callback) {
api.getCurrentUserRooms(callback);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package com.amatkivskiy.gitter.sdk.model.request;

public class RoomUsersRequestParams {
public final String searchQuery;
public final Integer skipCount;
public final Integer limit;

private RoomUsersRequestParams(String searchQuery, Integer skipCount, Integer limit) {
this.searchQuery = searchQuery;
this.skipCount = skipCount;
this.limit = limit;
}

public static class RoomUsersRequestParamsBuilder {
private String searchQuery;
private Integer skipCount;
private Integer limit;

public RoomUsersRequestParamsBuilder() {
//Api default values
this.searchQuery = "";
this.skipCount = 0;
this.limit = 30;
}

public RoomUsersRequestParamsBuilder skip(int skipCount) {
this.skipCount = skipCount;
return this;
}

public RoomUsersRequestParamsBuilder limit(int limit) {
this.limit = limit;
return this;
}

public RoomUsersRequestParamsBuilder searchQuery(String query) {
this.searchQuery = query;
return this;
}

public RoomUsersRequestParams build() {
return new RoomUsersRequestParams(searchQuery, skipCount, limit);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ public interface RxGitterApi {
@GET("/rooms/{roomId}/users")
Observable<List<UserResponse>> getRoomUsers(@Path("roomId") String roomId);

@GET("/rooms/{roomId}/users")
Observable<List<UserResponse>> getRoomUsers(
@Path("roomId") String roomId,
@Query("q") String searchQuery,
@Query("skip") int skipCount,
@Query("limit") int limit
);

@POST("/user/{userId}/rooms")
@FormUrlEncoded
Observable<RoomResponse> joinRoom(@Path("userId") String userId, @Field("id") String roomId);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.amatkivskiy.gitter.sdk.rx.client;

import com.amatkivskiy.gitter.sdk.model.request.RoomUsersRequestParams;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

Expand Down Expand Up @@ -85,6 +86,10 @@ public Observable<List<UserResponse>> getRoomUsers(String roomId) {
return api.getRoomUsers(roomId);
}

public Observable<List<UserResponse>> getRoomUsers(String roomId, RoomUsersRequestParams params) {
return api.getRoomUsers(roomId, params.searchQuery, params.skipCount, params.limit);
}

public Observable<RoomResponse> joinRoom(String userId, String roomId) {
return api.joinRoom(userId, roomId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,14 @@ public interface SyncGitterApi {
@GET("/rooms/{roomId}/users")
List<UserResponse> getRoomUsers(@Path("roomId") String roomId);

@GET("/rooms/{roomId}/users")
List<UserResponse> getRoomUsers(
@Path("roomId") String roomId,
@Path("q") String searchQuery,
@Path("skip") int skipCount,
@Path("limit") int limit
);

@GET("/user/{userId}/rooms")
RoomResponse getUserRooms(@Path("userId") String userId);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.amatkivskiy.gitter.sdk.sync.client;

import com.amatkivskiy.gitter.sdk.model.request.RoomUsersRequestParams;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

Expand Down Expand Up @@ -72,6 +73,10 @@ public List<UserResponse> getRoomUsers(String roomId) {
return api.getRoomUsers(roomId);
}

public List<UserResponse> getRoomUsers(String roomId, RoomUsersRequestParams params) {
return api.getRoomUsers(roomId, params.searchQuery, params.skipCount, params.limit);
}

public RoomResponse joinRoom(String userId, String roomId) {
return api.joinRoom(userId, roomId);
}
Expand Down

0 comments on commit b5aa567

Please sign in to comment.