/* * Copyright (c) 2020 Hemanth Savarla. * * Licensed under the GNU General Public License v3 * * This is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * */ package code.name.monkey.retromusic.db import android.os.Parcelable import androidx.room.ColumnInfo import androidx.room.Entity import androidx.room.Index import androidx.room.PrimaryKey import kotlinx.android.parcel.Parcelize @Parcelize @Entity(indices = [Index(value = ["playlist_creator_id", "id"], unique = true)]) class SongEntity( @PrimaryKey(autoGenerate = true) @ColumnInfo(name = "song_key") val songPrimaryKey: Long = 0L, @ColumnInfo(name = "playlist_creator_id") val playlistCreatorId: Long, val id: Long, val title: String, @ColumnInfo(name = "track_number") val trackNumber: Int, val year: Int, val duration: Long, val data: String, @ColumnInfo(name = "date_modified") val dateModified: Long, @ColumnInfo(name = "album_id") val albumId: Long, @ColumnInfo(name = "album_name") val albumName: String, @ColumnInfo(name = "artist_id") val artistId: Long, @ColumnInfo(name = "artist_name") val artistName: String, val composer: String?, @ColumnInfo(name = "album_artist") val albumArtist: String? ) : Parcelable