diff options
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/model')
4 files changed, 32 insertions, 59 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java index f15b41c1c..1fbdc34b1 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/Card.java @@ -16,28 +16,16 @@ public class Card extends AbstractRemoteEntity { private String title; private String description; @NonNull -// @Index private long stackId; - // @ToOne(joinProperty = "stackId") -// protected Stack stack; private String type; private Date createdAt; private Date deletedAt; - // @ToMany -// @JoinEntity(entity = JoinCardWithLabel.class, sourceProperty = "cardId", targetProperty = "labelId") -// private List<Label> labels = new ArrayList<>(); -// @ToMany -// @JoinEntity(entity = JoinCardWithUser.class, sourceProperty = "cardId", targetProperty = "userId") private String attachments; private int attachmentCount; private Long userId; - // @ToOne(joinProperty = "userId") -// private User owner; -// @Index @NonNull private int order; - // @Index private boolean archived; private Date dueDate; private boolean notified; diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/JoinStackWithCard.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/JoinStackWithCard.java deleted file mode 100644 index e286883eb..000000000 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/JoinStackWithCard.java +++ /dev/null @@ -1,40 +0,0 @@ -package it.niedermann.nextcloud.deck.model; - -import android.arch.persistence.room.Entity; -import android.arch.persistence.room.ForeignKey; -import android.arch.persistence.room.Index; -import android.support.annotation.NonNull; - -@Entity( - primaryKeys = {"stackId", "cardId"}, - indices = {@Index("cardId"), @Index("stackId")}, - foreignKeys = { - @ForeignKey(entity = Stack.class, - parentColumns = "localId", - childColumns = "stackId"), - @ForeignKey(entity = Card.class, - parentColumns = "localId", - childColumns = "cardId") - }) -public class JoinStackWithCard { - @NonNull - private Long stackId; - @NonNull - private Long cardId; - - public Long getStackId() { - return stackId; - } - - public void setStackId(Long stackId) { - this.stackId = stackId; - } - - public Long getCardId() { - return cardId; - } - - public void setCardId(Long cardId) { - this.cardId = cardId; - } -} diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java index 57b1b7c85..4be2c2a16 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullCard.java @@ -8,6 +8,8 @@ import java.util.ArrayList; import java.util.List; import it.niedermann.nextcloud.deck.model.Card; +import it.niedermann.nextcloud.deck.model.JoinCardWithLabel; +import it.niedermann.nextcloud.deck.model.JoinCardWithUser; import it.niedermann.nextcloud.deck.model.Label; import it.niedermann.nextcloud.deck.model.User; import it.niedermann.nextcloud.deck.model.interfaces.IRemoteEntity; @@ -16,10 +18,17 @@ public class FullCard implements IRemoteEntity { @Embedded public Card card; - @Relation(entity = Label.class, parentColumn = "localId", entityColumn = "localId") + @Relation(entity = JoinCardWithLabel.class, parentColumn = "localId", entityColumn = "cardId", projection = "labelId") + public List<Long> labelIDs; + + @Ignore public List<Label> labels; - @Relation(entity = User.class, parentColumn = "localId", entityColumn = "localId") + + @Relation(entity = JoinCardWithUser.class, parentColumn = "localId", entityColumn = "cardId", projection = "userId") + public List<Long> assignedUserIDs; + + @Ignore public List<User> assignedUsers; @Relation(parentColumn = "userId", entityColumn = "localId") @@ -53,6 +62,22 @@ public class FullCard implements IRemoteEntity { return owner; } + public List<Long> getAssignedUserIDs() { + return assignedUserIDs; + } + + public void setAssignedUserIDs(List<Long> assignedUserIDs) { + this.assignedUserIDs = assignedUserIDs; + } + + public List<Long> getLabelIDs() { + return labelIDs; + } + + public void setLabelIDs(List<Long> labelIDs) { + this.labelIDs = labelIDs; + } + public void setOwner(User owner) { List<User> user = new ArrayList<>(); user.add(owner); diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java index 8b966d693..83b081936 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/full/FullStack.java @@ -6,7 +6,7 @@ import android.arch.persistence.room.Relation; import java.util.List; -import it.niedermann.nextcloud.deck.model.JoinStackWithCard; +import it.niedermann.nextcloud.deck.model.Card; import it.niedermann.nextcloud.deck.model.Stack; import it.niedermann.nextcloud.deck.model.interfaces.IRemoteEntity; @@ -14,8 +14,8 @@ public class FullStack implements IRemoteEntity { @Embedded public Stack stack; - @Relation(entity = JoinStackWithCard.class, parentColumn = "localId", entityColumn = "stackId", projection = "cardId") - public List<Long> cards; + @Relation(entity = Card.class, parentColumn = "localId", entityColumn = "stackId") + public List<Card> cards; public Stack getStack() { @@ -26,11 +26,11 @@ public class FullStack implements IRemoteEntity { this.stack = stack; } - public List<Long> getCards() { + public List<Card> getCards() { return cards; } - public void setCards(List<Long> cards) { + public void setCards(List<Card> cards) { this.cards = cards; } |