Ignore invalid albumId
Some checks failed
/ build (push) Has been cancelled

This commit is contained in:
Jorge Vargas 2025-04-11 13:47:51 -06:00
parent 88ef4c7060
commit de79ddd152

View file

@ -19,12 +19,16 @@ import ouoIcon from 'img/assets/ouo-icon.png'
const { id } = Astro.params const { id } = Astro.params
const { permissions } = Astro.locals const { permissions } = Astro.locals
if (!id) return Astro.redirect("/404");
const albumId = parseInt(id)
if(!albumId) return Astro.redirect("/404");
const hasDirect = permissions.includes('SKIP_ADS') const hasDirect = permissions.includes('SKIP_ADS')
const hasUpdate = permissions.includes('UPDATE') const hasUpdate = permissions.includes('UPDATE')
const hiddenCondition = !hasUpdate ? { status: AlbumStatus.SHOW } : {} const hiddenCondition = !hasUpdate ? { status: AlbumStatus.SHOW } : {}
const album = await prismaClient.albums.findUnique({ const album = await prismaClient.albums.findUnique({
where: { id: Number(id), ...hiddenCondition }, where: { id: albumId, ...hiddenCondition },
include: { include: {
artists: { select: { artist: true } }, artists: { select: { artist: true } },
categories: { select: { categoryName: true } }, categories: { select: { categoryName: true } },
@ -44,10 +48,7 @@ const album = await prismaClient.albums.findUnique({
} }
}) })
if (!album) { if (!album) return Astro.redirect("/404");
Astro.response.status = 404
Astro.response.statusText = 'Not found'
}
const { currentLocale } = Astro const { currentLocale } = Astro
const coverImage = await getImage({ const coverImage = await getImage({
@ -150,6 +151,7 @@ const coverImage = await getImage({
{ {
[ [
album?.categories album?.categories
// @ts-expect-error
.map(({ categoryName }) => m[`${categoryName}Osts` as keyof typeof m]()) .map(({ categoryName }) => m[`${categoryName}Osts` as keyof typeof m]())
.join(' & '), .join(' & '),
album?.classifications.map(({ classificationName }) => classificationName).join(', ') album?.classifications.map(({ classificationName }) => classificationName).join(', ')