diff --git a/src/renderer/api/controller.ts b/src/renderer/api/controller.ts index 3c43cf37..ee0768e9 100644 --- a/src/renderer/api/controller.ts +++ b/src/renderer/api/controller.ts @@ -1,86 +1,86 @@ import { useAuthStore } from '/@/renderer/store'; -import { navidromeApi } from '/@/renderer/api/navidrome.api'; import { toast } from '/@/renderer/components/toast'; import type { AlbumDetailArgs, - RawAlbumDetailResponse, - RawAlbumListResponse, AlbumListArgs, SongListArgs, - RawSongListResponse, SongDetailArgs, - RawSongDetailResponse, AlbumArtistDetailArgs, - RawAlbumArtistDetailResponse, AlbumArtistListArgs, - RawAlbumArtistListResponse, RatingArgs, - RawRatingResponse, - RawFavoriteResponse, GenreListArgs, - RawGenreListResponse, CreatePlaylistArgs, - RawCreatePlaylistResponse, DeletePlaylistArgs, - RawDeletePlaylistResponse, PlaylistDetailArgs, - RawPlaylistDetailResponse, PlaylistListArgs, - RawPlaylistListResponse, MusicFolderListArgs, - RawMusicFolderListResponse, PlaylistSongListArgs, ArtistListArgs, - RawArtistListResponse, UpdatePlaylistArgs, - RawUpdatePlaylistResponse, UserListArgs, - RawUserListResponse, FavoriteArgs, TopSongListArgs, - RawTopSongListResponse, AddToPlaylistArgs, - RawAddToPlaylistResponse, + AddToPlaylistResponse, RemoveFromPlaylistArgs, - RawRemoveFromPlaylistResponse, + RemoveFromPlaylistResponse, ScrobbleArgs, - RawScrobbleResponse, + ScrobbleResponse, + AlbumArtistDetailResponse, + FavoriteResponse, + CreatePlaylistResponse, + AlbumArtistListResponse, + AlbumDetailResponse, + AlbumListResponse, + ArtistListResponse, + GenreListResponse, + MusicFolderListResponse, + PlaylistDetailResponse, + PlaylistListResponse, + RatingResponse, + SongDetailResponse, + SongListResponse, + TopSongListResponse, + UpdatePlaylistResponse, + UserListResponse, } from '/@/renderer/api/types'; -import { subsonicApi } from '/@/renderer/api/subsonic.api'; import { jellyfinApi } from '/@/renderer/api/jellyfin.api'; import { ServerListItem } from '/@/renderer/types'; +import { DeletePlaylistResponse } from './types'; +import { ndController } from '/@/renderer/api/navidrome/navidrome-controller'; +import { ssController } from '/@/renderer/api/subsonic/subsonic-controller'; export type ControllerEndpoint = Partial<{ - addToPlaylist: (args: AddToPlaylistArgs) => Promise; + addToPlaylist: (args: AddToPlaylistArgs) => Promise; clearPlaylist: () => void; - createFavorite: (args: FavoriteArgs) => Promise; - createPlaylist: (args: CreatePlaylistArgs) => Promise; - deleteFavorite: (args: FavoriteArgs) => Promise; - deletePlaylist: (args: DeletePlaylistArgs) => Promise; - getAlbumArtistDetail: (args: AlbumArtistDetailArgs) => Promise; - getAlbumArtistList: (args: AlbumArtistListArgs) => Promise; - getAlbumDetail: (args: AlbumDetailArgs) => Promise; - getAlbumList: (args: AlbumListArgs) => Promise; + createFavorite: (args: FavoriteArgs) => Promise; + createPlaylist: (args: CreatePlaylistArgs) => Promise; + deleteFavorite: (args: FavoriteArgs) => Promise; + deletePlaylist: (args: DeletePlaylistArgs) => Promise; + getAlbumArtistDetail: (args: AlbumArtistDetailArgs) => Promise; + getAlbumArtistList: (args: AlbumArtistListArgs) => Promise; + getAlbumDetail: (args: AlbumDetailArgs) => Promise; + getAlbumList: (args: AlbumListArgs) => Promise; getArtistDetail: () => void; getArtistInfo: (args: any) => void; - getArtistList: (args: ArtistListArgs) => Promise; + getArtistList: (args: ArtistListArgs) => Promise; getFavoritesList: () => void; getFolderItemList: () => void; getFolderList: () => void; getFolderSongs: () => void; - getGenreList: (args: GenreListArgs) => Promise; - getMusicFolderList: (args: MusicFolderListArgs) => Promise; - getPlaylistDetail: (args: PlaylistDetailArgs) => Promise; - getPlaylistList: (args: PlaylistListArgs) => Promise; - getPlaylistSongList: (args: PlaylistSongListArgs) => Promise; - getSongDetail: (args: SongDetailArgs) => Promise; - getSongList: (args: SongListArgs) => Promise; - getTopSongs: (args: TopSongListArgs) => Promise; - getUserList: (args: UserListArgs) => Promise; - removeFromPlaylist: (args: RemoveFromPlaylistArgs) => Promise; - scrobble: (args: ScrobbleArgs) => Promise; - updatePlaylist: (args: UpdatePlaylistArgs) => Promise; - updateRating: (args: RatingArgs) => Promise; + getGenreList: (args: GenreListArgs) => Promise; + getMusicFolderList: (args: MusicFolderListArgs) => Promise; + getPlaylistDetail: (args: PlaylistDetailArgs) => Promise; + getPlaylistList: (args: PlaylistListArgs) => Promise; + getPlaylistSongList: (args: PlaylistSongListArgs) => Promise; + getSongDetail: (args: SongDetailArgs) => Promise; + getSongList: (args: SongListArgs) => Promise; + getTopSongs: (args: TopSongListArgs) => Promise; + getUserList: (args: UserListArgs) => Promise; + removeFromPlaylist: (args: RemoveFromPlaylistArgs) => Promise; + scrobble: (args: ScrobbleArgs) => Promise; + updatePlaylist: (args: UpdatePlaylistArgs) => Promise; + updateRating: (args: RatingArgs) => Promise; }>; type ApiController = { @@ -123,16 +123,16 @@ const endpoints: ApiController = { updateRating: undefined, }, navidrome: { - addToPlaylist: navidromeApi.addToPlaylist, + addToPlaylist: ndController.addToPlaylist, clearPlaylist: undefined, - createFavorite: subsonicApi.createFavorite, - createPlaylist: navidromeApi.createPlaylist, - deleteFavorite: subsonicApi.deleteFavorite, - deletePlaylist: navidromeApi.deletePlaylist, - getAlbumArtistDetail: navidromeApi.getAlbumArtistDetail, - getAlbumArtistList: navidromeApi.getAlbumArtistList, - getAlbumDetail: navidromeApi.getAlbumDetail, - getAlbumList: navidromeApi.getAlbumList, + createFavorite: ssController.createFavorite, + createPlaylist: ndController.createPlaylist, + deleteFavorite: ssController.removeFavorite, + deletePlaylist: ndController.deletePlaylist, + getAlbumArtistDetail: ndController.getAlbumArtistDetail, + getAlbumArtistList: ndController.getAlbumArtistList, + getAlbumDetail: ndController.getAlbumDetail, + getAlbumList: ndController.getAlbumList, getArtistDetail: undefined, getArtistInfo: undefined, getArtistList: undefined, @@ -140,30 +140,30 @@ const endpoints: ApiController = { getFolderItemList: undefined, getFolderList: undefined, getFolderSongs: undefined, - getGenreList: navidromeApi.getGenreList, - getMusicFolderList: subsonicApi.getMusicFolderList, - getPlaylistDetail: navidromeApi.getPlaylistDetail, - getPlaylistList: navidromeApi.getPlaylistList, - getPlaylistSongList: navidromeApi.getPlaylistSongList, - getSongDetail: navidromeApi.getSongDetail, - getSongList: navidromeApi.getSongList, - getTopSongs: subsonicApi.getTopSongList, - getUserList: navidromeApi.getUserList, - removeFromPlaylist: navidromeApi.removeFromPlaylist, - scrobble: subsonicApi.scrobble, - updatePlaylist: navidromeApi.updatePlaylist, - updateRating: subsonicApi.updateRating, + getGenreList: ndController.getGenreList, + getMusicFolderList: ssController.getMusicFolderList, + getPlaylistDetail: ndController.getPlaylistDetail, + getPlaylistList: ndController.getPlaylistList, + getPlaylistSongList: ndController.getPlaylistSongList, + getSongDetail: ndController.getSongDetail, + getSongList: ndController.getSongList, + getTopSongs: ssController.getTopSongList, + getUserList: ndController.getUserList, + removeFromPlaylist: ndController.removeFromPlaylist, + scrobble: ssController.scrobble, + updatePlaylist: ndController.updatePlaylist, + updateRating: ssController.setRating, }, subsonic: { clearPlaylist: undefined, - createFavorite: subsonicApi.createFavorite, + createFavorite: ssController.createFavorite, createPlaylist: undefined, - deleteFavorite: subsonicApi.deleteFavorite, + deleteFavorite: ssController.removeFavorite, deletePlaylist: undefined, - getAlbumArtistDetail: subsonicApi.getAlbumArtistDetail, - getAlbumArtistList: subsonicApi.getAlbumArtistList, - getAlbumDetail: subsonicApi.getAlbumDetail, - getAlbumList: subsonicApi.getAlbumList, + getAlbumArtistDetail: undefined, + getAlbumArtistList: undefined, + getAlbumDetail: undefined, + getAlbumList: undefined, getArtistDetail: undefined, getArtistInfo: undefined, getArtistList: undefined, @@ -172,14 +172,14 @@ const endpoints: ApiController = { getFolderList: undefined, getFolderSongs: undefined, getGenreList: undefined, - getMusicFolderList: subsonicApi.getMusicFolderList, + getMusicFolderList: ssController.getMusicFolderList, getPlaylistDetail: undefined, getPlaylistList: undefined, getSongDetail: undefined, getSongList: undefined, - getTopSongs: subsonicApi.getTopSongList, + getTopSongs: ssController.getTopSongList, getUserList: undefined, - scrobble: subsonicApi.scrobble, + scrobble: ssController.scrobble, updatePlaylist: undefined, updateRating: undefined, },