Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordesperateCoder <echotodevnull@gmail.com>2019-09-20 22:01:50 +0300
committerdesperateCoder <echotodevnull@gmail.com>2019-09-20 22:01:50 +0300
commit985bab10c3e25b4479d15938f5b54c57f3d6e5cf (patch)
treecbad8ed0519d15100d1f06088d326ea4e7c63c93 /app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync
parent973139b2762fdbfb1fb061de914c7cace4897cf7 (diff)
downsync: remove remote deleted Boards
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java9
3 files changed, 16 insertions, 0 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
index 4996f29e1..0012a0bec 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
@@ -441,6 +441,9 @@ public class DataBaseAdapter {
public List<FullBoard> getLocallyChangedBoards(long accountId) {
return db.getBoardDao().getLocallyChangedBoardsDirectly(accountId);
}
+ public List<FullBoard> getAllFullBoards(long accountId) {
+ return db.getBoardDao().getAllFullBoards(accountId);
+ }
public List<FullStack> getLocallyChangedStacksForBoard(long accountId, long localBoardId) {
return db.getStackDao().getLocallyChangedStacksForBoardDirectly(accountId, localBoardId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java
index bd05124ce..f749c40b2 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java
@@ -44,4 +44,8 @@ public interface BoardDao extends GenericDao<Board> {
@Query("SELECT b.* FROM board b JOIN stack s ON s.boardId = b.localId JOIN card c ON c.localId = :localCardId")
Board getBoardByLocalCardIdDirectly(long localCardId);
+
+ @Transaction
+ @Query("SELECT * FROM board WHERE accountId = :accountId")
+ List<FullBoard> getAllFullBoards(long accountId);
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
index e154124f8..561cc5dd9 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/helpers/providers/BoardDataProvider.java
@@ -142,4 +142,13 @@ public class BoardDataProvider extends AbstractSyncDataProvider<FullBoard> {
public void deleteOnServer(ServerAdapter serverAdapter, long accountId, IResponseCallback<Void> callback, FullBoard entity, DataBaseAdapter dataBaseAdapter) {
serverAdapter.deleteBoard(entity.getBoard(), callback);
}
+
+ @Override
+ public void handleDeletes(ServerAdapter serverAdapter, DataBaseAdapter dataBaseAdapter, long accountId, List<FullBoard> entitiesFromServer) {
+ List<FullBoard> localBoards = dataBaseAdapter.getAllFullBoards(accountId);
+ List<FullBoard> delta = findDelta(entitiesFromServer, localBoards);
+ for (FullBoard board : delta) {
+ dataBaseAdapter.deleteBoardPhysically(board.getBoard());
+ }
+ }
}