mirror of
https://github.com/jorgev259/soc_site-astro.git
synced 2025-06-29 07:57:41 +00:00
This commit is contained in:
parent
88ef4c7060
commit
de79ddd152
1 changed files with 7 additions and 5 deletions
|
|
@ -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(', ')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue