From aea8b1c3d6037279bb88cdba4a5d0a806ad21b13 Mon Sep 17 00:00:00 2001 From: Andriy Matkivskiy Date: Sat, 1 Oct 2016 06:36:45 +0300 Subject: [PATCH] Fix join room request. Add getRoomById request. Resolve #20 --- Changelog.md | 4 ++- .../gitter/sdk/async/api/AsyncGitterApi.java | 12 ++++--- .../async/client/AsyncGitterApiClient.java | 4 +-- .../gitter/sdk/rx/api/RxGitterApi.java | 7 ++-- .../sdk/rx/client/RxGitterApiClient.java | 8 +++-- .../gitter/sdk/sync/api/SyncGitterApi.java | 7 ++-- .../sdk/sync/client/SyncGitterApiClient.java | 4 +-- .../gitter/sdk/samples/RxSamples.java | 32 ++++++------------- 8 files changed, 41 insertions(+), 37 deletions(-) diff --git a/Changelog.md b/Changelog.md index 3e2c797..c0f3819 100644 --- a/Changelog.md +++ b/Changelog.md @@ -13,4 +13,6 @@ **Rx,Async,Sync:** - Add `delete` room API -- Remove channels API \ No newline at end of file +- Remove channels API +- Fix `joinRoom` API +- Add `getRoomById` API \ No newline at end of file diff --git a/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/api/AsyncGitterApi.java b/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/api/AsyncGitterApi.java index b1c5260..f17b9a3 100644 --- a/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/api/AsyncGitterApi.java +++ b/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/api/AsyncGitterApi.java @@ -53,16 +53,20 @@ void searchUsers( void searchUsers(@Query("q") String searchTerm, Callback callback); // Rooms Api + @GET("/rooms/{roomId}") + void getRoomById(@Path("roomId") String roomId, Callback callback); + + @POST("/user/{userId}/rooms") + @FormUrlEncoded + void joinRoom(@Path("userId") String userId, @Field("id") String roomId, + Callback callback); + @GET("/rooms/{roomId}/users") void getRoomUsers(@Path("roomId") String roomId, Callback> callback); @GET("/user/{userId}/rooms") void getUserRooms(@Path("userId") String userId, Callback> callback); - @POST("/rooms") - @FormUrlEncoded - void joinRoom(@Field("uri") String roomUri, Callback callback); - @PUT("/rooms/{roomId}") void updateRoom(@Path("roomId") String roomId, @Body UpdateRoomRequestParam param, Callback callback); diff --git a/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/client/AsyncGitterApiClient.java b/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/client/AsyncGitterApiClient.java index c6ce00d..e70aad5 100644 --- a/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/client/AsyncGitterApiClient.java +++ b/library/async/src/main/java/com/amatkivskiy/gitter/sdk/async/client/AsyncGitterApiClient.java @@ -91,8 +91,8 @@ public void getCurrentUserRooms(Callback> callback) { api.getCurrentUserRooms(callback); } - public void joinRoom(String roomUri, Callback callback) { - api.joinRoom(roomUri, callback); + public void joinRoom(String userId, String roomId, Callback callback) { + api.joinRoom(userId, roomId, callback); } public void updateRoom(String roomId, UpdateRoomRequestParam params, diff --git a/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/api/RxGitterApi.java b/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/api/RxGitterApi.java index 4c59e75..aed2e5b 100644 --- a/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/api/RxGitterApi.java +++ b/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/api/RxGitterApi.java @@ -46,6 +46,9 @@ public interface RxGitterApi { Observable searchUsers(@Query("q") String searchTerm); // Rooms API + @GET("/rooms/{roomId}") + Observable getRoomById(@Path("roomId") String roomId); + @GET("/user/{userId}/rooms") Observable> getUserRooms(@Path("userId") String userId); @@ -55,9 +58,9 @@ public interface RxGitterApi { @GET("/rooms/{roomId}/users") Observable> getRoomUsers(@Path("roomId") String roomId); - @POST("/rooms") + @POST("/user/{userId}/rooms") @FormUrlEncoded - Observable joinRoom(@Field("uri") String roomUri); + Observable joinRoom(@Path("userId") String userId, @Field("id") String roomId); @PUT("/rooms/{roomId}") Observable updateRoom(@Path("roomId") String roomId, @Body UpdateRoomRequestParam param); diff --git a/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/client/RxGitterApiClient.java b/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/client/RxGitterApiClient.java index 3019469..b107e81 100644 --- a/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/client/RxGitterApiClient.java +++ b/library/rx/src/main/java/com/amatkivskiy/gitter/sdk/rx/client/RxGitterApiClient.java @@ -68,6 +68,10 @@ public List call(SearchUsersResponse searchUsersResponse) { } // Rooms API + public Observable getRoomById(String roomId) { + return api.getRoomById(roomId); + } + public Observable> getUserRooms(String userId) { return api.getUserRooms(userId); } @@ -80,8 +84,8 @@ public Observable> getRoomUsers(String roomId) { return api.getRoomUsers(roomId); } - public Observable joinRoom(String roomUri) { - return api.joinRoom(roomUri); + public Observable joinRoom(String userId, String roomId) { + return api.joinRoom(userId, roomId); } public Observable updateRoom(String roomId, UpdateRoomRequestParam params) { diff --git a/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/api/SyncGitterApi.java b/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/api/SyncGitterApi.java index 3a1e4de..bd1f298 100644 --- a/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/api/SyncGitterApi.java +++ b/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/api/SyncGitterApi.java @@ -48,9 +48,12 @@ public interface SyncGitterApi { SearchUsersResponse searchUsers(@Query("q") String searchTerm); // Rooms API - @POST("/rooms") + @GET("/rooms/{roomId}") + RoomResponse getRoomById(@Path("roomId") String roomId); + + @POST("/user/{userId}/rooms") @FormUrlEncoded - RoomResponse joinRoom(@Field("uri") String roomUri); + RoomResponse joinRoom(@Path("userId") String userId, @Field("id") String roomId); @GET("/rooms/{roomId}/users") List getRoomUsers(@Path("roomId") String roomId); diff --git a/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/client/SyncGitterApiClient.java b/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/client/SyncGitterApiClient.java index 9526f5f..054dbfd 100644 --- a/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/client/SyncGitterApiClient.java +++ b/library/sync/src/main/java/com/amatkivskiy/gitter/sdk/sync/client/SyncGitterApiClient.java @@ -70,8 +70,8 @@ public List getRoomUsers(String roomId) { return api.getRoomUsers(roomId); } - public RoomResponse joinRoom(String roomUri) { - return api.joinRoom(roomUri); + public RoomResponse joinRoom(String userId, String roomId) { + return api.joinRoom(userId, roomId); } public RoomResponse updateRoom(String roomId, UpdateRoomRequestParam params) { diff --git a/samples/src/main/java/com/amatkivskiy/gitter/sdk/samples/RxSamples.java b/samples/src/main/java/com/amatkivskiy/gitter/sdk/samples/RxSamples.java index b277014..328a2a1 100644 --- a/samples/src/main/java/com/amatkivskiy/gitter/sdk/samples/RxSamples.java +++ b/samples/src/main/java/com/amatkivskiy/gitter/sdk/samples/RxSamples.java @@ -37,28 +37,16 @@ public static void main(String[] args) { // This is required only for authentication. GitterDeveloperCredentials.init(new SimpleGitterCredentialsProvider(OAUTH_KEY, OAUTH_SECRET, REDIRECT_URL)); -// getAccessTokenSample(); -// getUserSample(); -// getRoomChatMessages(); -// roomMessagesStreamSample(); -// leaveRoomSample(); -// searchRoomsSample(); -// searchUsersSample(); -// markMessagesRead(); -// getSuggestedRooms(); -// roomEventsStreamSample(); - testMethod(); - } - - private static void testMethod() { - RxGitterApiClient client = new RxGitterApiClient.Builder() - .withAccountToken("c2fc54dc5bc835317b7b29f389383611d8940987") - .build(); - - BooleanResponse result = client.deleteRooom("57edcee740f3a6eec068229e").toBlocking().first(); - System.out.println(String.format("success : %s", result.success)); - - System.exit(0); + getAccessTokenSample(); + getUserSample(); + getRoomChatMessages(); + roomMessagesStreamSample(); + leaveRoomSample(); + searchRoomsSample(); + searchUsersSample(); + markMessagesRead(); + getSuggestedRooms(); + roomEventsStreamSample(); } private static void roomEventsStreamSample() {