update
This commit is contained in:
@@ -271,6 +271,20 @@ class MemberController {
|
||||
res.status(500).json({ success: false, message: 'Fehler beim Laden der Fahrgenehmigungen.' });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* GET /api/members/:userId/ausbildungen
|
||||
*/
|
||||
async getAusbildungen(req: Request, res: Response): Promise<void> {
|
||||
try {
|
||||
const { userId } = req.params as Record<string, string>;
|
||||
const data = await memberService.getAusbildungen(userId);
|
||||
res.status(200).json({ success: true, data });
|
||||
} catch (error) {
|
||||
logger.error('getAusbildungen error', { error, userId: req.params.userId });
|
||||
res.status(500).json({ success: false, message: 'Fehler beim Laden der Ausbildungen.' });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new MemberController();
|
||||
|
||||
@@ -57,6 +57,12 @@ router.get(
|
||||
memberController.getFahrgenehmigungen.bind(memberController)
|
||||
);
|
||||
|
||||
router.get(
|
||||
'/:userId/ausbildungen',
|
||||
requirePermission('members:read'),
|
||||
memberController.getAusbildungen.bind(memberController)
|
||||
);
|
||||
|
||||
/**
|
||||
* Inline middleware for PATCH /:userId.
|
||||
* Enforces that the caller is either the profile owner OR holds members:write.
|
||||
|
||||
@@ -683,6 +683,25 @@ class MemberService {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns all Ausbildungen (training courses) for a given user from the FDISK-synced table.
|
||||
*/
|
||||
async getAusbildungen(userId: string): Promise<any[]> {
|
||||
try {
|
||||
const result = await pool.query(
|
||||
`SELECT id, kursname, kurs_datum, ablaufdatum, ort, bemerkung, status, created_at
|
||||
FROM ausbildung
|
||||
WHERE user_id = $1
|
||||
ORDER BY kurs_datum DESC NULLS LAST, created_at DESC`,
|
||||
[userId]
|
||||
);
|
||||
return result.rows;
|
||||
} catch (error) {
|
||||
logger.error('Error fetching Ausbildungen', { error, userId });
|
||||
return [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new MemberService();
|
||||
|
||||
Reference in New Issue
Block a user