Skip to content

Commit

Permalink
genre thumbnail updates
Browse files Browse the repository at this point in the history
  • Loading branch information
elainehan3 committed Jul 27, 2023
1 parent 8f08117 commit 703b4ab
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 2 deletions.
38 changes: 38 additions & 0 deletions website/app/api/genre/[genreId]/thumbnail/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import { getDB } from "@/util/db";
import { NextResponse } from "next/server";

export async function GET(request: Request, { params }: { params: { genreId: string } }) {
const genreId = params.genreId;

// check if valid id
if (isNaN(+genreId)) {
return NextResponse.json({ error: "invalid genre id" }, { status: 400 });
}

const conn = await getDB();

let tracks: any;
try {
tracks = await conn.query(`
SELECT track.id FROM genre
INNER JOIN track_to_genre ON track_to_genre.genre_id = $1
INNER JOIN track ON track_to_genre.track_id = track.id
LIMIT 1`,
[genreId]);

console.log(tracks.rowCount);

if (tracks.rowCount < 1) {
return await fetch(`http://${process.env.FILESTORE_HOST}:${process.env.FILESTORE_PORT}/genre-thumbnail/${genreId}`);
}
} catch (e) {
await conn.end();
return NextResponse.json({ error: "invalid genre id" }, { status: 400 });
}

await conn.end();

const trackId = tracks.rows[0].id;

return await fetch(`http://${process.env.FILESTORE_HOST}:${process.env.FILESTORE_PORT}/track-thumbnail/${trackId}`);
}
4 changes: 2 additions & 2 deletions website/components/genreCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ export default function ArtistCard(props: { genre: APIGenre }) {
<CardActionArea>
<CardMedia
component="img"
image={`/api/artist/${props.genre.id}/thumbnail`} // FIGURE THIS OUT
alt="artist_cover"
image={`/api/genre/${props.genre.id}/thumbnail`} // FIGURE THIS OUT
alt="genre_cover"
sx={{ height: '10em', objectFit: 'cover' }}
/>
<CardContent>
Expand Down

0 comments on commit 703b4ab

Please sign in to comment.