feat(S02/T01): Added CoverArtGroupURL for release-group cover art, conc…

- backend/explore/coverart.go
- backend/explore/explore.go
- backend/explore/coverart_test.go
- frontend/wailsjs/go/explore/Service.js
- frontend/wailsjs/go/explore/Service.d.ts
This commit is contained in:
2026-03-23 17:31:01 -04:00
parent 1ff53d8084
commit 677ed01d89
5 changed files with 316 additions and 1 deletions
+92
View File
@@ -0,0 +1,92 @@
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
// -- Explore types (inline, matching Go JSON tags) ------------------
export interface MBArtist {
mbid: string;
name: string;
sortName: string;
type: string;
country: string;
disambiguation: string;
score: number;
}
export interface MBReleaseGroup {
mbid: string;
title: string;
primaryType: string;
secondaryTypes?: string[];
firstReleaseDate: string;
artistCredit: string;
}
export interface MBRecording {
mbid: string;
title: string;
length: number;
artistCredit: string;
score: number;
}
export interface MBRelease {
mbid: string;
title: string;
date: string;
country: string;
status: string;
tracks?: MBTrack[];
}
export interface MBTrack {
position: number;
title: string;
length: number;
mbid: string;
}
export interface MBSearchResult {
artists?: MBArtist[];
releaseGroups?: MBReleaseGroup[];
recordings?: MBRecording[];
}
export interface LBTopRecording {
recordingMbid: string;
artistName: string;
trackName: string;
totalListenCount: number;
}
export interface LBSimilarArtist {
artistMbid: string;
name: string;
score: number;
}
// -- Service methods ------------------------------------------------
export function Search(arg1:string):Promise<MBSearchResult>;
export function SearchArtists(arg1:string):Promise<Array<MBArtist>>;
export function SearchReleaseGroups(arg1:string):Promise<Array<MBReleaseGroup>>;
export function SearchRecordings(arg1:string):Promise<Array<MBRecording>>;
export function LookupArtist(arg1:string):Promise<MBArtist>;
export function LookupReleaseGroup(arg1:string):Promise<MBReleaseGroup>;
export function BrowseReleaseGroups(arg1:string):Promise<Array<MBReleaseGroup>>;
export function BrowseReleases(arg1:string):Promise<Array<MBRelease>>;
export function TopRecordingsForArtist(arg1:string):Promise<Array<LBTopRecording>>;
export function SimilarArtists(arg1:string):Promise<Array<LBSimilarArtist>>;
export function CoverArtURL(arg1:string):Promise<string>;
export function CoverArtGroupURL(arg1:string):Promise<string>;
+51
View File
@@ -0,0 +1,51 @@
// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export function Search(arg1) {
return window['go']['explore']['Service']['Search'](arg1);
}
export function SearchArtists(arg1) {
return window['go']['explore']['Service']['SearchArtists'](arg1);
}
export function SearchReleaseGroups(arg1) {
return window['go']['explore']['Service']['SearchReleaseGroups'](arg1);
}
export function SearchRecordings(arg1) {
return window['go']['explore']['Service']['SearchRecordings'](arg1);
}
export function LookupArtist(arg1) {
return window['go']['explore']['Service']['LookupArtist'](arg1);
}
export function LookupReleaseGroup(arg1) {
return window['go']['explore']['Service']['LookupReleaseGroup'](arg1);
}
export function BrowseReleaseGroups(arg1) {
return window['go']['explore']['Service']['BrowseReleaseGroups'](arg1);
}
export function BrowseReleases(arg1) {
return window['go']['explore']['Service']['BrowseReleases'](arg1);
}
export function TopRecordingsForArtist(arg1) {
return window['go']['explore']['Service']['TopRecordingsForArtist'](arg1);
}
export function SimilarArtists(arg1) {
return window['go']['explore']['Service']['SimilarArtists'](arg1);
}
export function CoverArtURL(arg1) {
return window['go']['explore']['Service']['CoverArtURL'](arg1);
}
export function CoverArtGroupURL(arg1) {
return window['go']['explore']['Service']['CoverArtGroupURL'](arg1);
}