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:
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java50
1 files changed, 31 insertions, 19 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 96dcbed81..2ef8436e0 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
@@ -12,7 +12,6 @@ import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.JoinBoardWithLabel;
import it.niedermann.nextcloud.deck.model.JoinCardWithLabel;
import it.niedermann.nextcloud.deck.model.JoinCardWithUser;
-import it.niedermann.nextcloud.deck.model.JoinStackWithCard;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.model.Stack;
import it.niedermann.nextcloud.deck.model.User;
@@ -74,7 +73,28 @@ public class DataBaseAdapter {
}
public FullCard getFullCardByRemoteIdDirectly(long accountId, long remoteId) {
- return db.getCardDao().getFullCardByRemoteIdDirectly(accountId, remoteId);
+ FullCard card = db.getCardDao().getFullCardByRemoteIdDirectly(accountId, remoteId);
+ readRelationsForCard(card);
+ return card;
+ }
+
+ private void readRelationsForCard(FullCard card) {
+ if (card != null){
+ if (card.getLabelIDs() != null && !card.getLabelIDs().isEmpty()){
+ card.setLabels(db.getLabelDao().getLabelsById(card.getLabelIDs()));
+ }
+ if (card.getAssignedUserIDs() != null && !card.getAssignedUserIDs().isEmpty()){
+ card.setAssignedUsers(db.getUserDao().getUsersById(card.getAssignedUserIDs()));
+ }
+ }
+ }
+ private void readRelationsForCard(List<FullCard> card) {
+ if (card == null){
+ return;
+ }
+ for (FullCard c : card) {
+ readRelationsForCard(c);
+ }
}
@@ -88,7 +108,11 @@ public class DataBaseAdapter {
}
public LiveData<List<FullCard>> getFullCardsForStack(long accountId, long localStackId) {
- return db.getCardDao().getFullCardsForStack(accountId, localStackId);
+ return wrapInLiveData((MutableLiveData<List<FullCard>> liveData) -> {
+ List<FullCard> fullCardsForStack = db.getCardDao().getFullCardsForStackDirectly(accountId, localStackId);
+ readRelationsForCard(fullCardsForStack);
+ liveData.postValue(fullCardsForStack);
+ });
}
public User getUserByRemoteIdDirectly(long accountId, long remoteId) {
@@ -151,13 +175,6 @@ public class DataBaseAdapter {
}
- public void createJoinStackWithCard(long localCardId, long localStackId) {
- JoinStackWithCard join = new JoinStackWithCard();
- join.setCardId(localCardId);
- join.setStackId(localStackId);
- db.getJoinStackWithCardDao().insert(join);
- }
-
public void createJoinBoardWithLabel(long localBoardId, long localLabelId) {
JoinBoardWithLabel join = new JoinBoardWithLabel();
join.setBoardId(localBoardId);
@@ -170,14 +187,6 @@ public class DataBaseAdapter {
db.getJoinBoardWithLabelDao().deleteByBoardId(localBoardId);
}
- public void deleteJoinedCardsForStack(long localStackId) {
- db.getJoinStackWithCardDao().deleteByStackId(localStackId);
- }
- public void deleteJoinedCardForStackById(long localCardId) {
- db.getJoinStackWithCardDao().deleteByCardId(localCardId);
- }
-
-
public void updateLabel(Label label) {
db.getLabelDao().update(label);
}
@@ -233,6 +242,10 @@ public class DataBaseAdapter {
liveData.postValue(newBoard);
});
}
+ public void createBoardDirectly(long accountId, Board board) {
+ board.setAccountId(accountId);
+ db.getBoardDao().insert(board);
+ }
public void deleteBoard(Board board) {
@@ -294,7 +307,6 @@ public class DataBaseAdapter {
public void updateCard(Card card) {
db.getCardDao().update(card);
-
}