package org.schabi.newpipe.database.feed.model import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.ForeignKey import androidx.room.ForeignKey.CASCADE import androidx.room.Index import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity.Companion.FEED_GROUP_SUBSCRIPTION_TABLE import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity.Companion.GROUP_ID import org.schabi.newpipe.database.feed.model.FeedGroupSubscriptionEntity.Companion.SUBSCRIPTION_ID import org.schabi.newpipe.database.subscription.SubscriptionEntity @Entity( tableName = FEED_GROUP_SUBSCRIPTION_TABLE, primaryKeys = [GROUP_ID, SUBSCRIPTION_ID], indices = [Index(SUBSCRIPTION_ID)], foreignKeys = [ ForeignKey( entity = FeedGroupEntity::class, parentColumns = [FeedGroupEntity.ID], childColumns = [GROUP_ID], onDelete = CASCADE, onUpdate = CASCADE, deferred = true ), ForeignKey( entity = SubscriptionEntity::class, parentColumns = [SubscriptionEntity.SUBSCRIPTION_UID], childColumns = [SUBSCRIPTION_ID], onDelete = CASCADE, onUpdate = CASCADE, deferred = true ) ] ) data class FeedGroupSubscriptionEntity( @ColumnInfo(name = GROUP_ID) var feedGroupId: Long, @ColumnInfo(name = SUBSCRIPTION_ID) var subscriptionId: Long ) { companion object { const val FEED_GROUP_SUBSCRIPTION_TABLE = "feed_group_subscription_join" const val GROUP_ID = "group_id" const val SUBSCRIPTION_ID = "subscription_id" } }