addNewStudentToWorklog
addNewStudentToWorklog: (
    courseId: number,
    studentData: {
        email: string;
        first_name: string;
        last_name: string;
        studentGroupId: null | number;
        studentnumber: string;
    },
) => Promise<
    {
        courseId: number;
        result: ResultSetHeader;
        success: boolean;
        userId: number;
    },
>
assignStudentToGroup
assignStudentToGroup: (
    groupId: number,
    userId: number,
) => Promise<ResultSetHeader>
assignUserToCourse
assignUserToCourse: (
    userId: number,
    courseId: number,
) => Promise<ResultSetHeader>
checkStudentExistingGroup
checkStudentExistingGroup: (
    userId: number,
    courseId: number,
) => Promise<null | { group_id: number; group_name: string }>
checkWorklogCodeExists
checkWorklogCodeExists: (code: string) => Promise<boolean>
closeWorkLogEntry
closeWorkLogEntry: (entryId: number) => Promise<ResultSetHeader>
createWorkLogEntryPracticum
createWorkLogEntryPracticum: (    entryData: WorkLogEntryCreate,) => Promise<ResultSetHeader> createWorkLogGroup
createWorkLogGroup: (courseId: number, groupName: string) => Promise<number>
deleteWorkLog
deleteWorkLog: (worklogId: number) => Promise<ResultSetHeader>
deleteWorkLogEntry
deleteWorkLogEntry: (entryId: number) => Promise<ResultSetHeader>
getWorkLogCoursesByInstructor
getWorkLogCoursesByInstructor: (email: string) => Promise<WorkLogCourse[]> getWorkLogEntriesByStudentUser
getWorkLogEntriesByStudentUser: (    userId: number,) => Promise<    {        entries: (
WorkLogEntry & { course: { code: string; name: string } })
[];    },> getWorkLogGroupsByCourse
getWorkLogGroupsByCourse: (    courseId: string,) => Promise<{ groups: WorkLogCourseGroup[] }> getWorkLogGroupStudents
getWorkLogGroupStudents: (
    groupId: number,
) => Promise<{ students: RowDataPacket[] }>
getWorkLogStats
getWorkLogStats: (userId: number, courseId?: number) => Promise<RowDataPacket[]>
getWorkLogStudentsByCourse
getWorkLogStudentsByCourse: (
    courseId: string,
) => Promise<{ students: RowDataPacket[] }>
updateWorkLogCourse
updateWorkLogCourse: (    worklogId: number,    updates: WorkLogCourseUpdate,) => Promise<ResultSetHeader> Type declaration
- (worklogId: number, updates: WorkLogCourseUpdate): Promise<ResultSetHeader>
- Returns Promise<ResultSetHeader>
 
updateWorkLogEntry
updateWorkLogEntry: (
    entryId: number,
    updatedData: any,
) => Promise<ResultSetHeader>
updateWorkLogEntryStatus
updateWorkLogEntryStatus: (
    entryId: number,
    status: 0 | 1 | 2 | 3,
) => Promise<ResultSetHeader>
WorkLogController interface represents the structure of the worklog controller.
This interface provides methods for managing worklog courses and entries.