diff --git a/src/renderer/api/controller.ts b/src/renderer/api/controller.ts index ee0768e9..cc99b567 100644 --- a/src/renderer/api/controller.ts +++ b/src/renderer/api/controller.ts @@ -7,7 +7,7 @@ import type { SongDetailArgs, AlbumArtistDetailArgs, AlbumArtistListArgs, - RatingArgs, + SetRatingArgs, GenreListArgs, CreatePlaylistArgs, DeletePlaylistArgs, @@ -79,8 +79,8 @@ export type ControllerEndpoint = Partial<{ getUserList: (args: UserListArgs) => Promise; removeFromPlaylist: (args: RemoveFromPlaylistArgs) => Promise; scrobble: (args: ScrobbleArgs) => Promise; + setRating: (args: SetRatingArgs) => Promise; updatePlaylist: (args: UpdatePlaylistArgs) => Promise; - updateRating: (args: RatingArgs) => Promise; }>; type ApiController = { @@ -119,8 +119,8 @@ const endpoints: ApiController = { getUserList: undefined, removeFromPlaylist: jellyfinApi.removeFromPlaylist, scrobble: jellyfinApi.scrobble, + setRating: undefined, updatePlaylist: jellyfinApi.updatePlaylist, - updateRating: undefined, }, navidrome: { addToPlaylist: ndController.addToPlaylist, @@ -151,8 +151,8 @@ const endpoints: ApiController = { getUserList: ndController.getUserList, removeFromPlaylist: ndController.removeFromPlaylist, scrobble: ssController.scrobble, + setRating: ssController.setRating, updatePlaylist: ndController.updatePlaylist, - updateRating: ssController.setRating, }, subsonic: { clearPlaylist: undefined, @@ -180,8 +180,8 @@ const endpoints: ApiController = { getTopSongs: ssController.getTopSongList, getUserList: undefined, scrobble: ssController.scrobble, + setRating: undefined, updatePlaylist: undefined, - updateRating: undefined, }, }; @@ -286,8 +286,8 @@ const deleteFavorite = async (args: FavoriteArgs) => { return (apiController('deleteFavorite') as ControllerEndpoint['deleteFavorite'])?.(args); }; -const updateRating = async (args: RatingArgs) => { - return (apiController('updateRating') as ControllerEndpoint['updateRating'])?.(args); +const updateRating = async (args: SetRatingArgs) => { + return (apiController('setRating') as ControllerEndpoint['setRating'])?.(args); }; const getTopSongList = async (args: TopSongListArgs) => { @@ -295,7 +295,7 @@ const getTopSongList = async (args: TopSongListArgs) => { }; const scrobble = async (args: ScrobbleArgs) => { - return (apiController('scrobble', args.server) as ControllerEndpoint['scrobble'])?.(args); + return (apiController('scrobble') as ControllerEndpoint['scrobble'])?.(args); }; export const controller = { diff --git a/src/renderer/api/navidrome/navidrome-controller.ts b/src/renderer/api/navidrome/navidrome-controller.ts index de39a86f..90eb23ae 100644 --- a/src/renderer/api/navidrome/navidrome-controller.ts +++ b/src/renderer/api/navidrome/navidrome-controller.ts @@ -278,10 +278,7 @@ const createPlaylist = async (args: CreatePlaylistArgs): Promise => { @@ -304,9 +301,7 @@ const updatePlaylist = async (args: UpdatePlaylistArgs): Promise => { diff --git a/src/renderer/api/types.ts b/src/renderer/api/types.ts index 561bdd65..61936e5f 100644 --- a/src/renderer/api/types.ts +++ b/src/renderer/api/types.ts @@ -730,11 +730,10 @@ export type FavoriteResponse = null | undefined; export type FavoriteQuery = { id: string[]; - serverId: string; type: LibraryItem; }; -export type FavoriteArgs = { query: FavoriteQuery } & BaseEndpointArgs; +export type FavoriteArgs = { query: FavoriteQuery; serverId: string } & BaseEndpointArgs; // Rating export type RatingResponse = null | undefined; @@ -742,10 +741,9 @@ export type RatingResponse = null | undefined; export type RatingQuery = { item: AnyLibraryItems; rating: number; - serverId: string; }; -export type SetRatingArgs = { query: RatingQuery } & BaseEndpointArgs; +export type SetRatingArgs = { query: RatingQuery; serverId: string } & BaseEndpointArgs; // Add to playlist export type AddToPlaylistResponse = null | undefined; @@ -761,6 +759,7 @@ export type AddToPlaylistBody = { export type AddToPlaylistArgs = { body: AddToPlaylistBody; query: AddToPlaylistQuery; + serverId: string; } & BaseEndpointArgs; // Remove from playlist @@ -771,10 +770,13 @@ export type RemoveFromPlaylistQuery = { songId: string[]; }; -export type RemoveFromPlaylistArgs = { query: RemoveFromPlaylistQuery } & BaseEndpointArgs; +export type RemoveFromPlaylistArgs = { + query: RemoveFromPlaylistQuery; + serverId: string; +} & BaseEndpointArgs; // Create Playlist -export type CreatePlaylistResponse = { id: string; name: string }; +export type CreatePlaylistResponse = null | undefined; export type CreatePlaylistBody = { _custom?: { @@ -790,10 +792,10 @@ export type CreatePlaylistBody = { name: string; }; -export type CreatePlaylistArgs = { body: CreatePlaylistBody } & BaseEndpointArgs; +export type CreatePlaylistArgs = { body: CreatePlaylistBody; serverId: string } & BaseEndpointArgs; // Update Playlist -export type UpdatePlaylistResponse = { id: string }; +export type UpdatePlaylistResponse = null | undefined; export type UpdatePlaylistQuery = { id: string; @@ -817,6 +819,7 @@ export type UpdatePlaylistBody = { export type UpdatePlaylistArgs = { body: UpdatePlaylistBody; query: UpdatePlaylistQuery; + serverId: string; } & BaseEndpointArgs; // Delete Playlist @@ -824,7 +827,10 @@ export type DeletePlaylistResponse = null | undefined; export type DeletePlaylistQuery = { id: string }; -export type DeletePlaylistArgs = { query: DeletePlaylistQuery } & BaseEndpointArgs; +export type DeletePlaylistArgs = { + query: DeletePlaylistQuery; + serverId: string; +} & BaseEndpointArgs; // Playlist List export type PlaylistListResponse = BasePaginatedResponse; @@ -980,6 +986,7 @@ export type ScrobbleResponse = null | undefined; export type ScrobbleArgs = { query: ScrobbleQuery; + serverId: string; } & BaseEndpointArgs; export type ScrobbleQuery = {