mirror of
https://github.com/Sonny93/my-links.git
synced 2025-12-09 07:03:25 +00:00
- Ajout création, édition, suppression catégories & liens - Ajout auth google - Ajout/modification style pour catégories & liens - Ajout component générique pour bouton, inputs, checkbox & selector - Gestion des messages d'erreur/succès/infos via component dédié - Ajout component FormLayout pour les pages création, édition, suppression catégories & liens - Page custom 404, 500 & signin - Modification schéma DB
21 lines
833 B
TypeScript
21 lines
833 B
TypeScript
import { NextApiRequest, NextApiResponse } from 'next';
|
|
import nextConnect, { NextHandler } from 'next-connect';
|
|
|
|
import { Session } from 'next-auth';
|
|
import { getSession } from 'next-auth/react';
|
|
|
|
const apiRoute = nextConnect({
|
|
onError: (error: Error, req: NextApiRequest, res: NextApiResponse) => res.status(501).json({ error: `Une erreur est survenue! ${error.message}` }),
|
|
onNoMatch: (req: NextApiRequest, res: NextApiResponse) => res.status(405).json({ error: `La méthode '${req.method}' n'est pas autorisée` })
|
|
});
|
|
|
|
apiRoute.use(async (req: NextApiRequest, res: NextApiResponse, next: NextHandler) => {
|
|
const session: Session = await getSession({ req });
|
|
if (!session) {
|
|
return res.status(403).json({ error: 'Vous devez être connecté' });
|
|
} else {
|
|
next();
|
|
}
|
|
});
|
|
|
|
export { apiRoute }; |