From bb1ce95f133940514ea2e4bd7cc5bbbbde19c3ae Mon Sep 17 00:00:00 2001 From: Janis Date: Sat, 7 Jan 2023 09:00:21 +0100 Subject: [PATCH] sorting contenttableentries --- pages/api/articles/[articleName].ts | 12 ++++++++++-- pages/api/articles/index.ts | 3 +-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pages/api/articles/[articleName].ts b/pages/api/articles/[articleName].ts index 68f7fa7..68669e9 100644 --- a/pages/api/articles/[articleName].ts +++ b/pages/api/articles/[articleName].ts @@ -1,8 +1,15 @@ import { Request, Response } from "express"; import prisma from "../../../lib/prisma"; -import { Article } from "@prisma/client"; +import { Article, Prisma, ContentTableEntry } from '@prisma/client'; import { ResponseError } from "../../../types/responseErrors"; +type ArticleWithIncludes = Prisma.ArticleGetPayload<{ include: { contentTableEntries: true, category: true } }> + +function sortContentTableEntries(entries: ContentTableEntry[]): ContentTableEntry[] { + return entries.sort((a, b) => a.orderIndex - b.orderIndex); +} + + export default async function handler(req: Request, res: Response) { res.setHeader("Content-Type", "application/json"); @@ -10,8 +17,9 @@ export default async function handler(req: Request, res: Response) { await prisma.article .findUnique({ where: { name: articleName }, include: { category: true, contentTableEntries: true } }) - .then((result: Article) => { + .then((result: ArticleWithIncludes) => { if (result !== null) { + result.contentTableEntries = sortContentTableEntries(result.contentTableEntries); res.end(JSON.stringify(result)); } else { const error: ResponseError = { diff --git a/pages/api/articles/index.ts b/pages/api/articles/index.ts index 5862fb1..eb056ad 100644 --- a/pages/api/articles/index.ts +++ b/pages/api/articles/index.ts @@ -31,9 +31,8 @@ export default async function handler(req: Request, res: Response) { take: limit, orderBy: orderByObj }) - .then((result: Article[]) => { + .then((result: Article[]) => { //! ContentTableEntries not sorted if (result !== null) { - res.end(JSON.stringify(result)); } else { const error: ResponseError = {