refactor(web/api): errCode + errMessage helpers; 41 sites migrated (W1)

This commit is contained in:
2026-05-07 22:17:45 -04:00
parent 965df28127
commit 9c91a342e2
16 changed files with 138 additions and 70 deletions
@@ -3,7 +3,7 @@
import { useQueryClient } from '@tanstack/svelte-query';
import { createPlaylistsQuery, appendTracks, createPlaylist } from '$lib/api/playlists';
import { qk } from '$lib/api/queries';
import { copyForCode } from '$lib/api/error-copy';
import { errMessage } from '$lib/api/errors';
import TrackMenuItem from './TrackMenuItem.svelte';
import TrackMenuDivider from './TrackMenuDivider.svelte';
import type { TrackRef } from '$lib/api/types';
@@ -37,8 +37,7 @@
await queryClient.invalidateQueries({ queryKey: qk.playlists() });
onClose();
} catch (e: unknown) {
const code = (e as { code?: string })?.code ?? 'unknown';
error = copyForCode(code);
error = errMessage(e);
} finally {
busy = false;
}
@@ -57,8 +56,7 @@
await queryClient.invalidateQueries({ queryKey: qk.playlists() });
onClose();
} catch (e: unknown) {
const code = (e as { code?: string })?.code ?? 'unknown';
error = copyForCode(code);
error = errMessage(e);
} finally {
busy = false;
}
+3 -1
View File
@@ -3,6 +3,7 @@
import { Flag } from 'lucide-svelte';
import { useQueryClient } from '@tanstack/svelte-query';
import { flagTrack } from '$lib/api/quarantine';
import { errCode } from '$lib/api/errors';
import { qk } from '$lib/api/queries';
import type { TrackRef, LidarrQuarantineReason } from '$lib/api/types';
@@ -34,7 +35,8 @@
await client.invalidateQueries({ queryKey: qk.myQuarantine() });
onClose();
} catch (e) {
error = (e as { code?: string }).code ?? 'flag_failed';
const code = errCode(e);
error = code === 'unknown' ? 'flag_failed' : code;
} finally {
submitting = false;
}
+2 -1
View File
@@ -4,6 +4,7 @@
import type { Playlist, PlaylistTrack, TrackRef } from '$lib/api/types';
import { user } from '$lib/auth/store.svelte';
import { getPlaylist, refreshDiscover, refreshForYou } from '$lib/api/playlists';
import { errCode } from '$lib/api/errors';
import { qk } from '$lib/api/queries';
import { playQueue } from '$lib/player/store.svelte';
@@ -95,7 +96,7 @@
await queryClient.invalidateQueries({ queryKey: qk.playlist(playlist.id) });
await queryClient.invalidateQueries({ queryKey: qk.playlists() });
} catch (err: unknown) {
showToast(`Refresh failed: ${(err as { code?: string })?.code ?? 'unknown'}`);
showToast(`Refresh failed: ${errCode(err)}`);
}
}
</script>
@@ -2,7 +2,7 @@
import { Trash2 } from 'lucide-svelte';
import { useQueryClient } from '@tanstack/svelte-query';
import { removeTrack } from '$lib/api/admin/tracks';
import { copyForCode } from '$lib/api/error-copy';
import { errMessage } from '$lib/api/errors';
import { qk } from '$lib/api/queries';
import type { TrackRef } from '$lib/api/types';
@@ -45,8 +45,7 @@
// surface (if any) can pick up the flag.
onClose();
} catch (e: unknown) {
const code = (e as { code?: string })?.code ?? 'unknown';
error = copyForCode(code);
error = errMessage(e);
} finally {
busy = false;
}