feat(backend): add responsable stock endpoint

This commit is contained in:
SaidSoighiri94
2026-07-15 12:35:16 +02:00
parent 2c81bd7208
commit c76f546f2a
6 changed files with 162 additions and 3 deletions
@@ -2,12 +2,16 @@ import { Request, Response } from 'express';
import { AppError } from '../errors/app-error';
import {
getDashboardResponsable,
listerMaterielsResponsable,
listerEmpruntsResponsable,
parseCategorieId,
parseStatutMateriel,
parseStatutEmprunt,
} from '../services/responsable.service';
import {
toDashboardResponsableResponse,
toEmpruntResponsableResponse,
toMaterielResponsableResponse,
} from '../dtos/responsable.dto';
export async function getDashboard(req: Request, res: Response): Promise<void> {
@@ -30,3 +34,21 @@ export async function getEmprunts(req: Request, res: Response): Promise<void> {
const emprunts = await listerEmpruntsResponsable(user.roleCode, user.campusId, { statut });
res.json({ data: emprunts.map(toEmpruntResponsableResponse) });
}
export async function getMateriels(req: Request, res: Response): Promise<void> {
const user = req.user;
if (!user) {
throw new AppError(401, 'Authentification requise');
}
const statut = parseStatutMateriel(req.query.statut);
const categorieId = parseCategorieId(req.query.categorieId);
const recherche = typeof req.query.q === 'string' ? req.query.q : undefined;
const materiels = await listerMaterielsResponsable(user.roleCode, user.campusId, {
statut,
categorieId,
recherche,
});
res.json({ data: materiels.map(toMaterielResponsableResponse) });
}