refactor api controller to internalize server fetch

This commit is contained in:
jeffvli
2025-11-02 21:56:35 -08:00
parent 8dbaec3943
commit c7a473d864
79 changed files with 904 additions and 399 deletions
@@ -120,7 +120,7 @@ export const AddToPlaylistContextModal = ({
queryFn: ({ signal }) => {
if (!server) throw new Error('No server');
return api.controller.getSongList({
apiClientProps: { server, signal },
apiClientProps: { serverId: server?.id || '', signal },
query,
});
},
@@ -147,7 +147,7 @@ export const AddToPlaylistContextModal = ({
queryFn: ({ signal }) => {
if (!server) throw new Error('No server');
return api.controller.getSongList({
apiClientProps: { server, signal },
apiClientProps: { serverId: server?.id || '', signal },
query,
});
},
@@ -203,7 +203,7 @@ export const AddToPlaylistContextModal = ({
for (const playlist of values.newPlaylists) {
try {
const response = await api.controller.createPlaylist({
apiClientProps: { server },
apiClientProps: { serverId: server?.id || '' },
body: {
name: playlist,
public: false,
@@ -238,7 +238,7 @@ export const AddToPlaylistContextModal = ({
);
return api.controller.getPlaylistSongList({
apiClientProps: {
server,
serverId: server?.id || '',
signal,
},
query: {
@@ -266,9 +266,9 @@ export const AddToPlaylistContextModal = ({
}
addToPlaylistMutation.mutate(
{
apiClientProps: { serverId: server.id },
body: { songId: values.skipDuplicates ? uniqueSongIds : allSongIds },
query: { id: playlistId },
serverId: server?.id,
},
{
onError: (err) => {
@@ -58,6 +58,7 @@ export const CreatePlaylistForm = ({ onCancel }: CreatePlaylistFormProps) => {
mutation.mutate(
{
apiClientProps: { serverId: server.id },
body: {
...values,
_custom: {
@@ -75,7 +76,6 @@ export const CreatePlaylistForm = ({ onCancel }: CreatePlaylistFormProps) => {
},
},
},
serverId: server.id,
},
{
onError: (err) => {
@@ -111,7 +111,7 @@ export const PlaylistDetailSongListContent = ({ songs, tableRef }: PlaylistDetai
try {
await api.controller.movePlaylistItem({
apiClientProps: {
server,
serverId: server?.id || '',
},
query: {
endingIndex: e.overIndex,
@@ -376,7 +376,10 @@ export const PlaylistDetailSongListHeaderFilters = ({
const handleDeletePlaylist = useCallback(() => {
if (!detailQuery.data) return;
deletePlaylistMutation?.mutate(
{ query: { id: detailQuery.data.id }, serverId: detailQuery.data.serverId },
{
apiClientProps: { serverId: detailQuery.data.serverId },
query: { id: detailQuery.data.id },
},
{
onError: (err) => {
toast.error({
@@ -38,7 +38,7 @@ export const PlaylistListGridView = ({ gridRef, itemCount }: PlaylistListGridVie
const handlePlayQueueAdd = usePlayQueueAdd();
const { display, filter, grid } = useListStoreByKey<PlaylistListQuery>({ key: pageKey });
const { setGrid } = useListStoreActions();
const handleFavorite = useHandleFavorite({ gridRef, server });
const handleFavorite = useHandleFavorite({ gridRef });
const cardRows = useMemo(() => {
const rows: CardRow<Playlist>[] = [PLAYLIST_CARD_ROWS.nameFull];
@@ -126,7 +126,7 @@ export const PlaylistListGridView = ({ gridRef, itemCount }: PlaylistListGridVie
queryFn: async ({ signal }) =>
controller.getPlaylistList({
apiClientProps: {
server,
serverId: server?.id || '',
signal,
},
query,
@@ -174,7 +174,7 @@ export const PlaylistListHeaderFilters = ({
queryFn: async ({ signal }) =>
api.controller.getPlaylistList({
apiClientProps: {
server,
serverId: server?.id || '',
signal,
},
query,
@@ -213,7 +213,7 @@ export const PlaylistListHeaderFilters = ({
queryFn: async ({ signal }) =>
api.controller.getPlaylistList({
apiClientProps: {
server,
serverId: server?.id || '',
signal,
},
query: {
@@ -21,7 +21,7 @@ interface SaveAsPlaylistFormProps {
body: Partial<CreatePlaylistBody>;
onCancel: () => void;
onSuccess: (data: CreatePlaylistResponse) => void;
serverId: string | undefined;
serverId?: string;
}
export const SaveAsPlaylistForm = ({
@@ -50,7 +50,7 @@ export const SaveAsPlaylistForm = ({
const handleSubmit = form.onSubmit((values) => {
mutation.mutate(
{ body: values, serverId },
{ apiClientProps: { serverId: serverId || '' }, body: values },
{
onError: (err) => {
toast.error({
@@ -65,9 +65,9 @@ export const UpdatePlaylistForm = ({ body, onCancel, query, users }: UpdatePlayl
const handleSubmit = form.onSubmit((values) => {
mutation.mutate(
{
apiClientProps: { serverId: server?.id || '' },
body: values,
query,
serverId: server?.id,
},
{
onError: (err) => {
@@ -174,7 +174,10 @@ export const openUpdatePlaylistModal = async (args: {
? await queryClient
.fetchQuery({
queryFn: ({ signal }) =>
api.controller.getUserList({ apiClientProps: { server, signal }, query }),
api.controller.getUserList({
apiClientProps: { serverId: server?.id || '', signal },
query,
}),
queryKey: queryKeys.users.list(server?.id || '', query),
})
.catch((error) => {