lyrics

lyrics
git clone git://brookjeynes.dev/bjeynes/lyrics.git
Log | Files | Refs

song.go (1027B)


      1 package domain
      2 
      3 import (
      4 	"time"
      5 )
      6 
      7 type SongID int64
      8 
      9 type NewSong struct {
     10 	ID                     SongID
     11 	MusicBrainzRecordingID *MusicBrainzID
     12 	Title                  string
     13 	LatinTitle             *string
     14 	Lyrics                 string
     15 	ReleaseDate            time.Time
     16 	Artists                []NewSongArtist
     17 	Releases               []NewSongRelease
     18 	Genres                 []Genre
     19 }
     20 
     21 type NewSongArtist struct {
     22 	ArtistID  ArtistID
     23 	Role      ArtistRole
     24 	SortOrder int
     25 }
     26 
     27 type NewSongRelease struct {
     28 	ReleaseID   ReleaseID
     29 	TrackNumber int
     30 }
     31 
     32 type Song struct {
     33 	ID                     SongID
     34 	MusicBrainzRecordingID *MusicBrainzID
     35 	Title                  string
     36 	LatinTitle             *string
     37 	Lyrics                 string
     38 	ReleaseDate            time.Time
     39 	Artists                []SongArtist
     40 	Releases               []SongRelease
     41 	Genres                 []Genre
     42 }
     43 
     44 type SongArtist struct {
     45 	Artist    Artist
     46 	Role      ArtistRole
     47 	SortOrder int
     48 }
     49 
     50 type SongRelease struct {
     51 	Release     Release
     52 	TrackNumber int
     53 }