Ignore:
Timestamp:
05/05/24 01:27:16 (2 months ago)
Author:
ppaunovski <paunovskipavel@…>
Branches:
master
Parents:
4d026a5
Message:

Added roles to Users and some minor changes

Location:
src/main/java/mk/ukim/finki/busngo
Files:
1 added
10 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/mk/ukim/finki/busngo/model/entities/Kondukter.java

    r4d026a5 r8b875e6  
    33import jakarta.persistence.*;
    44import lombok.Data;
     5import lombok.EqualsAndHashCode;
    56
    67import java.util.List;
    78import java.util.Objects;
    89
     10@EqualsAndHashCode(callSuper = true)
    911@Data
    1012@Entity
  • src/main/java/mk/ukim/finki/busngo/model/entities/Korisnik.java

    r4d026a5 r8b875e6  
    5050    private String kLozinka;
    5151
     52    @Basic
     53    @Column(name = "k_role")
     54    @Enumerated(EnumType.STRING)
     55    private Role kRole;
     56
    5257//    @OneToMany(mappedBy = "korisnikByPatnikKId")
    5358//    private List<Bilet> biletsByKId;
     
    6065    @Override
    6166    public Collection<? extends GrantedAuthority> getAuthorities() {
    62         return kIsAdmin ? Collections.singletonList(Role.ROLE_ADMIN) : Collections.singletonList(Role.ROLE_USER);
     67        return Collections.singletonList(kRole);
    6368    }
    6469
  • src/main/java/mk/ukim/finki/busngo/model/entities/Patnik.java

    r4d026a5 r8b875e6  
    33import jakarta.persistence.*;
    44import lombok.Data;
     5import lombok.EqualsAndHashCode;
    56
    67import java.util.List;
    78import java.util.Objects;
    89
     10@EqualsAndHashCode(callSuper = true)
    911@Data
    1012@Entity
  • src/main/java/mk/ukim/finki/busngo/model/entities/Vozac.java

    r4d026a5 r8b875e6  
    33import jakarta.persistence.*;
    44import lombok.Data;
     5import lombok.EqualsAndHashCode;
    56
    67import java.util.List;
    78import java.util.Objects;
    89
     10@EqualsAndHashCode(callSuper = true)
    911@Data
    1012@Entity
  • src/main/java/mk/ukim/finki/busngo/model/entities/Vraboten.java

    r4d026a5 r8b875e6  
    33import jakarta.persistence.*;
    44import lombok.Data;
     5import lombok.EqualsAndHashCode;
    56import lombok.Getter;
    67
     
    89import java.util.Objects;
    910
     11@EqualsAndHashCode(callSuper = true)
    1012@Data
    1113@Entity
  • src/main/java/mk/ukim/finki/busngo/service/AuthService.java

    r4d026a5 r8b875e6  
    22
    33import mk.ukim.finki.busngo.model.entities.Korisnik;
     4import mk.ukim.finki.busngo.model.enums.Role;
    45import mk.ukim.finki.busngo.model.enums.VrabotenType;
    56
     
    910    Korisnik registerVraboten(String ime, String email, String password, String confirmPassword, String address, String telefon, VrabotenType type, Double salary);
    1011
     12    Korisnik register(String name, String email, String password, String confirmPassword, String address, String phone, Role role, Double salary);
    1113}
  • src/main/java/mk/ukim/finki/busngo/service/KorisnikService.java

    r4d026a5 r8b875e6  
    22
    33import mk.ukim.finki.busngo.model.entities.Korisnik;
     4import mk.ukim.finki.busngo.model.enums.Role;
    45
    56
     
    1011    Korisnik findById(Long id);
    1112    Korisnik loadUserByEmail(String email);
     13
    1214}
  • src/main/java/mk/ukim/finki/busngo/service/impl/AuthServiceImpl.java

    r4d026a5 r8b875e6  
    55import mk.ukim.finki.busngo.model.entities.Patnik;
    66import mk.ukim.finki.busngo.model.entities.Vozac;
     7import mk.ukim.finki.busngo.model.enums.Role;
    78import mk.ukim.finki.busngo.model.enums.VrabotenType;
    89import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException;
     
    128129    }
    129130
     131    @Override
     132    public Korisnik register(String name, String email, String password, String confirmPassword, String address, String phone, Role role, Double salary) {
     133        if (email == null || password == null || email.isEmpty() || password.isEmpty()) {
     134            throw new InvalidCredentialsException();
     135        }
     136
     137        if(!password.equals(confirmPassword)){
     138            throw new InvalidCredentialsException();
     139        }
     140
     141        if(role.equals(Role.ROLE_DRIVER)){
     142            Vozac vozac = new Vozac();
     143            vozac.setKIme(name);
     144            vozac.setKAdresa(address);
     145            vozac.setKLozinka(passwordEncoder.encode(password));
     146            vozac.setKEmail(email);
     147            vozac.setKTelefon(phone);
     148            vozac.setKIsAdmin(role.equals(Role.ROLE_ADMIN));
     149            vozac.setKRole(role);
     150            vozac.setVPlata(salary != null ? salary : 0.0);
     151            vozac.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now()));
     152            this.korisnikRepository.save(vozac);
     153            return vozacRepository.save(vozac);
     154        } else if(role.equals(Role.ROLE_CONDUCTOR)){
     155            Kondukter kondukter = new Kondukter();
     156            kondukter.setKIme(name);
     157            kondukter.setKAdresa(address);
     158            kondukter.setKLozinka(passwordEncoder.encode(password));
     159            kondukter.setKEmail(email);
     160            kondukter.setKTelefon(phone);
     161            kondukter.setKIsAdmin(role.equals(Role.ROLE_ADMIN));
     162            kondukter.setKRole(role);
     163            kondukter.setVPlata(salary != null ? salary : 0.0);
     164            kondukter.setVDatumNaVrabotuvanje(Date.valueOf(LocalDate.now()));
     165            this.korisnikRepository.save(kondukter);
     166            return kondukterRepository.save(kondukter);
     167        } else {
     168            Patnik patnik = new Patnik();
     169            patnik.setKIme(name);
     170            patnik.setKAdresa(address);
     171            patnik.setKLozinka(passwordEncoder.encode(password));
     172            patnik.setKEmail(email);
     173            patnik.setKTelefon(phone);
     174            patnik.setKIsAdmin(role.equals(Role.ROLE_ADMIN));
     175            patnik.setKRole(role);
     176            this.korisnikRepository.save(patnik);
     177            return patnikRepository.save(patnik);
     178        }
     179    }
     180
    130181
    131182}
  • src/main/java/mk/ukim/finki/busngo/service/impl/KorisnikServiceImpl.java

    r4d026a5 r8b875e6  
    22
    33import mk.ukim.finki.busngo.model.entities.Korisnik;
     4import mk.ukim.finki.busngo.model.enums.Role;
    45import mk.ukim.finki.busngo.model.exceptions.InvalidUserId;
    56import mk.ukim.finki.busngo.repository.KorisnikRepository;
  • src/main/java/mk/ukim/finki/busngo/web/RegisterController.java

    r4d026a5 r8b875e6  
    22
    33import mk.ukim.finki.busngo.model.entities.Korisnik;
     4import mk.ukim.finki.busngo.model.enums.Role;
    45import mk.ukim.finki.busngo.model.enums.VrabotenType;
    56import mk.ukim.finki.busngo.model.exceptions.InvalidCredentialsException;
     
    3536        }
    3637
    37         model.addAttribute("types", VrabotenType.values());
     38        model.addAttribute("roles", Role.values());
    3839
    3940        model.addAttribute("bodyContent", "register");
     
    4849                           @RequestParam String address,
    4950                           @RequestParam String phone,
    50                            @RequestParam(required = false)VrabotenType vrabotenType,
     51                           @RequestParam Role role,
    5152                           @RequestParam(required = false) Double salary
    5253                           ) {
    5354        try{
    54             Korisnik korisnik;
    55             if(vrabotenType != null){
    56                  korisnik = this.authService.registerVraboten(name, email, password, confirmPassword, address, phone, vrabotenType, salary);
     55            Korisnik korisnik = authService.register(name, email, password, confirmPassword, address, phone, role, salary);
    5756
    58             }
    59             else
    60                 korisnik = this.authService.registerPatnik(name, email, password, confirmPassword, address, phone);
    6157            return "redirect:/login";
    6258        } catch (InvalidCredentialsException | UserAlreadyExistsException exception) {
Note: See TracChangeset for help on using the changeset viewer.