- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/services/ParkingZoneService.java
r80ddcae rc71fa06 2 2 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.security.core.Authentication; 4 5 import org.springframework.stereotype.Service; 6 import parkup.ParkUpApplication; 5 7 import parkup.data.ParkingZoneAdminView; 6 8 import parkup.data.ParkingZoneLocation; … … 13 15 import parkup.repositories.ParkingZoneRepository; 14 16 import parkup.repositories.WorkerRepository; 15 17 import static parkup.ParkUpApplication.getToken; 16 18 import javax.transaction.Transactional; 17 19 import java.util.ArrayList; … … 37 39 38 40 public List<ParkingZone> getAllParkingZones() { 39 List<ParkingZone> parkingZones= parkingZoneRepository.findAll(); 41 Authentication user = getToken(); 42 String role =user.getAuthorities().stream().findFirst().get().getAuthority(); 43 String email = user.getName(); 44 List<ParkingZone> parkingZones; 45 if(role.equals("ROLE_REG_USER")) 46 parkingZones= parkingZoneRepository.findAll(); 47 else if(role.equals("ROLE_WORKER")){ 48 Worker loggedInWorker = workerRepository.findWorkerByEmail(email).orElseThrow(null); 49 parkingZones= parkingZoneRepository.findAll().stream().filter(pz->loggedInWorker.getParkingZones().contains(pz)).collect(Collectors.toList()); 50 }else if(role.equals("ROLE_ADMIN")) 51 parkingZones= parkingZoneRepository.findAll(); 52 else 53 parkingZones=parkingZoneRepository.findAll(); 40 54 for(ParkingZone pz:parkingZones){ 41 55 setTransientVariables(pz); … … 133 147 } 134 148 }else{ 135 parkingZoneNov.setParkingSpaces(n ew ArrayList<>());149 parkingZoneNov.setParkingSpaces(null); 136 150 } 137 151 if (!responsibleWorkers.isEmpty()) { … … 182 196 pz.setCapacity(calculateCapacity(pz.getId())); 183 197 pz.setTakenSpaces(calculateTakenSpaces(pz.getId())); 184 pz.setResponsibleWorkers(getWorkers(pz.getId()));185 198 } 186 199 public List<WorkerDemo> getResponsibleWorkers(int pzId){ … … 188 201 return workerRepository.findAll().stream().filter(w->w.getParkingZones().contains(parkingZone)).map(WorkerDemo::new).collect(Collectors.toList()); 189 202 } 190 public List<String> getWorkers(int pzId){ 191 ParkingZone parkingZone =parkingZoneRepository.findByPzId(pzId); 192 return workerRepository.findAll().stream().filter(w->w.getParkingZones().contains(parkingZone)).map(w->w.getFirstName() + " " + w.getLastName()).collect(Collectors.toList()); 193 194 } 195 } 196 203 } 204
Note:
See TracChangeset
for help on using the changeset viewer.