diff --git a/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt b/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt index cf06889..5597a8a 100644 --- a/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt +++ b/app/src/main/java/com/denizk0461/studip/model/CanteenOffer.kt @@ -3,9 +3,10 @@ package com.denizk0461.studip.model import androidx.room.Entity import androidx.room.PrimaryKey -@Entity(tableName = "offers") +//@Entity(tableName = "offers") data class CanteenOffer( - @PrimaryKey val id: Int, +// @PrimaryKey val id: Int, + val id: Int, val date: String, val dateId: Int, // gives every item on the same day the same ID for easier filtering // val canteen: Int, diff --git a/app/src/main/java/com/denizk0461/studip/model/OfferCanteen.kt b/app/src/main/java/com/denizk0461/studip/model/OfferCanteen.kt index 1223f67..fc215cb 100644 --- a/app/src/main/java/com/denizk0461/studip/model/OfferCanteen.kt +++ b/app/src/main/java/com/denizk0461/studip/model/OfferCanteen.kt @@ -1,6 +1,12 @@ package com.denizk0461.studip.model +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity( + tableName = "offer_canteen", +) data class OfferCanteen( - val id: Int, + @PrimaryKey val id: Int, val canteen: String, ) \ No newline at end of file diff --git a/app/src/main/java/com/denizk0461/studip/model/OfferCategory.kt b/app/src/main/java/com/denizk0461/studip/model/OfferCategory.kt index 669ffcd..e20a861 100644 --- a/app/src/main/java/com/denizk0461/studip/model/OfferCategory.kt +++ b/app/src/main/java/com/denizk0461/studip/model/OfferCategory.kt @@ -1,8 +1,30 @@ package com.denizk0461.studip.model +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.ForeignKey +import androidx.room.PrimaryKey + +@Entity( + tableName = "offer_category", + foreignKeys = [ + ForeignKey( + OfferDate::class, + ["id"], + ["date_id"], + ForeignKey.CASCADE, + ), + ForeignKey( + OfferCanteen::class, + ["id"], + ["canteen_id"], + ForeignKey.CASCADE, + ), + ] +) data class OfferCategory( - val id: Int, - val dateId: Int, - val canteenId: Int, + @PrimaryKey val id: Int, + @ColumnInfo(name = "date_id") val dateId: Int, + @ColumnInfo(name = "canteen_id") val canteenId: Int, val category: String, ) diff --git a/app/src/main/java/com/denizk0461/studip/model/OfferDate.kt b/app/src/main/java/com/denizk0461/studip/model/OfferDate.kt index 31f6d3f..549056f 100644 --- a/app/src/main/java/com/denizk0461/studip/model/OfferDate.kt +++ b/app/src/main/java/com/denizk0461/studip/model/OfferDate.kt @@ -1,6 +1,12 @@ package com.denizk0461.studip.model +import androidx.room.Entity +import androidx.room.PrimaryKey + +@Entity( + tableName = "offer_date", +) data class OfferDate( - val id: Int, + @PrimaryKey val id: Int, val date: String, ) diff --git a/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt b/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt index a3f46db..200c5db 100644 --- a/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt +++ b/app/src/main/java/com/denizk0461/studip/model/OfferItem.kt @@ -1,8 +1,24 @@ package com.denizk0461.studip.model +import androidx.room.ColumnInfo +import androidx.room.Entity +import androidx.room.ForeignKey +import androidx.room.PrimaryKey + +@Entity( + tableName = "offer_item", + foreignKeys = [ + ForeignKey( + OfferCategory::class, + ["id"], + ["category_id"], + ForeignKey.CASCADE, + ), + ] +) data class OfferItem( - val id: Int, - val categoryId: Int, + @PrimaryKey val id: Int, + @ColumnInfo(name = "category_id") val categoryId: Int, val title: Int, val price: String, val isFair: Boolean,