Fix misc types

This commit is contained in:
jeffvli 2023-05-17 21:07:04 -07:00
parent ce72ff5e8d
commit 4cb54bc9da
5 changed files with 42 additions and 31 deletions

View file

@ -524,7 +524,8 @@ const jfSongListSort = {
RELEASE_DATE: 'PremiereDate,AlbumArtist,Album,SortName',
} as const;
const songListParameters = baseParameters.extend({
const songListParameters = paginationParameters.merge(
baseParameters.extend({
AlbumArtistIds: z.string().optional(),
AlbumIds: z.string().optional(),
ArtistIds: z.string().optional(),
@ -536,7 +537,8 @@ const songListParameters = baseParameters.extend({
SortBy: z.nativeEnum(jfSongListSort).optional(),
Tags: z.string().optional(),
Years: z.string().optional(),
});
}),
);
const songList = pagination.extend({
Items: z.array(song),

View file

@ -156,6 +156,7 @@ const albumListParameters = paginationParameters.extend({
id: z.string().optional(),
name: z.string().optional(),
recently_added: z.boolean().optional(),
recently_played: z.boolean().optional(),
starred: z.boolean().optional(),
year: z.number().optional(),
});
@ -236,6 +237,8 @@ const songListParameters = paginationParameters.extend({
artist_id: z.array(z.string()).optional(),
genre_id: z.string().optional(),
starred: z.boolean().optional(),
title: z.string().optional(),
year: z.number().optional(),
});
const playlist = z.object({

View file

@ -316,7 +316,10 @@ export enum AlbumListSort {
export type AlbumListQuery = {
_custom?: {
jellyfin?: Partial<z.infer<typeof jfType._parameters.albumList>>;
jellyfin?: Partial<z.infer<typeof jfType._parameters.albumList>> & {
maxYear?: number;
minYear?: number;
};
navidrome?: Partial<z.infer<typeof ndType._parameters.albumList>>;
};
artistIds?: string[];
@ -423,7 +426,10 @@ export enum SongListSort {
export type SongListQuery = {
_custom?: {
jellyfin?: Partial<z.infer<typeof jfType._parameters.songList>>;
jellyfin?: Partial<z.infer<typeof jfType._parameters.songList>> & {
maxYear?: number;
minYear?: number;
};
navidrome?: Partial<z.infer<typeof ndType._parameters.songList>>;
};
albumIds?: string[];

View file

@ -37,8 +37,8 @@ export const JellyfinAlbumFilters = ({
}, [genreListQuery.data]);
const selectedGenres = useMemo(() => {
return filter._custom?.jellyfin?.genreIds?.split(',');
}, [filter._custom?.jellyfin?.genreIds]);
return filter._custom?.jellyfin?.GenreIds?.split(',');
}, [filter._custom?.jellyfin?.GenreIds]);
const toggleFilters = [
{
@ -50,7 +50,7 @@ export const JellyfinAlbumFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
isFavorite: e.currentTarget.checked ? true : undefined,
IsFavorite: e.currentTarget.checked ? true : undefined,
},
},
},
@ -58,7 +58,7 @@ export const JellyfinAlbumFilters = ({
}) as AlbumListFilter;
handleFilterChange(updatedFilters);
},
value: filter._custom?.jellyfin?.isFavorite,
value: filter._custom?.jellyfin?.IsFavorite,
},
];
@ -104,7 +104,7 @@ export const JellyfinAlbumFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
genreIds: genreFilterString,
GenreIds: genreFilterString,
},
},
},
@ -145,7 +145,7 @@ export const JellyfinAlbumFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
albumArtistIds: albumArtistFilterString,
AlbumArtistIds: albumArtistFilterString,
},
},
},
@ -206,7 +206,7 @@ export const JellyfinAlbumFilters = ({
clearable
searchable
data={selectableAlbumArtists}
defaultValue={filter._custom?.jellyfin?.albumArtistIds?.split(',')}
defaultValue={filter._custom?.jellyfin?.AlbumArtistIds?.split(',')}
disabled={disableArtistFilter}
label="Artist"
limit={300}

View file

@ -33,8 +33,8 @@ export const JellyfinSongFilters = ({
}, [genreListQuery.data]);
const selectedGenres = useMemo(() => {
return filter._custom?.jellyfin?.genreIds?.split(',');
}, [filter._custom?.jellyfin?.genreIds]);
return filter._custom?.jellyfin?.GenreIds?.split(',');
}, [filter._custom?.jellyfin?.GenreIds]);
const toggleFilters = [
{
@ -46,8 +46,8 @@ export const JellyfinSongFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
includeItemTypes: 'Audio',
isFavorite: e.currentTarget.checked ? true : undefined,
IncludeItemTypes: 'Audio',
IsFavorite: e.currentTarget.checked ? true : undefined,
},
},
},
@ -55,7 +55,7 @@ export const JellyfinSongFilters = ({
}) as SongListFilter;
handleFilterChange(updatedFilters);
},
value: filter._custom?.jellyfin?.isFavorite,
value: filter._custom?.jellyfin?.IsFavorite,
},
];
@ -67,7 +67,7 @@ export const JellyfinSongFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
includeItemTypes: 'Audio',
IncludeItemTypes: 'Audio',
minYear: e === '' ? undefined : (e as number),
},
},
@ -85,7 +85,7 @@ export const JellyfinSongFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
includeItemTypes: 'Audio',
IncludeItemTypes: 'Audio',
maxYear: e === '' ? undefined : (e as number),
},
},
@ -103,8 +103,8 @@ export const JellyfinSongFilters = ({
...filter._custom,
jellyfin: {
...filter._custom?.jellyfin,
genreIds: genreFilterString,
includeItemTypes: 'Audio',
GenreIds: genreFilterString,
IncludeItemTypes: 'Audio',
},
},
},