diff options
author | desperateCoder <echotodevnull@gmail.com> | 2021-04-10 01:05:35 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2021-04-10 14:38:50 +0300 |
commit | 505ce8e4ac9c92ff31251c0a4ef34f6a80d91259 (patch) | |
tree | c1c0339188a26a3c979d12a5355bfc40043aafbb /app/src/main/java/it/niedermann/nextcloud/deck/model | |
parent | d79da5f7da415dfb97080f17fd2b83f836538ee6 (diff) |
#923 fix room fuckup
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/model')
11 files changed, 82 insertions, 13 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/AccessControl.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/AccessControl.java index e2a3ccc3b..01612a952 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/AccessControl.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/AccessControl.java @@ -11,17 +11,23 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; import it.niedermann.nextcloud.deck.model.ocs.user.GroupMemberUIDs; @Entity(inheritSuperIndices = true, - indices = { - @Index(value = "accountId", name = "acl_accId"), - @Index("boardId") - }, - foreignKeys = { - @ForeignKey( - entity = Board.class, - parentColumns = "localId", - childColumns = "boardId", onDelete = ForeignKey.CASCADE - ) - } + indices = { + @Index(value = "accountId", name = "acl_accId"), + @Index("boardId") + }, + foreignKeys = { + @ForeignKey( + entity = Board.class, + parentColumns = "localId", + childColumns = "boardId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE + + ) + } ) public class AccessControl extends AbstractRemoteEntity { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Attachment.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Attachment.java index eaa50dfa1..8789e2ee7 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Attachment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/Attachment.java @@ -19,6 +19,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; parentColumns = "localId", childColumns = "cardId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java index 27dcd1df8..ebe9805ed 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/Board.java @@ -26,7 +26,12 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; @ForeignKey( entity = User.class, parentColumns = "localId", - childColumns = "ownerId", onDelete = ForeignKey.SET_NULL + childColumns = "ownerId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) 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 9914377e0..a5650f124 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 @@ -25,6 +25,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; entity = Stack.class, parentColumns = "localId", childColumns = "stackId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Label.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Label.java index da24edb5a..5864823e4 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Label.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/Label.java @@ -26,6 +26,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; parentColumns = "localId", childColumns = "boardId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/Stack.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/Stack.java index 00f054605..5e75b1d31 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/Stack.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/Stack.java @@ -17,6 +17,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; entity = Board.class, parentColumns = "localId", childColumns = "boardId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/User.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/User.java index fd318ce7a..87e613fb6 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/User.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/User.java @@ -1,6 +1,7 @@ package it.niedermann.nextcloud.deck.model; import androidx.room.Entity; +import androidx.room.ForeignKey; import androidx.room.Ignore; import androidx.room.Index; @@ -8,7 +9,18 @@ import java.io.Serializable; import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; -@Entity(inheritSuperIndices = true, indices = {@Index(value = "uid", name = "user_uid")}) +@Entity(inheritSuperIndices = true, + indices = { + @Index(value = "uid", name = "user_uid") + }, + foreignKeys = { + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE + ) + } +) public class User extends AbstractRemoteEntity implements Serializable { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Activity.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Activity.java index 863dff887..cd4fadc80 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Activity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Activity.java @@ -4,6 +4,7 @@ import androidx.room.Entity; import androidx.room.ForeignKey; import androidx.room.Index; +import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.Card; import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; @@ -18,6 +19,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; entity = Card.class, parentColumns = "localId", childColumns = "cardId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/comment/DeckComment.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/comment/DeckComment.java index 8bba9740b..370850113 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/comment/DeckComment.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/comment/DeckComment.java @@ -9,6 +9,7 @@ import java.time.Instant; import java.util.ArrayList; import java.util.List; +import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.Card; import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; @@ -28,6 +29,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; entity = DeckComment.class, parentColumns = "localId", childColumns = "parentId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProject.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProject.java index 49bc7296d..2e163735e 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProject.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProject.java @@ -2,12 +2,14 @@ package it.niedermann.nextcloud.deck.model.ocs.projects; import androidx.annotation.NonNull; import androidx.room.Entity; +import androidx.room.ForeignKey; import androidx.room.Ignore; import androidx.room.Index; import java.util.ArrayList; import java.util.List; +import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; @Entity(inheritSuperIndices = true, @@ -15,6 +17,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; @Index(value = "accountId", name = "index_project_accID"), }, foreignKeys = { + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE + ) } ) public class OcsProject extends AbstractRemoteEntity { diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProjectResource.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProjectResource.java index cd63ccde4..9e9ea5910 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProjectResource.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/projects/OcsProjectResource.java @@ -9,6 +9,7 @@ import androidx.room.RoomWarnings; import java.io.Serializable; +import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; @SuppressWarnings(RoomWarnings.INDEX_FROM_PARENT_IS_DROPPED) @@ -25,6 +26,11 @@ import it.niedermann.nextcloud.deck.model.interfaces.AbstractRemoteEntity; entity = OcsProject.class, parentColumns = "localId", childColumns = "projectId", onDelete = ForeignKey.CASCADE + ), + @ForeignKey( + entity = Account.class, + parentColumns = "id", + childColumns = "accountId", onDelete = ForeignKey.CASCADE ) } ) @@ -78,6 +84,7 @@ public class OcsProjectResource extends AbstractRemoteEntity implements Serializ /** * Caution: the Link might be a full url or only the relative path! + * * @return The link to the Resource */ @Nullable |