Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 88581ac8

Přidáno uživatelem Dominik Poch před téměř 6 roky(ů)

Fixed api

Zobrazit rozdíly:

server/src/main/java/cz/zcu/yamanager/business/ApiManager.java
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
}
server/src/main/java/cz/zcu/yamanager/ws/rest/ApiController.java
19 19
import org.springframework.web.bind.annotation.*;
20 20
import org.springframework.web.multipart.MultipartFile;
21 21

  
22
import java.sql.SQLException;
22 23
import java.time.LocalDate;
23 24
import java.time.format.DateTimeFormatter;
24 25
import java.util.Arrays;
......
63 64
        } catch (RESTFullException e) {
64 65
            log.error(e.getMessage());
65 66
            return sendError(400, e.getLocalizedMessage(), language);
66
        } catch (DataAccessException e) {
67
        } catch (DataAccessException | SQLException e) {
67 68
            log.error(e.getMessage());
68 69
            return sendError(500, "database.error", language);
69 70
        } catch (Exception e) {

Také k dispozici: Unified diff