import { CourseAttendee, CourseEventDetails } from "@app/shared/types/course"; import { getAllCourses, getCourseEventAttendees, getCourseEventDetails, getCourseEventRoles, getCourseEvents, insertCourseEvent } from "../services/CourseSerivce"; import { Request, Response, Router } from "express"; const courseRouter = Router(); const eventRouter = Router(); courseRouter.get('/', async (req, res) => { try { const courses = await getAllCourses(); res.status(200).json(courses); } catch (err) { console.error('failed to fetch courses', err); res.status(500).json('failed to fetch courses\n' + err); } }) courseRouter.get('/roles', async (req, res) => { try { const roles = await getCourseEventRoles(); res.status(200).json(roles); } catch (err) { console.error('failed to fetch course roles', err); res.status(500).json('failed to fetch course roles\n' + err); } }) eventRouter.get('/', async (req: Request, res: Response) => { try { let events = await getCourseEvents(); res.status(200).json(events); } catch (error) { console.error('failed to fetch reports', error); res.status(500).json(error); } }); eventRouter.get('/:id', async (req: Request, res: Response) => { try { let out = await getCourseEventDetails(Number(req.params.id)); res.status(200).json(out); } catch (error) { console.error('failed to fetch report', error); res.status(500).json(error); } }); eventRouter.get('/attendees/:id', async (req: Request, res: Response) => { try { const attendees: CourseAttendee[] = await getCourseEventAttendees(Number(req.params.id)); res.status(200).json(attendees); } catch (err) { console.error('failed to fetch attendees', err); res.status(500).json("failed to fetch attendees\n" + err); } }) eventRouter.post('/', async (req: Request, res: Response) => { try { console.log(); const data: CourseEventDetails = req.body; const id = await insertCourseEvent(data); res.status(201).json(id); } catch (error) { console.error('failed to post training', error); res.status(500).json("failed to post training\n" + error) } }) module.exports.courseRouter = courseRouter; module.exports.eventRouter = eventRouter;