🎨 - Improved struct / errors managment

This commit is contained in:
Florian Sylvain
2022-11-10 14:05:45 +01:00
parent 2715df2678
commit 713b41ab10
+22 -19
View File
@@ -1,39 +1,42 @@
import express from 'express' import express from 'express'
import { PrismaClient } from '@prisma/client' import { Prisma, PrismaClient } from '@prisma/client'
import createHttpError from 'http-errors'
const prisma = new PrismaClient() const prisma = new PrismaClient()
export const showsRouter = express.Router() export const showsRouter = express.Router()
showsRouter.get('/', async function(req, res, next) { showsRouter.get('/', async function(req, res, next) {
const articles = await prisma.serie.findMany() const shows = await prisma.serie.findMany()
res.send({articles}) res.send({shows})
}) })
showsRouter.get('/:id', async function(req, res, next) { showsRouter.get('/:id', function(req, res, next) {
const articles = await prisma.serie.findMany({ prisma.serie.findUniqueOrThrow({
where: { where: {
title: { title: {
equals: req.params.id equals: req.params.id
} }
}})
.then(show => res.send(show))
.catch(error => {
if (error instanceof Prisma.NotFoundError) {
next(createHttpError(404, 'Show unknown.'))
} }
}) })
res.send({articles})
}) })
showsRouter.post('/', async function (req, res, next) { showsRouter.post('/', async function (req, res, next) {
try { prisma.serie.create({
res.send(await prisma.serie.create({ data: {
data: { title: req.body.title,
title: req.body.title, date: req.body.date,
date: req.body.date, description: req.body.description,
description: req.body.description, thumbmailURL: req.body.thumbmailURL
thumbmailURL: req.body.thumbmailURL }})
} .then(() => res.send({message: 'Show posted!'}))
})) .catch(() => {
} catch (error) { next(createHttpError(400, 'Check your show model/content.'))
res.send({error, message: "You might want to check your Show data format / content."}) })
}
}) })