84 lines
2.0 KiB
Go
84 lines
2.0 KiB
Go
package component
|
|
|
|
import (
|
|
metadataPb "homelab.lan/music-agregator/gen/metadata/v1"
|
|
"homelab.lan/music-agregator/internal/indexer"
|
|
)
|
|
|
|
func newMetadataAlbum(id, title, artistID, artistName string) *metadataPb.Album {
|
|
return &metadataPb.Album{
|
|
Id: id,
|
|
Title: title,
|
|
AlbumType: "album",
|
|
ReleaseDate: "2024-01-15",
|
|
TotalTracks: 10,
|
|
TotalDiscs: 1,
|
|
CoverUrl: "https://example.com/cover.jpg",
|
|
Artists: []*metadataPb.ArtistCredit{
|
|
{
|
|
Artist: &metadataPb.Artist{
|
|
Id: artistID,
|
|
Name: artistName,
|
|
},
|
|
Role: "primary",
|
|
Position: 1,
|
|
},
|
|
},
|
|
Label: &metadataPb.Label{
|
|
Id: "label-1",
|
|
Name: "Test Label",
|
|
},
|
|
Genres: []*metadataPb.Genre{
|
|
{Id: "genre-1", Name: "Rock"},
|
|
{Id: "genre-2", Name: "Alternative"},
|
|
},
|
|
}
|
|
}
|
|
|
|
func newMetadataTrack(id, title string, trackNum int32) *metadataPb.Track {
|
|
return &metadataPb.Track{
|
|
Id: id,
|
|
Title: title,
|
|
DurationMs: 240000,
|
|
Isrc: "US-XYZ-24-00001",
|
|
Explicit: false,
|
|
DiscNumber: 1,
|
|
TrackNumber: trackNum,
|
|
Artists: []*metadataPb.ArtistCredit{
|
|
{
|
|
Artist: &metadataPb.Artist{
|
|
Id: "artist-1",
|
|
Name: "Test Artist",
|
|
},
|
|
Role: "primary",
|
|
Position: 1,
|
|
},
|
|
},
|
|
}
|
|
}
|
|
|
|
func newSearchResponse(items ...*indexer.SearchItemResult) *indexer.SearchResponse {
|
|
return &indexer.SearchResponse{
|
|
Items: items,
|
|
}
|
|
}
|
|
|
|
func newSearchItem(title string, seeders int, downloadLink string) *indexer.SearchItemResult {
|
|
return &indexer.SearchItemResult{
|
|
Title: title,
|
|
DownloadLink: downloadLink,
|
|
Size: 500 * 1024 * 1024,
|
|
Tracker: "test-tracker",
|
|
Seeders: seeders,
|
|
Peers: seeders / 2,
|
|
}
|
|
}
|
|
|
|
func newTorrentData() []byte {
|
|
return []byte("d8:announce35:http://tracker.example.com/announce4:infod6:lengthi1024e4:name9:test.flac12:piece lengthi16384e6:pieces20:01234567890123456789ee")
|
|
}
|
|
|
|
func newTorrentDataMP3() []byte {
|
|
return []byte("d8:announce35:http://tracker.example.com/announce4:infod6:lengthi1024e4:name8:test.mp312:piece lengthi16384e6:pieces20:01234567890123456789ee")
|
|
}
|