mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-16 05:36:00 +02:00
add fallback for navidrome release date
This commit is contained in:
@@ -32,6 +32,22 @@ const normalizePlayDate = (item: WithDate): null | string => {
|
|||||||
return !item.playDate || item.playDate.includes('0001-') ? null : item.playDate;
|
return !item.playDate || item.playDate.includes('0001-') ? null : item.playDate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const matchesFullDate = (date: string) => {
|
||||||
|
return Boolean(date.match(/^\d{4}-\d{2}-\d{2}$/));
|
||||||
|
};
|
||||||
|
|
||||||
|
const normalizeReleaseDate = (item: { date?: string; releaseDate?: string }) => {
|
||||||
|
if (item.releaseDate && matchesFullDate(item.releaseDate)) {
|
||||||
|
return item.releaseDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.date && matchesFullDate(item.date)) {
|
||||||
|
return item.date;
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
const getArtists = (
|
const getArtists = (
|
||||||
item:
|
item:
|
||||||
| z.infer<typeof ndType._response.album>
|
| z.infer<typeof ndType._response.album>
|
||||||
@@ -192,7 +208,7 @@ const normalizeSong = (
|
|||||||
: null,
|
: null,
|
||||||
playCount: item.playCount || 0,
|
playCount: item.playCount || 0,
|
||||||
playlistItemId,
|
playlistItemId,
|
||||||
releaseDate: item.releaseDate ? new Date(item.releaseDate).toISOString() : null,
|
releaseDate: normalizeReleaseDate(item),
|
||||||
releaseYear: item.year || null,
|
releaseYear: item.year || null,
|
||||||
sampleRate: item.sampleRate || null,
|
sampleRate: item.sampleRate || null,
|
||||||
size: item.size,
|
size: item.size,
|
||||||
@@ -285,9 +301,9 @@ const normalizeAlbum = (
|
|||||||
lastPlayedAt: normalizePlayDate(item),
|
lastPlayedAt: normalizePlayDate(item),
|
||||||
mbzId: item.mbzAlbumId || null,
|
mbzId: item.mbzAlbumId || null,
|
||||||
name: item.name,
|
name: item.name,
|
||||||
originalDate: item.originalDate ? new Date(item.originalDate).toISOString() : null,
|
originalDate: item.originalDate || null,
|
||||||
playCount: item.playCount || 0,
|
playCount: item.playCount || 0,
|
||||||
releaseDate: item.releaseDate ? new Date(item.releaseDate).toISOString() : null,
|
releaseDate: normalizeReleaseDate(item),
|
||||||
releaseYear: item.maxYear || null,
|
releaseYear: item.maxYear || null,
|
||||||
size: item.size,
|
size: item.size,
|
||||||
songCount: item.songCount,
|
songCount: item.songCount,
|
||||||
|
|||||||
Reference in New Issue
Block a user