Rename Playlist model to Snapshot

This commit is contained in:
Maciej Pędzich 2022-07-13 19:53:05 +02:00
parent e2410ff6e7
commit 36b4644772
4 changed files with 8 additions and 10 deletions

View File

@ -1,7 +1,7 @@
import { User } from './user'; import { User } from './user';
import { Track } from './track'; import { Track } from './track';
export interface Playlist { export interface Snapshot {
description: string; description: string;
num_followers: number; num_followers: number;
original_name: string; original_name: string;

View File

@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import TabMenu from 'primevue/tabmenu'; import TabMenu from 'primevue/tabmenu';
import { Playlist } from '~~/models/playlist'; import { Snapshot } from '~~/models/snapshot';
const route = useRoute(); const route = useRoute();
const playlistId = route.params.playlistId; const playlistId = route.params.playlistId;
@ -25,14 +25,12 @@ const tabItems = [
} }
]; ];
const { error, data: playlist } = await useFetch< const { error, data: playlist } = await useFetch<Snapshot>(
Playlist & { notFound?: true }
>(
() => () =>
`https://raw.githubusercontent.com/mackorone/spotify-playlist-archive/main/playlists/pretty/${playlistId}.json`, `https://raw.githubusercontent.com/mackorone/spotify-playlist-archive/main/playlists/pretty/${playlistId}.json`,
{ {
parseResponse: (body) => parseResponse: (body) =>
body === '404: Not Found' ? { notFound: true } : JSON.parse(body), body === '404: Not Found' ? null : JSON.parse(body),
key: `playlist-${playlistId}` key: `playlist-${playlistId}`
} }
); );

View File

@ -2,7 +2,7 @@
import { decode as decodeHtmlEntities } from 'html-entities'; import { decode as decodeHtmlEntities } from 'html-entities';
import formatDuration from 'format-duration'; import formatDuration from 'format-duration';
import { Playlist } from '~~/models/playlist'; import { Snapshot } from '~~/models/snapshot';
const route = useRoute(); const route = useRoute();
const playlistId = route.params.playlistId as string; const playlistId = route.params.playlistId as string;
@ -12,7 +12,7 @@ const {
pending, pending,
error, error,
data: snapshot data: snapshot
} = useFetch<Playlist>( } = useFetch<Snapshot>(
() => () =>
`https://raw.githubusercontent.com/mackorone/spotify-playlist-archive/${commitSha}/playlists/pretty/${playlistId}.json`, `https://raw.githubusercontent.com/mackorone/spotify-playlist-archive/${commitSha}/playlists/pretty/${playlistId}.json`,
{ {

View File

@ -2,7 +2,7 @@ import { $fetch } from 'ohmyfetch';
import { octokit } from '~~/server/utils/octokit'; import { octokit } from '~~/server/utils/octokit';
import { filterByUniqueKeyValue } from '~~/server/utils/filterByUniqueKeyValue'; import { filterByUniqueKeyValue } from '~~/server/utils/filterByUniqueKeyValue';
import { Playlist } from '~~/models/playlist'; import { Snapshot } from '~~/models/snapshot';
export default defineEventHandler(async (event) => { export default defineEventHandler(async (event) => {
const query = useQuery(event); const query = useQuery(event);
@ -35,7 +35,7 @@ export default defineEventHandler(async (event) => {
const snapshotFileContents = await Promise.all( const snapshotFileContents = await Promise.all(
commitListings.map(({ sha }) => commitListings.map(({ sha }) =>
$fetch<Playlist>( $fetch<Snapshot>(
`https://raw.githubusercontent.com/mackorone/spotify-playlist-archive/${sha}/playlists/pretty/${playlistId}.json`, `https://raw.githubusercontent.com/mackorone/spotify-playlist-archive/${sha}/playlists/pretty/${playlistId}.json`,
{ parseResponse: JSON.parse } { parseResponse: JSON.parse }
) )