import datetime from apiflask import APIBlueprint from flask import abort from ...dependencies import db from ..models import ExaminationSchedule from ..schemas import ExaminationScheduleListSchema bp = APIBlueprint("list_of_examination_schedule", __name__, url_prefix="/") @bp.get('/project-supervisor-view/') @bp.output(ExaminationScheduleListSchema) def list_examination_schedule_for_project_supervisors() -> dict: now = datetime.datetime.utcnow() examination_schedules = db.session.query(ExaminationSchedule). \ filter(ExaminationSchedule.start_date > now). \ all() return {'examination_schedules': examination_schedules} @bp.get('/students-view/') @bp.output(ExaminationScheduleListSchema) def list_examination_schedule_for_students() -> dict: # in the future filter after the mode of examination schedule if we will have authorization module now = datetime.datetime.utcnow() examination_schedules = db.session.query(ExaminationSchedule).\ filter(ExaminationSchedule.start_date < now).\ filter(ExaminationSchedule.end_date > now).\ all() return {'examination_schedules': examination_schedules}