A decentralized music tracking and discovery platform built on AT Protocol 馃幍 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz
at main 31 lines 955 B view raw
1use chrono::{DateTime, Utc}; 2use serde::{Deserialize, Serialize}; 3 4#[derive(Debug, sqlx::FromRow, Serialize, Deserialize, Clone)] 5pub struct Track { 6 pub xata_id: String, 7 pub title: String, 8 pub artist: String, 9 pub album_artist: String, 10 pub album_art: Option<String>, 11 pub album: String, 12 pub track_number: i32, 13 pub duration: i32, 14 pub mb_id: Option<String>, 15 pub youtube_link: Option<String>, 16 pub spotify_link: Option<String>, 17 pub tidal_link: Option<String>, 18 pub apple_music_link: Option<String>, 19 pub sha256: String, 20 pub lyrics: Option<String>, 21 pub composer: Option<String>, 22 pub genre: Option<String>, 23 pub disc_number: i32, 24 pub copyright_message: Option<String>, 25 pub label: Option<String>, 26 pub uri: Option<String>, 27 pub artist_uri: Option<String>, 28 pub album_uri: Option<String>, 29 #[serde(with = "chrono::serde::ts_seconds")] 30 pub xata_createdat: DateTime<Utc>, 31}