71 lines
2.3 KiB
TypeScript
71 lines
2.3 KiB
TypeScript
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; |