Add Song model type
This commit is contained in:
@@ -0,0 +1,24 @@
|
|||||||
|
import { Base } from "./Base.js"
|
||||||
|
import { getFavoriteIds, addFavorite, removeFavorite } from "./favorites.js"
|
||||||
|
|
||||||
|
export default class Song extends Base {
|
||||||
|
static async forceLoad() {
|
||||||
|
return await m.request({ url: "/songs.json" })
|
||||||
|
}
|
||||||
|
|
||||||
|
get favorite() {
|
||||||
|
return getFavoriteIds().has(this.id || this.uuid)
|
||||||
|
}
|
||||||
|
|
||||||
|
set favorite(isFavorite) {
|
||||||
|
if (isFavorite) {
|
||||||
|
addFavorite(this.id || this.uuid)
|
||||||
|
} else {
|
||||||
|
removeFavorite(this.id || this.uuid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleFavorite() {
|
||||||
|
this.favorite = !this.favorite
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user