13 |
13 |
|
14 |
14 |
import java.time.LocalDate;
|
15 |
15 |
import java.util.List;
|
|
16 |
import java.util.Optional;
|
16 |
17 |
|
17 |
18 |
@Component
|
18 |
19 |
public class ApiManager implements Manager {
|
... | ... | |
37 |
38 |
|
38 |
39 |
@Override
|
39 |
40 |
public List<BasicProfileUser> getUsers(Status status) throws RESTFullException {
|
40 |
|
List<BasicProfileUser> users;
|
41 |
|
if(status == null) {
|
42 |
|
users = this.userRepository.getAllBasicUsers();
|
43 |
|
} else {
|
44 |
|
users = this.userRepository.getAllBasicUsers(status);
|
45 |
|
}
|
|
41 |
List<BasicProfileUser> users = status == null ? this.userRepository.getAllBasicUsers() : this.userRepository.getAllBasicUsers(status);
|
46 |
42 |
|
47 |
43 |
LocalDate today = LocalDate.now();
|
48 |
44 |
LocalDate weekBefore = today.minusDays(ApiManager.WEEK_LENGTH);
|
... | ... | |
56 |
52 |
|
57 |
53 |
@Override
|
58 |
54 |
public List<VacationRequest> getVacationRequests(Status status) throws RESTFullException {
|
59 |
|
List<VacationRequest> requests;
|
60 |
|
if(status == null) {
|
61 |
|
requests = this.requestRepository.getAllVacationRequests();
|
62 |
|
} else {
|
63 |
|
requests = this.requestRepository.getAllVacationRequests(status);
|
64 |
|
}
|
65 |
|
|
66 |
|
return requests;
|
|
55 |
return status == null ? this.requestRepository.getAllVacationRequests() : this.requestRepository.getAllVacationRequests(status);
|
67 |
56 |
}
|
68 |
57 |
|
69 |
58 |
@Override
|
70 |
59 |
public List<AuthorizationRequest> getAuthorizationRequests(Status status) throws RESTFullException {
|
71 |
|
List<AuthorizationRequest> requests;
|
72 |
|
if(status == null) {
|
73 |
|
requests = this.requestRepository.getAllAuthorizations();
|
74 |
|
} else {
|
75 |
|
requests = this.requestRepository.getAllAuthorizations(status);
|
76 |
|
}
|
77 |
|
|
78 |
|
return requests;
|
|
60 |
return status == null ? this.requestRepository.getAllAuthorizations() : this.requestRepository.getAllAuthorizations(status);
|
79 |
61 |
}
|
80 |
62 |
|
81 |
63 |
@Override
|
... | ... | |
85 |
67 |
|
86 |
68 |
@Override
|
87 |
69 |
public DefaultSettings getDefaultSettings() throws RESTFullException {
|
88 |
|
DefaultSettings settings = this.userRepository.getLastDefaultSettings();
|
89 |
|
return settings == null ? new DefaultSettings() : settings;
|
|
70 |
return this.userRepository.getLastDefaultSettings().orElse(new DefaultSettings());
|
90 |
71 |
}
|
91 |
72 |
|
92 |
73 |
@Override
|
... | ... | |
107 |
88 |
|
108 |
89 |
@Override
|
109 |
90 |
public void createSettings(DefaultSettings settings) throws RESTFullException {
|
110 |
|
this.userRepository.insertSettings(new cz.zcu.yamanager.domain.DefaultSettings(settings.getSickDayCount(), settings.getNotification()));
|
|
91 |
cz.zcu.yamanager.domain.DefaultSettings defaultSettings = new cz.zcu.yamanager.domain.DefaultSettings();
|
|
92 |
defaultSettings.setSickDayCount(settings.getSickDayCount());
|
|
93 |
defaultSettings.setNotification(settings.getNotification());
|
|
94 |
this.userRepository.insertSettings(defaultSettings);
|
111 |
95 |
}
|
112 |
96 |
|
113 |
97 |
@Override
|
114 |
98 |
public void createVacation(Long userId, VacationDay vacationDay) throws RESTFullException {
|
115 |
|
|
116 |
99 |
User user = this.userRepository.getUser(userId);
|
117 |
100 |
vacationDay.setStatus(user.getRole() == UserRole.EMPLOYER ? Status.ACCEPTED : Status.PENDING);
|
118 |
101 |
|
119 |
|
cz.zcu.yamanager.domain.VacationDay vacation = new cz.zcu.yamanager.domain.VacationDay(
|
120 |
|
vacationDay.getDate(), vacationDay.getFrom(), vacationDay.getTo(), vacationDay.getStatus(), vacationDay.getType());
|
|
102 |
cz.zcu.yamanager.domain.VacationDay vacation = new cz.zcu.yamanager.domain.VacationDay();
|
|
103 |
vacation.setDate(vacationDay.getDate());
|
|
104 |
vacation.setFrom(vacationDay.getFrom());
|
|
105 |
vacation.setTo(vacationDay.getTo());
|
|
106 |
vacation.setStatus(vacationDay.getStatus());
|
|
107 |
vacation.setType(vacationDay.getType());
|
121 |
108 |
|
122 |
109 |
if(vacation.getType() == VacationType.VACATION) {
|
123 |
110 |
user.takeVacation(vacation.getFrom(), vacation.getTo());
|
... | ... | |
136 |
123 |
if(settings.getRole() == null && settings.getSickDayCount() == null && settings.getVacationCount() == null) {
|
137 |
124 |
user.setNotification(settings.getNotification());
|
138 |
125 |
} else {
|
139 |
|
user.setVacationCount(settings.getVacationCount());
|
|
126 |
user.addVacationCount(settings.getVacationCount());
|
140 |
127 |
user.setTotalSickDayCount(settings.getSickDayCount());
|
141 |
128 |
user.setRole(settings.getRole());
|
142 |
129 |
}
|
143 |
130 |
|
144 |
|
this.userRepository.updateUser(user);
|
|
131 |
this.userRepository.updateUserSettings(user);
|
145 |
132 |
}
|
146 |
133 |
|
147 |
134 |
@Override
|
148 |
135 |
public void changeVacation(Long userId, VacationDay vacationDay) throws RESTFullException {
|
149 |
|
cz.zcu.yamanager.domain.VacationDay vacation = this.vacationRepository.getVacationDay(vacationDay.getId());
|
150 |
|
vacation.setDate(vacationDay.getDate());
|
151 |
|
vacation.setStatus(vacationDay.getStatus());
|
152 |
|
vacation.setType(vacationDay.getType());
|
153 |
|
vacation.setTime(vacationDay.getFrom(), vacationDay.getTo());
|
154 |
|
this.vacationRepository.updateVacationDay(vacation);
|
|
136 |
Optional<cz.zcu.yamanager.domain.VacationDay> vacation = this.vacationRepository.getVacationDay(vacationDay.getId());
|
|
137 |
if(vacation.isPresent()) {
|
|
138 |
vacation.get().setDate(vacationDay.getDate());
|
|
139 |
vacation.get().setStatus(vacationDay.getStatus());
|
|
140 |
vacation.get().setType(vacationDay.getType());
|
|
141 |
vacation.get().setTime(vacationDay.getFrom(), vacationDay.getTo());
|
|
142 |
this.vacationRepository.updateVacationDay(vacation.get());
|
|
143 |
} else {
|
|
144 |
|
|
145 |
}
|
155 |
146 |
}
|
156 |
147 |
|
157 |
148 |
@Override
|
158 |
149 |
public void changeRequest(RequestType type, BasicRequest request) throws RESTFullException {
|
159 |
150 |
if(RequestType.VACATION == type) {
|
|
151 |
Optional<User> user = this.vacationRepository.findUserByVacationID(request.getId());
|
|
152 |
Optional<cz.zcu.yamanager.domain.VacationDay> vacationDay = this.vacationRepository.getVacationDay(request.getId());
|
|
153 |
if(user.isPresent() && request.getStatus() == Status.REJECTED) {
|
|
154 |
if(vacationDay.get().getType() == VacationType.SICK_DAY) {
|
|
155 |
user.get().addTakenSickDayCount(-1);
|
|
156 |
} else {
|
|
157 |
user.get().addVacationCount(vacationDay.get().getFrom(), vacationDay.get().getTo());
|
|
158 |
}
|
|
159 |
}
|
|
160 |
|
160 |
161 |
this.requestRepository.updateVacationRequest(request);
|
161 |
162 |
} else {
|
162 |
163 |
this.requestRepository.updateAuthorization(request);
|
... | ... | |
165 |
166 |
|
166 |
167 |
@Override
|
167 |
168 |
public void deleteVacation(Long userId, Long vacationId) throws RESTFullException {
|
|
169 |
User user = this.userRepository.getUser(userId);
|
|
170 |
Optional<cz.zcu.yamanager.domain.VacationDay> vacation = this.vacationRepository.getVacationDay(vacationId);
|
|
171 |
if (vacation.isPresent()){
|
|
172 |
if(vacation.get().getType() == VacationType.SICK_DAY) {
|
|
173 |
user.addTakenSickDayCount(-1);
|
|
174 |
} else {
|
|
175 |
user.addVacationCount(vacation.get().getFrom(), vacation.get().getTo());
|
|
176 |
}
|
|
177 |
}
|
|
178 |
|
|
179 |
this.userRepository.updateUser(user);
|
168 |
180 |
this.vacationRepository.deleteVacationDay(vacationId);
|
169 |
181 |
}
|
170 |
182 |
}
|
Fixed api