From 3d8c5acd25c350f45a0dddc08017dba9d9b438c3 Mon Sep 17 00:00:00 2001 From: desperateCoder Date: Tue, 14 May 2019 19:49:32 +0200 Subject: started integration of NC API (for eg. capabilities, activities) --- .../niedermann/nextcloud/deck/api/ApiProvider.java | 20 +++++++---- .../nextcloud/deck/api/NextcloudServerAPI.java | 18 ++++++++++ .../nextcloud/deck/api/RequestHelper.java | 2 +- .../persistence/sync/adapters/ServerAdapter.java | 40 +++++++++++----------- 4 files changed, 52 insertions(+), 28 deletions(-) create mode 100644 app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudServerAPI.java (limited to 'app') diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java index 3ea636d62..9d2b19ea4 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/ApiProvider.java @@ -18,9 +18,11 @@ import retrofit2.NextcloudRetrofitApiBuilder; public class ApiProvider { - private static final String API_ENDPOINT = "/index.php/apps/deck/api/v1.0/"; + private static final String DECK_API_ENDPOINT = "/index.php/apps/deck/api/v1.0/"; + private static final String NC_API_ENDPOINT = "/ocs/v2.php/"; - private DeckAPI mApi; + private DeckAPI deckAPI; + private NextcloudServerAPI nextcloudAPI; private Context context; private SingleSignOnAccount ssoAccount; @@ -32,8 +34,8 @@ public class ApiProvider { try { setAccount(); NextcloudAPI nextcloudAPI = new NextcloudAPI(context, ssoAccount, GsonConfig.getGson(), callback); - //mApi = new DeckAPI_SSO(nextcloudAPI); - mApi = new NextcloudRetrofitApiBuilder(nextcloudAPI, API_ENDPOINT).create(DeckAPI.class); + deckAPI = new NextcloudRetrofitApiBuilder(nextcloudAPI, DECK_API_ENDPOINT).create(DeckAPI.class); + this.nextcloudAPI = new NextcloudRetrofitApiBuilder(nextcloudAPI, NC_API_ENDPOINT).create(NextcloudServerAPI.class); } catch (SSOException e) { DeckLog.logError(e); callback.onError(e); @@ -44,8 +46,12 @@ public class ApiProvider { ssoAccount = SingleAccountHelper.getCurrentSingleSignOnAccount(context); } - public DeckAPI getAPI() { - return mApi; + public DeckAPI getDeckAPI() { + return deckAPI; + } + + public NextcloudServerAPI getNextcloudAPI() { + return nextcloudAPI; } public String getServerUrl() throws NextcloudFilesAppAccountNotFoundException, NoCurrentAccountSelectedException { @@ -56,7 +62,7 @@ public class ApiProvider { } public String getApiPath(){ - return API_ENDPOINT; + return DECK_API_ENDPOINT; } public String getApiUrl() throws NextcloudFilesAppAccountNotFoundException, NoCurrentAccountSelectedException { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudServerAPI.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudServerAPI.java new file mode 100644 index 000000000..348d9cd7d --- /dev/null +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/NextcloudServerAPI.java @@ -0,0 +1,18 @@ +package it.niedermann.nextcloud.deck.api; + + +import io.reactivex.Observable; +import it.niedermann.nextcloud.deck.model.Board; +import it.niedermann.nextcloud.deck.model.full.FullBoard; +import retrofit2.http.Body; +import retrofit2.http.GET; +import retrofit2.http.Query; + +public interface NextcloudServerAPI { + + public static final String FORMAT_JSON = "format"; + + @GET("cloud/capabilities") + Observable createBoard(@Body Board board, @Query("format") String format); + +} diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java b/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java index 3d91d2900..fcbe31acb 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/api/RequestHelper.java @@ -12,7 +12,7 @@ public class RequestHelper { public static void request(final Activity sourceActivity, final ApiProvider provider, final ObservableProvider call, final IResponseCallback callback){ - if (provider.getAPI() == null){ + if (provider.getDeckAPI() == null){ provider.initSsoApi(new NextcloudAPI.ApiConnectedListener() { @Override public void onConnected() { /* great, nothing to do. */} @Override diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java index a8e8775e8..441983f5a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/ServerAdapter.java @@ -97,104 +97,104 @@ public class ServerAdapter { public void getBoards(IResponseCallback> responseCallback) { RequestHelper.request(sourceActivity, provider, () -> - provider.getAPI().getBoards(true, getLastSyncDateFormatted(responseCallback.getAccount().getId())), + provider.getDeckAPI().getBoards(true, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); } public void createBoard(Board board, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().createBoard(board), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().createBoard(board), responseCallback); } public void deleteBoard(Board board, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().deleteBoard(board.getId()), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().deleteBoard(board.getId()), responseCallback); } public void updateBoard(Board board, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().updateBoard(board.getId(), board), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().updateBoard(board.getId(), board), responseCallback); } public void getStacks(long boardId, IResponseCallback> responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getStacks(boardId, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().getStacks(boardId, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); } public void getStack(long boardId, long stackId, IResponseCallback responseCallback) { - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getStack(boardId, stackId, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().getStack(boardId, stackId, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); } public void createStack(Stack stack, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().createStack(stack.getBoardId(), stack), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().createStack(stack.getBoardId(), stack), responseCallback); } public void deleteStack(Stack stack, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().deleteStack(stack.getBoardId(), stack.getId()), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().deleteStack(stack.getBoardId(), stack.getId()), responseCallback); } public void updateStack(Stack stack, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().updateStack(stack.getBoardId(), stack.getId(), stack), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().updateStack(stack.getBoardId(), stack.getId(), stack), responseCallback); } public void getCard(long boardId, long stackId, long cardId, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().getCard(boardId, stackId, cardId, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().getCard(boardId, stackId, cardId, getLastSyncDateFormatted(responseCallback.getAccount().getId())), responseCallback); } public void createCard(long boardId, long stackId, Card card, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().createCard(boardId, stackId, card), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().createCard(boardId, stackId, card), responseCallback); } public void deleteCard(long boardId, long stackId, Card card, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().deleteCard(boardId, stackId, card.getId()), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().deleteCard(boardId, stackId, card.getId()), responseCallback); } public void updateCard(long boardId, long stackId, Card card, IResponseCallback responseCallback) { ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().updateCard(boardId, stackId, card.getId(), card), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().updateCard(boardId, stackId, card.getId(), card), responseCallback); } public void assignUserToCard(long boardId, long stackId, long cardId, String userUID, IResponseCallback responseCallback){ ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().assignUserToCard(boardId, stackId, cardId, userUID), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().assignUserToCard(boardId, stackId, cardId, userUID), responseCallback); } public void unassignUserFromCard(long boardId, long stackId, long cardId, String userUID, IResponseCallback responseCallback){ ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().unassignUserFromCard(boardId, stackId, cardId, userUID), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().unassignUserFromCard(boardId, stackId, cardId, userUID), responseCallback); } public void assignLabelToCard(long boardId, long stackId, long cardId, long labelId, IResponseCallback responseCallback){ ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().assignLabelToCard(boardId, stackId, cardId, labelId), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().assignLabelToCard(boardId, stackId, cardId, labelId), responseCallback); } public void unassignLabelFromCard(long boardId, long stackId, long cardId, long labelId, IResponseCallback responseCallback){ ensureInternetConnection(); - RequestHelper.request(sourceActivity, provider, () -> provider.getAPI().unassignLabelFromCard(boardId, stackId, cardId, labelId), responseCallback); + RequestHelper.request(sourceActivity, provider, () -> provider.getDeckAPI().unassignLabelFromCard(boardId, stackId, cardId, labelId), responseCallback); } // ## LABELS public void createLabel(long boardId, Label label, IResponseCallback