feat(store): new endpoints, ui and beginnings of main store page

This commit is contained in:
DecDuck
2024-11-23 21:29:24 +11:00
parent 9c2249ed08
commit 9cbdcbcdf6
13 changed files with 272 additions and 83 deletions

View File

@ -4,12 +4,13 @@ export default defineEventHandler(async (h3) => {
const userId = await h3.context.session.getUserId(h3);
if (!userId) throw createError({ statusCode: 403 });
const rawGames = await prisma.game.findMany({
const games = await prisma.game.findMany({
select: {
id: true,
mName: true,
mShortDescription: true,
mCoverId:true,
mCoverId: true,
mBannerId: true,
mDevelopers: {
select: {
id: true,
@ -22,15 +23,12 @@ export default defineEventHandler(async (h3) => {
mName: true,
},
},
versions: {
select: {
platform: true,
},
},
},
orderBy: {
created: "desc",
},
take: 8,
});
const games = rawGames.map((e) => ({...e, platforms: e.versions.map((e) => e.platform).filter((e, _, r) => !r.includes(e))}))
return games;
});

View File

@ -0,0 +1,20 @@
import prisma from "~/server/internal/db/database";
export default defineEventHandler(async (h3) => {
const userId = await h3.context.session.getUserId(h3);
if (!userId) throw createError({ statusCode: 403 });
const versions = await prisma.gameVersion.findMany({
select: {
game: true,
created: true,
platform: true,
},
orderBy: {
created: "desc",
},
take: 8,
});
return { versions };
});