Ignore:
Timestamp:
06/17/24 21:59:14 (2 weeks ago)
Author:
223021 <daniel.ilievski.2@…>
Branches:
main
Children:
08f82ec
Parents:
b248810
Message:

Added an edit profile page for both job seekers and recruiters, where they can upload profile pictures/company logos and edit their profile data. Added profile page specifically for recruiters. Refactored existing code.

Location:
jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/DTO/RecruiterDetailsDTO.java

    rb248810 rbefb988  
    1111@NoArgsConstructor
    1212public class RecruiterDetailsDTO {
    13     private Long id;
    14     private String email;
    1513    private String companyName;
    1614    private String companyDescription;
    17     private String phoneNumber;
    18     private boolean hasAccess;
    19     private LocalDateTime registeredOn;
     15    private String contactEmail;
     16    private String contactPhoneNumber;
     17    private String receptionist;
    2018}
  • jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/JobSeeker.java

    rb248810 rbefb988  
    88import lombok.NoArgsConstructor;
    99import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.Role;
     10
     11import java.nio.file.Paths;
    1012
    1113@Entity
     
    2224        this.lastName = lastName;
    2325        this.phoneNumber = phoneNumber;
     26
     27        String relativeProfilePicFilePath = Paths.get("uploads", "job-seekers", "profile-pics", "default-profile-pic.png").toString();
     28        this.profilePicFilePath = relativeProfilePicFilePath;
     29
    2430        this.role = Role.ROLE_JOBSEEKER;
    2531    }
     
    3440    private String phoneNumber;
    3541
     42    private String profilePicFilePath;
     43
    3644    @Override
    3745    public String getName() {
  • jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/Recruiter.java

    rb248810 rbefb988  
    99import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.enumerations.Role;
    1010
     11import java.nio.file.Paths;
     12
    1113@Entity
    1214@Data
    1315@NoArgsConstructor
    14 @AllArgsConstructor
    1516@Table(name = "recruiters")
    1617public class Recruiter extends User {
     
    2122        this.companyName = companyName;
    2223        this.companyDescription = "";
    23         this.phoneNumber = phoneNumber;
     24        this.contactEmailAddress = email;
     25        this.contactPhoneNumber = phoneNumber;
     26        this.receptionist = "";
     27
     28        String relativeLogoFilePath = Paths.get("uploads", "logo", "default-company-logo.png").toString();
     29        this.logoFilePath = relativeLogoFilePath;
    2430        this.role = Role.ROLE_RECRUITER;
    2531    }
     
    3137    private String companyDescription;
    3238
    33     @Column(name = "phone_number")
    34     private String phoneNumber;
     39    private String contactEmailAddress;
     40
     41    private String contactPhoneNumber;
     42
     43    private String receptionist;
     44
     45    private String logoFilePath;
    3546
    3647    @Override
  • jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/JobSeekerMapper.java

    rb248810 rbefb988  
    22
    33import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerDTO;
     4import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.JobSeekerEditDetailsDTO;
     5import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
    46import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
     7import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
    58
    69public class JobSeekerMapper {
     
    2629    }
    2730
     31    public static JobSeekerEditDetailsDTO mapToJobSeekerEditDetailsDTO(JobSeeker jobSeeker) {
     32        return new JobSeekerEditDetailsDTO(
     33                jobSeeker.getEmail(),
     34                jobSeeker.getFirstName(),
     35                jobSeeker.getLastName(),
     36                jobSeeker.getPhoneNumber()
     37        );
     38    }
     39
    2840}
  • jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/models/users/mappers/RecruiterMapper.java

    rb248810 rbefb988  
    11package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers;
    22
     3import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterAdminDetailsDTO;
    34import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDTO;
    45import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterDetailsDTO;
     6import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.RecruiterEditDetailsDTO;
    57import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
    68
     
    1214                recruiter.getPassword(),
    1315                recruiter.getCompanyName(),
    14                 recruiter.getPhoneNumber()
     16                recruiter.getContactPhoneNumber()
    1517        );
    1618    }
     
    1820    public static RecruiterDetailsDTO mapToRecruiterDetailsDTO(Recruiter recruiter) {
    1921        return new RecruiterDetailsDTO(
     22                recruiter.getCompanyName(),
     23                recruiter.getCompanyDescription(),
     24                recruiter.getContactEmailAddress(),
     25                recruiter.getContactPhoneNumber(),
     26                recruiter.getReceptionist()
     27        );
     28    }
     29    public static RecruiterEditDetailsDTO mapToRecruiterEditDetailsDTO(Recruiter recruiter) {
     30        return new RecruiterEditDetailsDTO(
     31                recruiter.getEmail(),
     32                recruiter.getCompanyName(),
     33                recruiter.getCompanyDescription(),
     34                recruiter.getContactEmailAddress(),
     35                recruiter.getContactPhoneNumber(),
     36                recruiter.getReceptionist()
     37        );
     38    }
     39
     40    public static RecruiterAdminDetailsDTO mapToRecruiterAdminDetailsDTO(Recruiter recruiter) {
     41        return new RecruiterAdminDetailsDTO(
    2042                recruiter.getId(),
    2143                recruiter.getEmail(),
    2244                recruiter.getCompanyName(),
    2345                recruiter.getCompanyDescription(),
    24                 recruiter.getPhoneNumber(),
     46                recruiter.getContactEmailAddress(),
     47                recruiter.getContactPhoneNumber(),
     48                recruiter.getReceptionist(),
    2549                recruiter.isHasAccess(),
    2650                recruiter.getRegisteredOn()
     
    3660        );
    3761    }
     62
    3863//    Using MapStruct:
    3964//    RecruiterMapper INSTANCE = Mappers.getMapper(RecruiterMapper.class);
Note: See TracChangeset for help on using the changeset viewer.