mirror of https://github.com/TeamNewPipe/NewPipe
48 lines
1.6 KiB
Kotlin
48 lines
1.6 KiB
Kotlin
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"
|
|
}
|
|
}
|