Changeset befb988 for jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl
- Timestamp:
- 06/17/24 21:59:14 (3 weeks ago)
- Branches:
- main
- Children:
- 08f82ec
- Parents:
- b248810
- Location:
- jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/AdminServiceImpl.java
rb248810 rbefb988 3 3 import lombok.AllArgsConstructor; 4 4 import lombok.RequiredArgsConstructor; 5 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterAdminDetailsDTO; 5 6 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO; 6 7 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter; … … 20 21 21 22 @Override 22 public Recruiter DetailsDTO changeAccess(long recruiterId, boolean access) {23 public RecruiterAdminDetailsDTO changeAccess(long recruiterId, boolean access) { 23 24 Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null); 24 25 if (recruiter != null) { 25 26 recruiter.setHasAccess(access); 26 27 recruiterRepository.save(recruiter); 27 return RecruiterMapper.mapToRecruiter DetailsDTO(recruiter);28 return RecruiterMapper.mapToRecruiterAdminDetailsDTO(recruiter); 28 29 } 29 30 return null; … … 32 33 33 34 @Override 34 public List<Recruiter DetailsDTO> findAllRecruiters() {35 public List<RecruiterAdminDetailsDTO> findAllRecruiters() { 35 36 List<Recruiter> recruiterList = recruiterRepository.findAll(); 36 return recruiterList.stream().map(RecruiterMapper::mapToRecruiter DetailsDTO).toList();37 return recruiterList.stream().map(RecruiterMapper::mapToRecruiterAdminDetailsDTO).toList(); 37 38 } 38 39 } -
jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JobAdvertisementServiceImpl.java
rb248810 rbefb988 30 30 @Override 31 31 public JobAdDetailsDTO addJobAdvertisement(JobAdvertisementDTO jobAdvertisementDTO) { 32 Recruiter recruiter = recruiterRepository.find RecruiterByEmail(jobAdvertisementDTO.getEmail()).orElseThrow(() -> new IllegalArgumentException("User not found"));32 Recruiter recruiter = recruiterRepository.findById(jobAdvertisementDTO.getId()).orElseThrow(() -> new IllegalArgumentException("User not found")); 33 33 JobAdvertisement jobAdvertisement = new JobAdvertisement( 34 34 recruiter, -
jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/JwtServiceImpl.java
rb248810 rbefb988 25 25 .claim("role", user.getRole()) 26 26 .claim("access", user.isHasAccess()) 27 .claim("id", user.getId()) 27 28 .setIssuedAt(new Date()) 28 29 .setExpiration(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 24)) -
jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/service/impl/RecruiterServiceImpl.java
rb248810 rbefb988 3 3 import lombok.RequiredArgsConstructor; 4 4 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO; 5 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO; 5 6 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter; 6 7 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.RecruiterMapper; 7 8 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.repositories.RecruiterRepository; 8 9 import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.RecruiterService; 10 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Value; 12 import org.springframework.core.io.Resource; 13 import org.springframework.core.io.UrlResource; 9 14 import org.springframework.stereotype.Service; 15 import org.springframework.web.multipart.MultipartFile; 16 17 import java.io.IOException; 18 import java.nio.file.Files; 19 import java.nio.file.Path; 20 import java.nio.file.Paths; 21 import java.nio.file.StandardCopyOption; 10 22 11 23 @Service … … 14 26 15 27 private final RecruiterRepository recruiterRepository; 28 private final Path logoStorageLocation; 29 30 @Autowired 31 RecruiterServiceImpl(@Value("./uploads") String uploadDir, RecruiterRepository recruiterRepository) { 32 this.recruiterRepository = recruiterRepository; 33 34 this.logoStorageLocation = Paths.get(uploadDir + "/logo").toAbsolutePath().normalize(); 35 try { 36 Files.createDirectories(this.logoStorageLocation); 37 } catch (IOException ex) { 38 throw new RuntimeException("Could not create the directory where the uploaded files will be stored.", ex); 39 } 40 } 41 42 43 @Override 44 public RecruiterEditDetailsDTO editRecruiterDetailsById(Long recruiterId, RecruiterEditDetailsDTO recruiterEditDetailsDTO) { 45 Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null); 46 recruiter.setEmail(recruiterEditDetailsDTO.getEmail()); 47 recruiter.setCompanyName(recruiterEditDetailsDTO.getCompanyName()); 48 recruiter.setCompanyDescription(recruiterEditDetailsDTO.getCompanyDescription()); 49 recruiter.setContactEmailAddress(recruiterEditDetailsDTO.getContactEmail()); 50 recruiter.setContactPhoneNumber(recruiterEditDetailsDTO.getContactPhoneNumber()); 51 recruiter.setReceptionist(recruiterEditDetailsDTO.getReceptionist()); 52 recruiterRepository.save(recruiter); 53 return RecruiterMapper.mapToRecruiterEditDetailsDTO(recruiter); 54 } 55 56 @Override 57 public RecruiterEditDetailsDTO getRecruiterEditDetailsById(Long recruiterId) { 58 Recruiter recruiter = recruiterRepository.findById(recruiterId).orElse(null); 59 return RecruiterMapper.mapToRecruiterEditDetailsDTO(recruiter); 60 } 61 16 62 17 63 @Override … … 20 66 return RecruiterMapper.mapToRecruiterDetailsDTO(recruiter); 21 67 } 68 69 @Override 70 public void submitLogo(Long recruiterId, MultipartFile logoFile) { 71 72 Path recruiterLogoDir = this.logoStorageLocation.resolve(String.valueOf(recruiterId)); 73 try { 74 Files.createDirectories(recruiterLogoDir); 75 String originalFilename = logoFile.getOriginalFilename(); 76 77 if (originalFilename != null) { 78 Path targetLocation = recruiterLogoDir.resolve(originalFilename); 79 80 Files.copy(logoFile.getInputStream(), targetLocation, StandardCopyOption.REPLACE_EXISTING); 81 82 Recruiter recruiter = recruiterRepository.findById(recruiterId) 83 .orElseThrow(() -> new RuntimeException("Recruiter not found")); 84 String relativePath = Paths.get("uploads", "logo", String.valueOf(recruiterId), originalFilename).toString(); 85 recruiter.setLogoFilePath(relativePath); 86 recruiterRepository.save(recruiter); 87 } 88 89 } catch (IOException ex) { 90 throw new RuntimeException("Could not store file. Please try again!", ex); 91 } 92 93 94 } 95 96 public Resource loadLogoAsResource(Long recruiterId) { 97 Recruiter recruiter = recruiterRepository.findById(recruiterId) 98 .orElseThrow(() -> new RuntimeException("Recruiter not found")); 99 100 try { 101 String relativeLogoPath = recruiter.getLogoFilePath(); 102 Path logoPath = this.logoStorageLocation.getParent().getParent().resolve(relativeLogoPath); 103 Resource resource = new UrlResource(logoPath.toUri()); 104 if (resource.exists()) { 105 return resource; 106 } else { 107 throw new RuntimeException("File not found " + logoPath); 108 } 109 } catch (IOException ex) { 110 throw new RuntimeException("File not found " + ex); 111 } 112 113 } 114 22 115 }
Note:
See TracChangeset
for help on using the changeset viewer.