feat(materiel): connect catalogue and detail to api

This commit is contained in:
SaidSoighiri94
2026-07-07 13:07:47 +02:00
parent 90d5a65f29
commit 9564dd1ade
15 changed files with 368 additions and 101 deletions
@@ -2,6 +2,13 @@ import { Materiel, Prisma } from '@prisma/client';
import { prisma } from '../db/prisma';
export type MaterielAvecCategorie = Prisma.MaterielGetPayload<{ include: { categorie: true } }>;
export type MaterielDetail = Prisma.MaterielGetPayload<{
include: {
categorie: true;
campus: true;
accessoires: { include: { accessoire: true } };
};
}>;
export interface CatalogueFiltres {
categorieId?: number;
@@ -39,3 +46,17 @@ export function findDisponiblesParCampus(
export function findById(id: number): Promise<Materiel | null> {
return prisma.materiel.findUnique({ where: { id } });
}
export function findDetailParCampus(id: number, campusId: number): Promise<MaterielDetail | null> {
return prisma.materiel.findFirst({
where: { id, campusId, actif: true },
include: {
categorie: true,
campus: true,
accessoires: {
include: { accessoire: true },
orderBy: { accessoire: { nom: 'asc' } },
},
},
});
}