exchanges fixes + accepted in deanery response

This commit is contained in:
Filip Izydorczyk
2021-01-20 14:36:09 +01:00
parent 08a4bdde06
commit cf875889b9
6 changed files with 105 additions and 9 deletions

View File

@ -2,6 +2,7 @@ package com.plannaplan.responses.models;
import com.plannaplan.entities.Assignment;
import com.plannaplan.entities.Groups;
import com.plannaplan.types.GroupType;
/**
* Assignment detailed response for api
@ -25,15 +26,15 @@ public class AssignmentDetailedResponse {
this.day = group.getDay().label;
this.time = group.getTimeString();
this.endTime = group.getEndTimeString();
this.lecturer = group.getLecturer().toString();
this.type = group.getType().toString();
this.lecturer = group.getLecturer().toString();
this.type = GroupType.isLectureOrClass(group.getType()).toString();
}
/**
* @return type of the lecture
*/
public String getType() {
return type;
return type;
}
/**

View File

@ -0,0 +1,34 @@
package com.plannaplan.responses.models;
import com.plannaplan.entities.Assignment;
/**
* Repsonse for single assignment to use in commision repsonse
*/
public class AssignmentsSingleResponse {
private Long id;
private boolean isAccepted;
/**
* @param assignment to map to response
*/
public AssignmentsSingleResponse(Assignment assignment) {
this.id = assignment.getGroup().getId();
this.isAccepted = assignment.isAccepted();
}
/**
* @return id of assigned group
*/
public Long getId() {
return id;
}
/**
* @return is group already accepted or not
*/
public boolean isAccepted() {
return isAccepted;
}
}

View File

@ -0,0 +1,43 @@
package com.plannaplan.responses.models;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
import com.plannaplan.entities.Assignment;
import com.plannaplan.entities.Commision;
import io.swagger.annotations.ApiModel;
/**
* Commision With Groups api Response. It extends CommisionResponse repsone
*/
@ApiModel(description = "Response shows information about commision and its groups. It also has info about group state (is accepted or not)", value = "CommisionWithGroupsResponse")
public class CommisionWithAcceptedGroupsResponse extends CommisionResponse {
private List<AssignmentsSingleResponse> groups;
/**
* @param commision commision to map to api response
*/
public CommisionWithAcceptedGroupsResponse(Commision commision) {
super(commision);
this.groups = commision.getAssignments().stream().filter(Objects::nonNull)
.map(new Function<Assignment, AssignmentsSingleResponse>() {
@Override
public AssignmentsSingleResponse apply(Assignment arg0) {
return new AssignmentsSingleResponse(arg0);
}
}).collect(Collectors.toList());
}
/**
* @return lsit of fetured groups informations
*/
public List<AssignmentsSingleResponse> getGroups() {
return groups;
}
}