musicbrainz-api
Version:
MusicBrainz API client for reading and submitting metadata
75 lines (74 loc) • 2.3 kB
TypeScript
export type CovertType = 'Front' | 'Back' | 'Booklet' | 'Medium' | 'Obi' | 'Spine' | 'Track' | 'Tray' | 'Sticker' | 'Poster' | 'Liner' | 'Watermark' | 'Raw/Unedited' | 'Matrix/Runout' | 'Top' | 'Bottom' | 'Other';
export interface IImage {
types: CovertType[];
front: boolean;
back: boolean;
edit: number;
image: string;
comment: string;
approved: boolean;
id: string;
thumbnails: {
large: string;
small: string;
'250': string;
'500'?: string;
'1200'?: string;
};
}
export type CoverType = 'front' | 'back';
export interface ICoversInfo {
images: IImage[];
release: string;
}
export interface ICoverInfo {
url: string | null;
}
export declare class CoverArtArchiveApi {
private httpClient;
private getJson;
private getCoverRedirect;
/**
* Fetch release
* @releaseId Release MBID
* @param releaseId MusicBrainz Release MBID
*/
getReleaseCovers(releaseId: string): Promise<ICoversInfo>;
/**
* Fetch release-group
* @releaseGroupId Release-group MBID
* @param releaseGroupId MusicBrainz Release Group MBID
*/
getReleaseGroupCovers(releaseGroupId: string): Promise<ICoversInfo>;
/**
* Fetch release cover
* @releaseId Release MBID
* @param releaseId MusicBrainz Release MBID
* @param coverType Front or back cover
*/
getReleaseCover(releaseId: string, coverType: CoverType): Promise<ICoverInfo>;
/**
* Fetch release-group cover
* @releaseId Release-group MBID
* @param releaseGroupId MusicBrainz Release-group MBID
* @param coverType Front or back cover
*/
getReleaseGroupCover(releaseGroupId: string, coverType: CoverType): Promise<ICoverInfo>;
private static makePath;
/**
* Fetch covers
* @releaseId MBID
* @param releaseId MusicBrainz Release Group MBID
* @param releaseType Fetch covers for specific release or release-group
* @param coverType Cover type
*/
private getCovers;
/**
* Fetch covers
* @releaseId MBID
* @param releaseId MusicBrainz Release Group MBID
* @param releaseType Fetch covers for specific release or release-group
* @param coverType Cover type
*/
private getCover;
}