Skip to content

Commit

Permalink
add calendar
Browse files Browse the repository at this point in the history
  • Loading branch information
ngoerlitz committed Mar 17, 2024
1 parent 6aedd54 commit 7c54f43
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/Router.ts
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ router.use(
"/training-session",
routerGroup((r: Router) => {
r.get("/planned", TrainingSessionAdminController.getPlanned);
r.get("/all-upcoming", TrainingSessionAdminController.getAllUpcoming);
r.post("/training", TrainingSessionAdminController.createTrainingSession);
r.get("/my", TrainingSessionAdminController.getMyTrainingSessions);
r.delete("/training", TrainingSessionAdminController.deleteTrainingSession);
Expand Down
32 changes: 32 additions & 0 deletions src/controllers/training-session/TrainingSessionAdminController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { MentorGroup } from "../../models/MentorGroup";
import JobLibrary, { JobTypeEnum } from "../../libraries/JobLibrary";
import Validator, { ValidationTypeEnum } from "../../utility/Validator";
import Logger, { LogLevels } from "../../utility/Logger";
import { Op } from "sequelize";

/**
* Creates a new training session with one user and one mentor
Expand Down Expand Up @@ -611,6 +612,36 @@ async function getMyTrainingSessions(request: Request, response: Response, next:
}
}

async function getAllUpcoming(request: Request, response: Response, next: NextFunction) {
try {
const user: User = response.locals.user;

let sessions = await TrainingSession.findAll({
where: {
date: {
[Op.gt]: dayjs.utc().toDate(),
},
},
include: [TrainingSession.associations.training_type, TrainingSession.associations.course],
});

if (sessions == null || sessions.length == 0) {
response.sendStatus(HttpStatusCode.InternalServerError);
return;
}

const res = sessions.map(session => ({
date: session.date,
training_type: session.training_type,
course_name: session.course?.name,
}));

response.send(res);
} catch (e) {
next(e);
}
}

export default {
getByUUID,
createTrainingSession,
Expand All @@ -623,4 +654,5 @@ export default {
getPlanned,
getAvailableMentorsByUUID,
getMyTrainingSessions,
getAllUpcoming,
};

0 comments on commit 7c54f43

Please sign in to comment.