feat(materiel): connect catalogue and detail to api
This commit is contained in:
@@ -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' } },
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user