Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/rooms users extended search #33

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions library/async/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
apply plugin: 'java'
apply plugin: 'com.novoda.bintray-release'

targetCompatibility = '1.7'
sourceCompatibility = '1.7'

buildscript {
repositories {
jcenter()
Expand Down
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
3 changes: 3 additions & 0 deletions library/core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
apply plugin: 'java'
apply plugin: 'com.novoda.bintray-release'

targetCompatibility = '1.7'
sourceCompatibility = '1.7'

version '1.5'

buildscript {
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);
}
}
}
3 changes: 3 additions & 0 deletions library/rx/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ apply plugin: 'com.novoda.bintray-release'
apply plugin: 'jacoco'
apply plugin: 'com.github.kt3k.coveralls'

targetCompatibility = '1.7'
sourceCompatibility = '1.7'

buildscript {
repositories {
jcenter()
Expand Down
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
3 changes: 3 additions & 0 deletions library/sync/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
apply plugin: 'java'
apply plugin: 'com.novoda.bintray-release'

targetCompatibility = '1.7'
sourceCompatibility = '1.7'

buildscript {
repositories {
jcenter()
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