alpha-version-dce-check-in-api
Version:
API for taking attendance and checking people in.
46 lines (37 loc) • 1.31 kB
text/typescript
// Import express
import express from 'express';
// Import types
import Router from '../../../types/Router';
// Import shared types
import CanvasAPI from '../../../shared/types/CanvasAPI';
import GetCourseEvent from '../../../shared/types/GetCourseEvent';
import RecordAttendanceFunction from '../../../shared/types/RecordAttendanceFunction';
// Import endpoints
import addCheckInPageRoute from './addCheckInPageRoute';
import addGetRosterRoute from './addGetRosterRoute';
/**
* Add routes for taking attendance.
* Also contains main entrypoint for QR code.
* @author Benedikt Arnarsson
* @param router the express router for the backend.
* @param recordAttendance function used to record student attendance.
* @param getCanvasAPI function to retrieve Canvas API.
*/
const addAttendanceRoutes = (opts: {
router: Router,
recordAttendance: RecordAttendanceFunction,
getCanvasAPI: () => CanvasAPI,
getCourseEvent: GetCourseEvent,
}) => {
const {
router,
recordAttendance,
getCanvasAPI,
getCourseEvent,
} = opts;
const attendanceRouter = express.Router();
addGetRosterRoute(attendanceRouter, getCanvasAPI);
addCheckInPageRoute(attendanceRouter, recordAttendance, getCourseEvent);
router.use('/attendance', attendanceRouter);
};
export default addAttendanceRoutes;