default: {
    addStaffUser: (user: User) => Promise<null | User>;
    changeRoleId: (email: string, roleId: number) => Promise<ResultSetHeader>;
    checkIfStudentEmailExists: (email: string) => Promise<RowDataPacket[]>;
    checkIfStudentNumberExists: (
        studentnumber: string,
    ) => Promise<RowDataPacket[]>;
    fetchAllStudents: () => Promise<RowDataPacket[]>;
    fetchNumberOfStudents: (
        limit: number,
        offset: number,
    ) => Promise<{ students: UserInfo[]; total: any }>;
    fetchStudentsPaginationByInstructorId: (
        userid: number,
        limit: number,
        offset: number,
    ) => Promise<PaginatedStudentsResult>;
    fetchUserById: (userid: number) => Promise<RowDataPacket[]>;
    fetchUsers: () => Promise<RowDataPacket[]>;
    getAllUserInfo: (email: string) => Promise<null | UserInfo>;
    getRoleCounts: () => Promise<RowDataPacket[]>;
    getStudentsByInstructorId: (userid: number) => Promise<UserInfo[]>;
    getUserGDPRStatus: (userId: number) => Promise<number>;
    getUserLoggedCount: () => Promise<any>;
    getUsersLanguage: (email: string) => Promise<RowDataPacket[]>;
    insertUser: (
        username: string,
        email: string,
        staff: number,
        first_name: string,
        last_name: string,
        studentnumber: number,
        studentgroupid: number,
        roleid: number,
        GDPR: number,
    ) => Promise<ResultSetHeader>;
    pool: Pool;
    updateUser: (user: UpdateUser) => Promise<RowDataPacket[]>;
    updateUserGDPRStatus: (userId: undefined | number) => Promise<boolean>;
    updateUserInfo: (userId: number, newEmail: string) => Promise<boolean>;
    updateUserLanguage: (
        email: string,
        language: string,
    ) => Promise<RowDataPacket[]>;
    updateUsernameByEmail: (
        email: string,
        newUsername: string,
    ) => Promise<boolean>;
    checkIfEmailMatchesStaff(instructoremail: string): Promise<RowDataPacket[]>;
    checkIfUserExistsByEmail(email: string): Promise<RowDataPacket[]>;
    checkIfUserExistsByEmailAndisStaff(email: string): Promise<RowDataPacket[]>;
    checkIfUserExistsByStudentNumber(
        studentnumber: string,
    ): Promise<RowDataPacket[]>;
    checkUsernameExists(username: string): Promise<boolean>;
    deleteUser(userId: number): Promise<boolean>;
    findUsersByStaffStatus(staff: number): Promise<UserInfo[]>;
    insertStaffUser(
        email: string,
        first_name: string,
        last_name: string,
        roleid: number,
        staff: number,
    ): Promise<ResultSetHeader>;
    insertStudentUser(
        email: string,
        first_name: string,
        last_name: string,
        studentnumber: string,
        studentGroupId: number,
    ): Promise<ResultSetHeader>;
    updateUserStudentNumber(
        studentnumber: string,
        email: string,
    ): Promise<[QueryResult, FieldPacket[]]>;
} = ...

Type declaration

  • addStaffUser: (user: User) => Promise<null | User>

    Adds a new user to the database.

  • changeRoleId: (email: string, roleId: number) => Promise<ResultSetHeader>

    Changes the role ID of a user.

  • checkIfStudentEmailExists: (email: string) => Promise<RowDataPacket[]>

    Checks if a student number exists.

  • checkIfStudentNumberExists: (studentnumber: string) => Promise<RowDataPacket[]>

    Checks if a student number exists.

  • fetchAllStudents: () => Promise<RowDataPacket[]>

    Fetches all students.

  • fetchNumberOfStudents: (limit: number, offset: number) => Promise<{ students: UserInfo[]; total: any }>

    Fetches a paginated list of students.

  • fetchStudentsPaginationByInstructorId: (
        userid: number,
        limit: number,
        offset: number,
    ) => Promise<PaginatedStudentsResult>

    get students by instructor id with pagination

  • fetchUserById: (userid: number) => Promise<RowDataPacket[]>

    Fetches a user by their ID.

  • fetchUsers: () => Promise<RowDataPacket[]>

    Fetches all users.

  • getAllUserInfo: (email: string) => Promise<null | UserInfo>

    getAllUserInfo

    A method to retrieve user information based on a username.

  • getRoleCounts: () => Promise<RowDataPacket[]>

    Gets the counts of each role.

  • getStudentsByInstructorId: (userid: number) => Promise<UserInfo[]>

    Gets students by their instructor's ID.

  • getUserGDPRStatus: (userId: number) => Promise<number>

    Gets the GDPR status of a user based on their user ID.

  • getUserLoggedCount: () => Promise<any>

    Gets the count of logged in users.

  • getUsersLanguage: (email: string) => Promise<RowDataPacket[]>
  • insertUser: (
        username: string,
        email: string,
        staff: number,
        first_name: string,
        last_name: string,
        studentnumber: number,
        studentgroupid: number,
        roleid: number,
        GDPR: number,
    ) => Promise<ResultSetHeader>
  • pool: Pool
  • updateUser: (user: UpdateUser) => Promise<RowDataPacket[]>

    Updates a user.

  • updateUserGDPRStatus: (userId: undefined | number) => Promise<boolean>

    Updates the GDPR status of a user based on their user ID.

  • updateUserInfo: (userId: number, newEmail: string) => Promise<boolean>

    Updates the email of a user.

  • updateUserLanguage: (email: string, language: string) => Promise<RowDataPacket[]>
  • updateUsernameByEmail: (email: string, newUsername: string) => Promise<boolean>

    Updates the username of a user based on their email.

  • checkIfEmailMatchesStaff:function
    • Checks if an email matches a staff member.

      Parameters

      • instructoremail: string

        The email to check.

      Returns Promise<RowDataPacket[]>

      A promise that resolves to the staff member, if found.

  • checkIfUserExistsByEmail:function
    • Checks if a user exists by their email.

      Parameters

      • email: string

        The email to check.

      Returns Promise<RowDataPacket[]>

      A promise that resolves to the user, if found.

  • checkIfUserExistsByEmailAndisStaff:function
    • Checks if a user exists by their email and if they are staff.

      Parameters

      • email: string

        The email of the user.

      Returns Promise<RowDataPacket[]>

      A promise that resolves to the user, if found.

  • checkIfUserExistsByStudentNumber:function
    • Checks if a user exists by their student number.

      Parameters

      • studentnumber: string

        The student number to check.

      Returns Promise<RowDataPacket[]>

      A promise that resolves to the user, if found.

  • checkUsernameExists:function
    • Checks if a username already exists in the database.

      Parameters

      • username: string

        The username to check.

      Returns Promise<boolean>

      A promise that resolves to a boolean indicating whether the username exists.

  • deleteUser:function
    • Deletes a user by their ID.

      Parameters

      • userId: number

        The ID of the user to delete.

      Returns Promise<boolean>

      A promise that resolves to a boolean indicating whether the deletion was successful.

  • findUsersByStaffStatus:function
    • Finds all users with a certain staff status.

      Parameters

      • staff: number

        The staff status to search for.

      Returns Promise<UserInfo[]>

      A promise that resolves to an array of users with the given staff status.

  • insertStaffUser:function
    • Parameters

      • email: string
      • first_name: string
      • last_name: string
      • roleid: number
      • staff: number

      Returns Promise<ResultSetHeader>

  • insertStudentUser:function
    • Inserts a new student user.

      Parameters

      • email: string

        The email of the user.

      • first_name: string

        The first name of the user.

      • last_name: string

        The last name of the user.

      • studentnumber: string

        The student number of the user.

      • studentGroupId: number

        The student group ID of the user.

      Returns Promise<ResultSetHeader>

      A promise that resolves to the result of the insertion.

  • updateUserStudentNumber:function
    • Updates a user's student number.

      Parameters

      • studentnumber: string

        The new student number.

      • email: string

        The email of the user.

      Returns Promise<[QueryResult, FieldPacket[]]>

      A promise that resolves to the result of the update.

Creates a User Model object literal.