From 5089287ee4926d11ae36d4bf427c1743588d7c68 Mon Sep 17 00:00:00 2001 From: Zack Boehm Date: Thu, 24 Jul 2025 20:23:36 -0400 Subject: [PATCH] MusicBrainz: Add releaseDate to music releases --- src/api/apis/MusicBrainzAPI.ts | 3 +++ src/models/MusicReleaseModel.ts | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/api/apis/MusicBrainzAPI.ts b/src/api/apis/MusicBrainzAPI.ts index c67e820..9d34ee4 100644 --- a/src/api/apis/MusicBrainzAPI.ts +++ b/src/api/apis/MusicBrainzAPI.ts @@ -8,6 +8,7 @@ import { APIModel } from '../APIModel'; export class MusicBrainzAPI extends APIModel { plugin: MediaDbPlugin; + apiDateFormat: string = 'YYYY-MM-DD'; constructor(plugin: MediaDbPlugin) { super(); @@ -48,6 +49,7 @@ export class MusicBrainzAPI extends APIModel { title: result.title, englishTitle: result.title, year: new Date(result['first-release-date']).getFullYear().toString(), + releaseDate: this.plugin.dateFormatter.format(result['first-release-date'], this.apiDateFormat) ?? 'unknown', dataSource: this.apiName, url: 'https://musicbrainz.org/release-group/' + result.id, id: result.id, @@ -84,6 +86,7 @@ export class MusicBrainzAPI extends APIModel { title: result.title, englishTitle: result.title, year: new Date(result['first-release-date']).getFullYear().toString(), + releaseDate: this.plugin.dateFormatter.format(result['first-release-date'], this.apiDateFormat) ?? 'unknown', dataSource: this.apiName, url: 'https://musicbrainz.org/release-group/' + result.id, id: result.id, diff --git a/src/models/MusicReleaseModel.ts b/src/models/MusicReleaseModel.ts index 24f6816..5f20a75 100644 --- a/src/models/MusicReleaseModel.ts +++ b/src/models/MusicReleaseModel.ts @@ -10,6 +10,7 @@ export class MusicReleaseModel extends MediaTypeModel { artists: string[]; image: string; rating: number; + releaseDate: string; userData: { personalRating: number; @@ -22,6 +23,8 @@ export class MusicReleaseModel extends MediaTypeModel { this.artists = []; this.image = ''; this.rating = 0; + this.releaseDate = ''; + this.userData = { personalRating: 0, };