CourseController interface represents the structure of the course controller.

This interface provides the following methods:

getCoursesByUserId - Fetches the courses for a specific user.

getCourseById - Fetches a specific course by its ID.

insertIntoCourses - Inserts a new course.

interface CourseController {
    addLateEnrollingStudentToPreviousLectures: (
        studentnumber: string,
        courseid: number,
    ) => Promise<void>;
    getDetailsByCourseId: (courseId: string) => Promise<any>;
    getStudentAndSelectedTopicsByUsercourseId: (
        usercourseid: number,
    ) => Promise<any>;
    insertIntoCourse: (
        name: string,
        start_date: Date,
        end_date: Date,
        code: string,
        group_name: string,
        students: Student[],
        instructors: Instructor[],
        topics?: string,
        topicgroup?: string,
    ) => Promise<number>;
    removeStudentCourses: (usercourseid: number) => Promise<void>;
    updateStudentCourses: (userid: number, courseid: number) => Promise<void>;
}

Properties

addLateEnrollingStudentToPreviousLectures: (
    studentnumber: string,
    courseid: number,
) => Promise<void>
getDetailsByCourseId: (courseId: string) => Promise<any>
getStudentAndSelectedTopicsByUsercourseId: (
    usercourseid: number,
) => Promise<any>
insertIntoCourse: (
    name: string,
    start_date: Date,
    end_date: Date,
    code: string,
    group_name: string,
    students: Student[],
    instructors: Instructor[],
    topics?: string,
    topicgroup?: string,
) => Promise<number>
removeStudentCourses: (usercourseid: number) => Promise<void>
updateStudentCourses: (userid: number, courseid: number) => Promise<void>