RosterStudentDTO.java
package edu.ucsb.cs.scaffold.model;
import edu.ucsb.cs.scaffold.entity.RosterStudent;
import edu.ucsb.cs.scaffold.enums.RosterStatus;
/**
* This is a DTO class that represents a student in the roster. It is used to transfer data between
* the server and the client.
*/
public record RosterStudentDTO(
Long id,
Long courseId,
String studentId,
String firstName,
String lastName,
String email,
String section,
long userId,
RosterStatus rosterStatus) {
public RosterStudentDTO(RosterStudent rosterStudent) {
this(
rosterStudent.getId(),
rosterStudent.getCourse().getId(),
rosterStudent.getStudentId(),
rosterStudent.getFirstName(),
rosterStudent.getLastName(),
rosterStudent.getEmail(),
rosterStudent.getSection(),
rosterStudent.getUser() != null ? rosterStudent.getUser().getId() : 0,
rosterStudent.getRosterStatus());
}
}