Skip to content
Extraits de code Groupes Projets
Valider c4e19d96 rédigé par Mohamed Lemine BAILLAHI's avatar Mohamed Lemine BAILLAHI
Parcourir les fichiers

Merge branch 'feature/MLC-301' into 'develop'

MLC-301/implement getClientById

Closes MLC-301

See merge request !11
parents c6b0ea53 fceb327a
Branches
1 requête de fusion!11MLC-301/implement getClientById
...@@ -28,4 +28,5 @@ ...@@ -28,4 +28,5 @@
- MLC-297/introduce SpecBuilder for conditional Specification chains - MLC-297/introduce SpecBuilder for conditional Specification chains
- MLC-297/refactor list methods for clients, agents - MLC-297/refactor list methods for clients, agents
- MLC-298/Implement backend role management - MLC-298/Implement backend role management
- MLC-301/Implement getClientById method
...@@ -32,4 +32,6 @@ public class Message { ...@@ -32,4 +32,6 @@ public class Message {
public static final String ROLE_NAME_EMPTY = " role name cannot be empty"; public static final String ROLE_NAME_EMPTY = " role name cannot be empty";
public static final String ROLE_NAME_EXISTS = "A role with this email already exists:"; public static final String ROLE_NAME_EXISTS = "A role with this email already exists:";
public static final String ROLE_PERMISSIONS_EMPTY = "permissions cannot be empty"; public static final String ROLE_PERMISSIONS_EMPTY = "permissions cannot be empty";
public static final String CLIENT_NOT_FOUND = "Client not found with ID: ";
} }
\ No newline at end of file
...@@ -11,6 +11,7 @@ public class Paths { ...@@ -11,6 +11,7 @@ public class Paths {
public static final String DELETE_CLIENT = "/delete"; public static final String DELETE_CLIENT = "/delete";
public static final String CLIENT_BY_ID = "/{id}"; public static final String CLIENT_BY_ID = "/{id}";
public static final String UPDATE_CLIENT_STATUS = "/{id}/status"; public static final String UPDATE_CLIENT_STATUS = "/{id}/status";
public static final String GET_CLIENT_BY_ID = "/by-id/{id}";
// === Agent Api === // === Agent Api ===
public static final String AGENT_BASE = BASE_URL + "/agents"; public static final String AGENT_BASE = BASE_URL + "/agents";
......
package com.marketingconfort.mobiloca.controller; package com.marketingconfort.mobiloca.controller;
import com.marketingconfort.mobiloca.common.Reservation.dto.ClientDTO;
import com.marketingconfort.mobiloca.common.User.enums.UserStatus; import com.marketingconfort.mobiloca.common.User.enums.UserStatus;
import com.marketingconfort.mobiloca.constants.Paths; import com.marketingconfort.mobiloca.constants.Paths;
import com.marketingconfort.mobiloca.dto.request.ClientSearchRequest; import com.marketingconfort.mobiloca.dto.request.ClientSearchRequest;
...@@ -69,5 +70,10 @@ public class ClientController { ...@@ -69,5 +70,10 @@ public class ClientController {
return ResponseEntity.noContent().build(); return ResponseEntity.noContent().build();
} }
@GetMapping(Paths.GET_CLIENT_BY_ID)
public ResponseEntity<ClientDTO> getClientById(@PathVariable Long id) throws FunctionalException {
ClientDTO client = clientService.getClientById(id);
return ResponseEntity.ok(client);
}
} }
package com.marketingconfort.mobiloca.service; package com.marketingconfort.mobiloca.service;
import com.marketingconfort.mobiloca.common.Reservation.dto.ClientDTO;
import com.marketingconfort.mobiloca.common.User.enums.UserStatus; import com.marketingconfort.mobiloca.common.User.enums.UserStatus;
import com.marketingconfort.mobiloca.dto.request.ClientSearchRequest; import com.marketingconfort.mobiloca.dto.request.ClientSearchRequest;
import com.marketingconfort.mobiloca.dto.response.ClientResponseDTO; import com.marketingconfort.mobiloca.dto.response.ClientResponseDTO;
...@@ -25,4 +26,7 @@ public interface ClientService { ...@@ -25,4 +26,7 @@ public interface ClientService {
void deleteClient(Long id) throws FunctionalException; void deleteClient(Long id) throws FunctionalException;
ClientDTO getClientById(Long clientId) throws FunctionalException;
} }
package com.marketingconfort.mobiloca.service.impl; package com.marketingconfort.mobiloca.service.impl;
import com.marketingconfort.mobiloca.common.Reservation.dto.ClientDTO;
import com.marketingconfort.mobiloca.common.User.enums.UserStatus; import com.marketingconfort.mobiloca.common.User.enums.UserStatus;
import com.marketingconfort.mobiloca.common.User.models.Client; import com.marketingconfort.mobiloca.common.User.models.Client;
import com.marketingconfort.mobiloca.constants.Message; import com.marketingconfort.mobiloca.constants.Message;
...@@ -172,5 +173,17 @@ public class ClientServiceImpl implements ClientService { ...@@ -172,5 +173,17 @@ public class ClientServiceImpl implements ClientService {
} }
@Override
public ClientDTO getClientById(Long clientId) throws FunctionalException {
Client client = clientRepository.findById(clientId)
.orElseThrow(() -> new FunctionalException(Message.CLIENT_NOT_FOUND + clientId));
return ClientDTO.builder()
.id(client.getId())
.firstname(client.getFirstName())
.lastname(client.getLastName())
.build();
}
} }
0% ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter