diff --git a/S1/waitinglists/helpers.py b/S1/waitinglists/helpers.py index e8f8902..f8e8fe6 100644 --- a/S1/waitinglists/helpers.py +++ b/S1/waitinglists/helpers.py @@ -5,7 +5,7 @@ load_dotenv() -def send_forum_msg(id: int, title: str, msg: str, link_text: str, link_url: str): +def send_forum_msg(id: int, title: str, msg: str, link_text: str, link_url: str) -> any: data = { "title": title, "message": msg, @@ -20,3 +20,51 @@ def send_forum_msg(id: int, title: str, msg: str, link_text: str, link_url: str) headers=header, ) return r.json() + + +def send_moodle_activity_completion(user_id: int, course_module_id: int) -> tuple[bool, float]: + + header = {"Authorization": f"Token {os.getenv("VATGER_API_KEY")}"} + r = requests.get( + f"http://vatsim-germany.org/api/moodle/quiz/{course_module_id}/user/{user_id}/results", + headers=header, + ).json() + try: + return r["isoverallcomplete"], r["timecompleted"] + except: + return False, 0 + + +def send_moodle_enrol_user(user_id: int, course_id: int) -> bool: + header = {"Authorization": f"Token {os.getenv("VATGER_API_KEY")}"} + r = requests.get( + f"http://vatsim-germany.org/api/moodle/course/{course_id}/user/{user_id}/enrol", + headers=header, + ).json() + try: + return r + except: + return False + + +def send_moodle_count_attempts(user_id: int, course_module_id: int) -> int: + header = {"Authorization": f"Token {os.getenv("VATGER_API_KEY")}"} + r = requests.get( + f"http://vatsim-germany.org/api/moodle/quiz/{course_module_id}/user/{user_id}/attempts", + headers=header, + ).json() + try: + return len(r) + except: + return 0 + +def send_moodle_override_attempts(user_id: int, course_module_id: int, attempts: int) -> bool: + header = {"Authorization": f"Token {os.getenv("VATGER_API_KEY")}"} + r = requests.get( + f"http://vatsim-germany.org/api/moodle/quiz/{course_module_id}/user/{user_id}/override/attempts/{attempts}", + headers=header, + ).json() + try: + return r + except: + return False diff --git a/S1/waitinglists/views.py b/S1/waitinglists/views.py index bd9d37b..ca64f31 100644 --- a/S1/waitinglists/views.py +++ b/S1/waitinglists/views.py @@ -9,6 +9,7 @@ from .models import Attendance, Session, WaitingList, Module, Signup from .forms import AttendanceForm +from .helpers import send_moodle_activity_completion import requests from dotenv import load_dotenv