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