Changes in / [48e50b4:1624c61]


Ignore:
Location:
ReserveNGo-backend
Files:
14 added
10 deleted
28 edited

Legend:

Unmodified
Added
Removed
  • ReserveNGo-backend/docker-compose.yml

    r48e50b4 r1624c61  
    44  wp-db:
    55    image: "postgres"
    6     container_name: "wp2024_resAndGo"
     6    container_name: "resAndGo"
    77    environment:
    88      - POSTGRES_USER=za123
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/bootstrap/DataHolder.java

    r48e50b4 r1624c61  
    22
    33import jakarta.annotation.PostConstruct;
    4 import mk.ukim.finki.it.reservengo.model.*;
     4import mk.ukim.finki.it.reservengo.model.domain.*;
    55import mk.ukim.finki.it.reservengo.model.enumerations.Role;
    66import mk.ukim.finki.it.reservengo.model.enumerations.Service;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/config/WebSecurityConfig.java

    r48e50b4 r1624c61  
    4040                        .requestMatchers(HttpMethod.OPTIONS,"/**").permitAll()
    4141                        .requestMatchers(
    42                                 "api/auth/**",
     42                                "/api/auth/**",
    4343                                "/h2/**",
    4444                                "/favicon.ico",
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/AdminRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.Admin;
     3import mk.ukim.finki.it.reservengo.model.domain.Admin;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/CustomerRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.Customer;
     3import mk.ukim.finki.it.reservengo.model.domain.Customer;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/EventRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.Event;
     3import mk.ukim.finki.it.reservengo.model.domain.Event;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalManagerRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.LocalManager;
     3import mk.ukim.finki.it.reservengo.model.domain.LocalManager;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.Local;
     3import mk.ukim.finki.it.reservengo.model.domain.Local;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/LocalWorkerRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.LocalWorker;
     3import mk.ukim.finki.it.reservengo.model.domain.LocalWorker;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/ReservationRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.Reservation;
     3import mk.ukim.finki.it.reservengo.model.domain.Reservation;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/repository/UserRepository.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.repository;
    22
    3 import mk.ukim.finki.it.reservengo.model.User;
     3import mk.ukim.finki.it.reservengo.model.domain.User;
    44import org.springframework.data.jpa.repository.JpaRepository;
    55import org.springframework.stereotype.Repository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/AuthServiceImpl.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.impl;
    22
    3 import mk.ukim.finki.it.reservengo.model.*;
     3import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationRequestDTO;
     4import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationResponseDTO;
     5import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTLoginDTO;
     6import mk.ukim.finki.it.reservengo.model.domain.Customer;
     7import mk.ukim.finki.it.reservengo.model.domain.LocalManager;
     8import mk.ukim.finki.it.reservengo.model.domain.LocalWorker;
     9import mk.ukim.finki.it.reservengo.model.domain.User;
    410import mk.ukim.finki.it.reservengo.model.enumerations.Role;
    511import mk.ukim.finki.it.reservengo.model.exceptions.EmailNotFoundException;
     
    3642
    3743    @Override
    38     public JWTAuthenticationResponse registerCustomer(String firstName, String lastName, String email, String password, String phoneNumber) {
    39         Customer customer = new Customer(firstName, lastName, email, passwordEncoder.encode(password), phoneNumber, Role.ROLE_CUSTOMER);
     44    public JWTAuthenticationResponseDTO registerCustomer(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) {
     45
     46        Customer customer = new Customer(
     47                jwtAuthenticationRequestDTO.firstName(),
     48                jwtAuthenticationRequestDTO.lastName(),
     49                jwtAuthenticationRequestDTO.email(),
     50                passwordEncoder.encode(jwtAuthenticationRequestDTO.password()),
     51                jwtAuthenticationRequestDTO.phoneNumber(),
     52                Role.ROLE_CUSTOMER
     53        );
     54
    4055        customerRepository.save(customer);
    4156        String jwt = jwtService.generateToken(customer);
    4257
    43         return new JWTAuthenticationResponse(
     58        return new JWTAuthenticationResponseDTO(
    4459                customer.getId(),
    4560                customer.getFirstName(),
     
    5267
    5368    @Override
    54     public JWTAuthenticationResponse registerLocalWorker(String firstName, String lastName, String email, String password, String phoneNumber) {
    55         LocalWorker localWorker = new LocalWorker(firstName, lastName, email, passwordEncoder.encode(password), phoneNumber, Role.ROLE_LOCAL_WORKER);
     69    public JWTAuthenticationResponseDTO registerLocalWorker(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) {
     70        LocalWorker localWorker = new LocalWorker(
     71                jwtAuthenticationRequestDTO.firstName(),
     72                jwtAuthenticationRequestDTO.lastName(),
     73                jwtAuthenticationRequestDTO.email(),
     74                passwordEncoder.encode(jwtAuthenticationRequestDTO.password()),
     75                jwtAuthenticationRequestDTO.phoneNumber(),
     76                Role.ROLE_LOCAL_WORKER
     77        );
    5678        localWorkerRepository.save(localWorker);
    5779        String jwt = jwtService.generateToken(localWorker);
    5880
    59         return new JWTAuthenticationResponse(
     81        return new JWTAuthenticationResponseDTO(
    6082                localWorker.getId(),
    6183                localWorker.getFirstName(),
     
    6890
    6991    @Override
    70     public JWTAuthenticationResponse registerLocalManager(String firstName, String lastName, String email, String password, String phoneNumber) {
    71         LocalManager localManager = new LocalManager(firstName, lastName, email, passwordEncoder.encode(password), phoneNumber, Role.ROLE_LOCAL_MANAGER);
     92    public JWTAuthenticationResponseDTO registerLocalManager(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) {
     93        LocalManager localManager = new LocalManager(
     94                jwtAuthenticationRequestDTO.firstName(),
     95                jwtAuthenticationRequestDTO.lastName(),
     96                jwtAuthenticationRequestDTO.email(),
     97                passwordEncoder.encode(jwtAuthenticationRequestDTO.password()),
     98                jwtAuthenticationRequestDTO.phoneNumber(),
     99                Role.ROLE_LOCAL_MANAGER
     100        );
    72101        localManagerRepository.save(localManager);
    73102        String jwt = jwtService.generateToken(localManager);
    74103
    75         return new JWTAuthenticationResponse(
     104        return new JWTAuthenticationResponseDTO(
    76105                localManager.getId(),
    77106                localManager.getFirstName(),
     
    84113
    85114    @Override
    86     public JWTAuthenticationResponse login(String email, String password) {
    87         authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(email, password));
    88         User user = userRepository.findByEmail(email).orElseThrow(() -> new EmailNotFoundException(email));
     115    public JWTAuthenticationResponseDTO login(JWTLoginDTO jwtLoginDTO) {
     116        authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(jwtLoginDTO.email(), jwtLoginDTO.password()));
     117        User user = userRepository.findByEmail(jwtLoginDTO.email()).orElseThrow(() -> new EmailNotFoundException(jwtLoginDTO.email()));
    89118        String jwt = jwtService.generateToken(user);
    90119
    91         return new JWTAuthenticationResponse(
     120        return new JWTAuthenticationResponseDTO(
    92121                user.getId(),
    93122                user.getFirstName(),
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/CustomerServiceImpl.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.impl;
    22
    3 import mk.ukim.finki.it.reservengo.model.Customer;
    4 import mk.ukim.finki.it.reservengo.model.Local;
     3import mk.ukim.finki.it.reservengo.model.domain.Customer;
     4import mk.ukim.finki.it.reservengo.model.domain.Local;
    55import mk.ukim.finki.it.reservengo.model.exceptions.CustomerNotFoundException;
    66import mk.ukim.finki.it.reservengo.repository.CustomerRepository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/JWTServiceImpl.java

    r48e50b4 r1624c61  
    66import io.jsonwebtoken.io.Decoders;
    77import io.jsonwebtoken.security.Keys;
    8 import mk.ukim.finki.it.reservengo.model.User;
     8import mk.ukim.finki.it.reservengo.model.domain.User;
    99import mk.ukim.finki.it.reservengo.service.intf.JWTService;
    1010import org.springframework.security.core.userdetails.UserDetails;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalManagerServiceImpl.java

    r48e50b4 r1624c61  
    66@Service
    77public class LocalManagerServiceImpl implements LocalManagerService {
     8    //TODO editLocal(admin firstly create(add) LOCAL,uploadPicture(clear method only for changing logo/picture on his local),
    89}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/LocalServiceImpl.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.impl;
    22
    3 import mk.ukim.finki.it.reservengo.model.Local;
     3import mk.ukim.finki.it.reservengo.model.domain.Local;
    44import mk.ukim.finki.it.reservengo.model.exceptions.LocalIdNotFoundException;
    55import mk.ukim.finki.it.reservengo.repository.LocalRepository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/ReservationServiceImpl.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.impl;
    22
    3 import mk.ukim.finki.it.reservengo.model.Reservation;
     3import mk.ukim.finki.it.reservengo.model.domain.Reservation;
    44import mk.ukim.finki.it.reservengo.model.exceptions.ReservationNotFoundException;
    55import mk.ukim.finki.it.reservengo.repository.ReservationRepository;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/impl/UserServiceImpl.java

    r48e50b4 r1624c61  
    66@Service
    77public class UserServiceImpl implements UserService {
     8
    89}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/AuthService.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.intf;
    22
    3 import mk.ukim.finki.it.reservengo.model.JWTAuthenticationResponse;
    4 import mk.ukim.finki.it.reservengo.model.exceptions.EmailNotFoundException;
     3import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationRequestDTO;
     4import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationResponseDTO;
     5import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTLoginDTO;
    56
    67public interface AuthService {
    7     JWTAuthenticationResponse registerCustomer(String firstName, String lastName, String email, String password, String phoneNumber);
     8    JWTAuthenticationResponseDTO registerCustomer(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO);
    89
    9     JWTAuthenticationResponse registerLocalWorker(String firstName, String lastName, String email, String password, String phoneNumber);
     10    JWTAuthenticationResponseDTO registerLocalWorker(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO);
    1011
    11     JWTAuthenticationResponse registerLocalManager(String firstName, String lastName, String email, String password, String phoneNumber);
     12    JWTAuthenticationResponseDTO registerLocalManager(JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO);
    1213
    13     JWTAuthenticationResponse login(String email, String password);
     14    JWTAuthenticationResponseDTO login(JWTLoginDTO jwtLoginDTO);
    1415}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/CustomerService.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.intf;
    22
    3 import mk.ukim.finki.it.reservengo.model.Customer;
    4 import mk.ukim.finki.it.reservengo.model.Local;
     3import mk.ukim.finki.it.reservengo.model.domain.Customer;
     4import mk.ukim.finki.it.reservengo.model.domain.Local;
    55
    66import java.util.List;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/JWTService.java

    r48e50b4 r1624c61  
    22
    33import io.jsonwebtoken.Claims;
    4 import mk.ukim.finki.it.reservengo.model.User;
     4import mk.ukim.finki.it.reservengo.model.domain.User;
    55import org.springframework.security.core.userdetails.UserDetails;
    66
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/LocalService.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.intf;
    22
    3 import mk.ukim.finki.it.reservengo.model.Local;
     3import mk.ukim.finki.it.reservengo.model.domain.Local;
    44
    55import java.util.List;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/service/intf/ReservationService.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.service.intf;
    22
    3 import mk.ukim.finki.it.reservengo.model.Reservation;
     3import mk.ukim.finki.it.reservengo.model.domain.Reservation;
    44
    55import java.util.List;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/AuthController.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.web;
    22
    3 import jakarta.servlet.http.HttpServletRequest;
    4 import mk.ukim.finki.it.reservengo.model.JWTAuthenticationResponse;
     3import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationRequestDTO;
     4import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTAuthenticationResponseDTO;
     5import mk.ukim.finki.it.reservengo.dto.jwtDTO.JWTLoginDTO;
    56import mk.ukim.finki.it.reservengo.service.intf.AuthService;
    67import org.springframework.http.HttpStatus;
    78import org.springframework.http.MediaType;
    89import org.springframework.http.ResponseEntity;
    9 import org.springframework.security.authentication.BadCredentialsException;
    10 import org.springframework.security.core.AuthenticationException;
    11 import org.springframework.security.core.userdetails.UsernameNotFoundException;
    1210import org.springframework.web.bind.annotation.*;
    1311
     
    2220
    2321    @PostMapping(value = "/register/customer", produces = MediaType.APPLICATION_JSON_VALUE)
    24     public ResponseEntity<JWTAuthenticationResponse> registerCustomer(@RequestParam String firstName,
    25                                                                       @RequestParam String lastName,
    26                                                                       @RequestParam String email,
    27                                                                       @RequestParam String password,
    28                                                                       @RequestParam String phoneNumber) {
    29         return new ResponseEntity<>(authenticationService.registerCustomer(firstName, lastName, email, password, phoneNumber), HttpStatus.CREATED);
     22    public ResponseEntity<JWTAuthenticationResponseDTO> registerCustomer(@RequestBody JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) {
     23        return new ResponseEntity<>(authenticationService.registerCustomer(jwtAuthenticationRequestDTO), HttpStatus.CREATED);
    3024    }
    3125
    3226    @PostMapping("/register/local-worker")
    33     public ResponseEntity<JWTAuthenticationResponse> registerLocalWorker(@RequestParam String firstName,
    34                                                                          @RequestParam String lastName,
    35                                                                          @RequestParam String email,
    36                                                                          @RequestParam String password,
    37                                                                          @RequestParam String phoneNumber) {
    38         return new ResponseEntity<>(authenticationService.registerLocalWorker(firstName, lastName, email, password, phoneNumber), HttpStatus.CREATED);
     27    public ResponseEntity<JWTAuthenticationResponseDTO> registerLocalWorker(@RequestBody JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) {
     28        return new ResponseEntity<>(authenticationService.registerLocalWorker(jwtAuthenticationRequestDTO), HttpStatus.CREATED);
    3929    }
    4030
    4131    @PostMapping("/register/local-manager")
    42     public ResponseEntity<JWTAuthenticationResponse> registerLocalManager(@RequestParam String firstName,
    43                                                                           @RequestParam String lastName,
    44                                                                           @RequestParam String email,
    45                                                                           @RequestParam String password,
    46                                                                           @RequestParam String phoneNumber) {
    47         return new ResponseEntity<>(authenticationService.registerLocalManager(firstName, lastName, email, password, phoneNumber), HttpStatus.CREATED);
     32    public ResponseEntity<JWTAuthenticationResponseDTO> registerLocalManager(@RequestBody JWTAuthenticationRequestDTO jwtAuthenticationRequestDTO) {
     33        return new ResponseEntity<>(authenticationService.registerLocalManager(jwtAuthenticationRequestDTO), HttpStatus.CREATED);
    4834    }
    4935
    5036    @PostMapping("/login")
    51     public ResponseEntity<?> login(@RequestParam String email,
    52                                    @RequestParam String password) {
    53         JWTAuthenticationResponse response = authenticationService.login(email, password);
    54         return ResponseEntity.ok(response);
     37    public ResponseEntity<JWTAuthenticationResponseDTO> login(@RequestBody JWTLoginDTO jwtLoginDTO) {
     38        return new ResponseEntity<>(authenticationService.login(jwtLoginDTO), HttpStatus.OK);
    5539    }
    56 
    57     @GetMapping("/logout")
    58     public void logout(HttpServletRequest request) {
    59         request.getSession().invalidate();
    60     }
    61 
    6240}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/CustomerController.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.web;
    22
    3 import mk.ukim.finki.it.reservengo.model.Customer;
    4 import mk.ukim.finki.it.reservengo.model.Local;
    5 import mk.ukim.finki.it.reservengo.model.Reservation;
    6 import mk.ukim.finki.it.reservengo.model.User;
     3import mk.ukim.finki.it.reservengo.model.domain.Customer;
     4import mk.ukim.finki.it.reservengo.model.domain.Local;
     5import mk.ukim.finki.it.reservengo.model.domain.Reservation;
     6import mk.ukim.finki.it.reservengo.model.domain.User;
    77import mk.ukim.finki.it.reservengo.service.intf.CustomerService;
    88import mk.ukim.finki.it.reservengo.service.intf.ReservationService;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/LocalController.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.web;
    22
    3 import mk.ukim.finki.it.reservengo.model.Local;
     3import mk.ukim.finki.it.reservengo.model.domain.Local;
    44import mk.ukim.finki.it.reservengo.service.intf.LocalService;
    55import org.springframework.http.ResponseEntity;
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/ReservationController.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.web;
    22
    3 import mk.ukim.finki.it.reservengo.model.Reservation;
     3import mk.ukim.finki.it.reservengo.model.domain.Reservation;
    44import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus;
    55import mk.ukim.finki.it.reservengo.service.intf.ReservationService;
     
    88
    99@RestController
    10 @RequestMapping("/api")
     10@RequestMapping("/api/reservations")
    1111public class ReservationController {
    1212    private final ReservationService reservationService;
     
    1818    //TODO RE-EVALUATE RESERVATIONS ARCHITECTURE
    1919
    20     @GetMapping("/reservations/{id}")
     20    @GetMapping("/{id}")
    2121    public ResponseEntity<?> getReservationInformation(@PathVariable Long id) {
    2222        Reservation reservation = reservationService.getReservationById(id);
     
    2424    }
    2525
    26     @PostMapping("/reservations/{id}/status")
     26    @PostMapping("/{id}/status")
    2727    public ResponseEntity<?> updateReservationStatus(@PathVariable Long id, @RequestParam ReservationStatus status) {
    2828        Reservation reservation = reservationService.getReservationById(id);
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/web/UserController.java

    r48e50b4 r1624c61  
    11package mk.ukim.finki.it.reservengo.web;
    22
     3import org.springframework.web.bind.annotation.RequestMapping;
     4import org.springframework.web.bind.annotation.RestController;
     5
     6@RestController
     7@RequestMapping("/api/user")
    38public class UserController {
     9    //TODO edit personal info(USER -> customer,localWorker,localManager)
     10
     11//    @PostMapping("/edit")
     12//    public ResponseEntity<?> editPersonalInfo(@RequestBody UserDTO userDTO){
     13//    }
    414}
Note: See TracChangeset for help on using the changeset viewer.