lyrics

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

commit e256d2068805006889821ef19edfd226a80d6091
parent a5c5af3c985e9adc47764b207cc8e9bbf61ef30b
Author: brookjeynes <me@brookjeynes.dev>
Date:   Tue, 28 Apr 2026 21:13:40 +1000

feat(domain): setup song / artist models

Signed-off-by: brookjeynes <me@brookjeynes.dev>

Diffstat:
Ainternal/domain/artist.go | 6++++++
Ainternal/domain/song-artist.go | 15+++++++++++++++
Ainternal/domain/song.go | 11+++++++++++
3 files changed, 32 insertions(+), 0 deletions(-)

diff --git a/internal/domain/artist.go b/internal/domain/artist.go @@ -0,0 +1,6 @@ +package domain + +type Artist struct { + ID int64 + Name string +} diff --git a/internal/domain/song-artist.go b/internal/domain/song-artist.go @@ -0,0 +1,15 @@ +package domain + +type SongArtistRole string + +const ( + RolePrimary SongArtistRole = "primary" + RoleFeatured SongArtistRole = "featured" +) + +type SongArtist struct { + SongID int64 + ArtistID int64 + Role SongArtistRole + Order int +} diff --git a/internal/domain/song.go b/internal/domain/song.go @@ -0,0 +1,11 @@ +package domain + +import "time" + +type Song struct { + ID int64 + Title string + Lyrics string + Date time.Time + Artists []SongArtist +}