-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathGraduationUserFacade.java
More file actions
37 lines (32 loc) · 1.87 KB
/
GraduationUserFacade.java
File metadata and controls
37 lines (32 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package kgu.developers.api.graduationUser.application;
import kgu.developers.api.graduationUser.presentation.response.MyGraduationUserResponse;
import kgu.developers.domain.graduationUser.application.command.GraduationUserCommandService;
import kgu.developers.domain.graduationUser.application.query.GraduationUserQueryService;
import kgu.developers.domain.graduationUser.domain.GraduationType;
import kgu.developers.domain.graduationUser.domain.GraduationUser;
import kgu.developers.domain.schedule.application.query.ScheduleQueryService;
import kgu.developers.domain.schedule.domain.Schedule;
import kgu.developers.domain.schedule.domain.SubmissionType;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
@Component
@RequiredArgsConstructor
public class GraduationUserFacade {
private final GraduationUserQueryService graduationUserQueryService;
private final GraduationUserCommandService graduationUserCommandService;
private final ScheduleQueryService scheduleQueryService;
public void updateGraduationType(GraduationType type) {
GraduationUser graduationUser = graduationUserQueryService.me();
graduationUserCommandService.updateGraduationType(graduationUser,type);
}
public void updateGraduationUserEmail(String email) {
GraduationUser graduationUser = graduationUserQueryService.me();
graduationUserCommandService.updateGraduationUserEmail(graduationUser,email);
}
public MyGraduationUserResponse getMyGraduationUser() {
GraduationUser graduationUser = graduationUserQueryService.me();
SubmissionType submissionType = MyGraduationUserResponse.requiredSubmissionType(graduationUser);
Schedule schedule = (submissionType == null) ? null : scheduleQueryService.getBySubmissionType(submissionType);
return MyGraduationUserResponse.from(graduationUser, schedule);
}
}