package com.example.data.db import androidx.room.Entity import androidx.room.Index import androidx.room.PrimaryKey @Entity(tableName = "favorites") data class FavoriteEntity( @PrimaryKey val id: String, val mediaUri: String, val isVideo: Boolean, val title: String, val artist: String, val album: String, val durationMs: Long, val addedAt: Long = System.currentTimeMillis() ) @Entity(tableName = "play_history") data class PlayHistoryEntity( @PrimaryKey val id: String, val mediaUri: String, val isVideo: Boolean, val title: String, val artist: String, val album: String, val durationMs: Long, val lastPositionMs: Long, val playedAt: Long = System.currentTimeMillis(), val completed: Boolean = false ) @Entity(tableName = "playlists") data class PlaylistEntity( @PrimaryKey(autoGenerate = true) val playlistId: Long = 0, val name: String, val createdAt: Long = System.currentTimeMillis() ) @Entity( tableName = "playlist_items", indices = [Index(value = ["playlistId", "mediaUri"], unique = true)] ) data class PlaylistItemEntity( @PrimaryKey(autoGenerate = true) val id: Long = 0, val playlistId: Long, val mediaUri: String, val isVideo: Boolean, val title: String, val artist: String, val album: String, val durationMs: Long, val orderIndex: Int = 0 )