// function to fetch course data from the API import { Module } from "../model/module.ts"; export async function fetchCourse(): Promise { const courses: string[] = []; await fetch("/api/courses") .then((response) => { return response.json(); }) .then((coursesResponse) => { coursesResponse.forEach((course: string) => courses.push(course)); }); return courses; } export async function fetchModulesByCourseAndSemester( course: string, semester: string, ): Promise { const modules: Module[] = []; await fetch("/api/course/modules?course=" + course + "&semester=" + semester) .then((response) => { return response.json(); }) .then((modulesResponse) => { modulesResponse.forEach((module: Module) => modules.push( new Module( module.name, course, module.name, module.prof, semester, module.events, ), ), ); }); return modules; } export async function fetchAllModules(): Promise { let modules: Module[] = []; await fetch("/api/modules") .then((response) => { return response.json() as Promise; }) .then((responseModules: Module[]) => { responseModules.forEach((module: Module) => { modules.push( new Module( module.name, module.course, module.name, module.prof, module.semester, module.events, ), ); }); }); return modules; }