RosterStudentDTO.java
package edu.ucsb.cs156.frontiers.models;
import edu.ucsb.cs156.frontiers.entities.RosterStudent;
import edu.ucsb.cs156.frontiers.enums.OrgStatus;
import edu.ucsb.cs156.frontiers.enums.RosterStatus;
import java.util.List;
/**
* 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,
Integer githubId,
String githubLogin,
RosterStatus rosterStatus,
OrgStatus orgStatus,
List<String> teams) {
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.getGithubId(),
rosterStudent.getGithubLogin(),
rosterStudent.getRosterStatus(),
rosterStudent.getOrgStatus(),
rosterStudent.getTeams());
}
}