mirror of
https://github.com/jorgev259/soc_site-astro.git
synced 2025-06-29 07:57:41 +00:00
Use enum AlbumState in album queries
This commit is contained in:
parent
967a6d1587
commit
fe5bc7f663
3 changed files with 8 additions and 3 deletions
|
|
@ -5,8 +5,9 @@ import * as m from 'paraglide/messages.js'
|
||||||
import SidebarSection from './SidebarSection.astro'
|
import SidebarSection from './SidebarSection.astro'
|
||||||
|
|
||||||
import { getAlbumCount } from '@prisma/client/sql'
|
import { getAlbumCount } from '@prisma/client/sql'
|
||||||
|
import { AlbumStatus } from '@prisma/client'
|
||||||
|
|
||||||
const albumCount = await prismaClient.albums.count({ where: { status: 'show' } })
|
const albumCount = await prismaClient.albums.count({ where: { status: AlbumStatus.SHOW } })
|
||||||
const categoryRows = await prismaClient.$queryRawTyped(getAlbumCount())
|
const categoryRows = await prismaClient.$queryRawTyped(getAlbumCount())
|
||||||
|
|
||||||
const categories = categoryRows.reduce(
|
const categories = categoryRows.reduce(
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,20 @@
|
||||||
---
|
---
|
||||||
import prismaClient from 'utils/prisma-client'
|
import prismaClient from 'utils/prisma-client'
|
||||||
import * as m from 'paraglide/messages'
|
import * as m from 'paraglide/messages'
|
||||||
|
import { AlbumStatus } from '@prisma/client'
|
||||||
|
|
||||||
import Sidebar from 'components/Sidebar.astro'
|
import Sidebar from 'components/Sidebar.astro'
|
||||||
import BaseLayout from 'layouts/base.astro'
|
import BaseLayout from 'layouts/base.astro'
|
||||||
import AlbumBox from 'components/AlbumBox.astro'
|
import AlbumBox from 'components/AlbumBox.astro'
|
||||||
|
|
||||||
const recentAlbums = await prismaClient.albums.findMany({
|
const recentAlbums = await prismaClient.albums.findMany({
|
||||||
|
where: { status: AlbumStatus.SHOW },
|
||||||
select: { id: true, title: true },
|
select: { id: true, title: true },
|
||||||
take: 12,
|
take: 12,
|
||||||
orderBy: { releaseDate: 'desc' }
|
orderBy: { releaseDate: 'desc' }
|
||||||
})
|
})
|
||||||
const lastAlbums = await prismaClient.albums.findMany({
|
const lastAlbums = await prismaClient.albums.findMany({
|
||||||
|
where: { status: AlbumStatus.SHOW },
|
||||||
select: { id: true, title: true },
|
select: { id: true, title: true },
|
||||||
take: 12,
|
take: 12,
|
||||||
orderBy: { createdAt: 'desc' }
|
orderBy: { createdAt: 'desc' }
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
import prismaClient from 'utils/prisma-client'
|
import prismaClient from 'utils/prisma-client'
|
||||||
import * as m from 'paraglide/messages'
|
import * as m from 'paraglide/messages'
|
||||||
|
import { AlbumStatus } from '@prisma/client'
|
||||||
|
|
||||||
import BaseLayout from 'layouts/base.astro'
|
import BaseLayout from 'layouts/base.astro'
|
||||||
import AlbumBox from 'components/AlbumBox.astro'
|
import AlbumBox from 'components/AlbumBox.astro'
|
||||||
|
|
@ -16,13 +17,13 @@ if (page < 1) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const lastAlbums = await prismaClient.albums.findMany({
|
const lastAlbums = await prismaClient.albums.findMany({
|
||||||
where: { status: 'show' },
|
where: { status: AlbumStatus.SHOW },
|
||||||
select: { id: true, title: true },
|
select: { id: true, title: true },
|
||||||
take,
|
take,
|
||||||
skip: take * (page - 1),
|
skip: take * (page - 1),
|
||||||
orderBy: { createdAt: 'desc' }
|
orderBy: { createdAt: 'desc' }
|
||||||
})
|
})
|
||||||
const count = await prismaClient.albums.count({ where: { status: 'show' } })
|
const count = await prismaClient.albums.count({ where: { status: AlbumStatus.SHOW } })
|
||||||
|
|
||||||
if (lastAlbums.length === 0) {
|
if (lastAlbums.length === 0) {
|
||||||
Astro.redirect('/404')
|
Astro.redirect('/404')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue