Use enum AlbumState in album queries

This commit is contained in:
Jorge Vargas 2025-03-08 22:30:51 -06:00
parent 967a6d1587
commit fe5bc7f663
3 changed files with 8 additions and 3 deletions

View file

@ -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(

View file

@ -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' }

View file

@ -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')