Amélioration structurelle Best Practices Endpoint
This commit is contained in:
86
src/main/java/com/lions/dev/service/EventService.java
Normal file
86
src/main/java/com/lions/dev/service/EventService.java
Normal file
@@ -0,0 +1,86 @@
|
||||
package com.lions.dev.service;
|
||||
|
||||
import com.lions.dev.entity.events.Events;
|
||||
import com.lions.dev.entity.users.Users;
|
||||
import com.lions.dev.repository.EventsRepository;
|
||||
import com.lions.dev.dto.request.events.EventRequestDTO;
|
||||
import com.lions.dev.exception.EventNotFoundException;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Service de gestion des événements.
|
||||
* Ce service contient la logique métier pour la création, récupération et suppression des événements.
|
||||
*/
|
||||
@ApplicationScoped
|
||||
public class EventService {
|
||||
|
||||
@Inject
|
||||
EventsRepository eventsRepository;
|
||||
|
||||
/**
|
||||
* Crée un nouvel événement dans le système.
|
||||
*
|
||||
* @param eventRequestDTO Le DTO contenant les informations de l'événement à créer.
|
||||
* @param creator L'utilisateur créateur de l'événement.
|
||||
* @return L'événement créé.
|
||||
*/
|
||||
public Events createEvent(EventRequestDTO eventRequestDTO, Users creator) {
|
||||
Events event = new Events();
|
||||
event.setTitle(eventRequestDTO.getTitle());
|
||||
event.setStartDate(eventRequestDTO.getStartDate());
|
||||
event.setEndDate(eventRequestDTO.getEndDate());
|
||||
event.setCreator(creator);
|
||||
eventsRepository.persist(event);
|
||||
System.out.println("[LOG] Événement créé : " + event.getTitle());
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère un événement par son ID.
|
||||
*
|
||||
* @param id L'ID de l'événement.
|
||||
* @return L'événement trouvé.
|
||||
* @throws EventNotFoundException Si l'événement n'est pas trouvé.
|
||||
*/
|
||||
public Events getEventById(UUID id) {
|
||||
Events event = eventsRepository.findById(id);
|
||||
if (event == null) {
|
||||
System.out.println("[ERROR] Événement non trouvé avec l'ID : " + id);
|
||||
throw new EventNotFoundException("Événement non trouvé avec l'ID : " + id);
|
||||
}
|
||||
System.out.println("[LOG] Événement trouvé avec l'ID : " + id);
|
||||
return event;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère tous les événements après une date donnée.
|
||||
*
|
||||
* @param startDate La date de début de filtre.
|
||||
* @return Une liste d'événements.
|
||||
*/
|
||||
public List<Events> getEventsAfterDate(LocalDateTime startDate) {
|
||||
List<Events> events = eventsRepository.findEventsAfterDate(startDate);
|
||||
System.out.println("[LOG] Nombre d'événements trouvés après la date " + startDate + " : " + events.size());
|
||||
return events;
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime un événement par son ID.
|
||||
*
|
||||
* @param id L'ID de l'événement à supprimer.
|
||||
* @return true si l'événement a été supprimé, false sinon.
|
||||
*/
|
||||
public boolean deleteEvent(UUID id) {
|
||||
boolean deleted = eventsRepository.deleteById(id);
|
||||
if (deleted) {
|
||||
System.out.println("[LOG] Événement supprimé avec succès : " + id);
|
||||
} else {
|
||||
System.out.println("[ERROR] Échec de la suppression de l'événement avec l'ID : " + id);
|
||||
}
|
||||
return deleted;
|
||||
}
|
||||
}
|
||||
89
src/main/java/com/lions/dev/service/UserService.java
Normal file
89
src/main/java/com/lions/dev/service/UserService.java
Normal file
@@ -0,0 +1,89 @@
|
||||
package com.lions.dev.service;
|
||||
|
||||
import com.lions.dev.entity.users.Users;
|
||||
import com.lions.dev.repository.UsersRepository;
|
||||
import com.lions.dev.dto.request.users.UserRequestDTO;
|
||||
import com.lions.dev.exception.UserNotFoundException;
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Service de gestion des utilisateurs.
|
||||
* Ce service contient la logique métier pour la création, récupération et suppression des utilisateurs.
|
||||
*/
|
||||
@ApplicationScoped
|
||||
public class UserService {
|
||||
|
||||
@Inject
|
||||
UsersRepository usersRepository;
|
||||
|
||||
/**
|
||||
* Crée un nouvel utilisateur dans le système.
|
||||
*
|
||||
* @param userRequestDTO Le DTO contenant les informations de l'utilisateur à créer.
|
||||
* @return L'utilisateur créé.
|
||||
*/
|
||||
public Users createUser(UserRequestDTO userRequestDTO) {
|
||||
Users user = new Users();
|
||||
user.setNom(userRequestDTO.getNom());
|
||||
user.setPrenoms(userRequestDTO.getPrenoms());
|
||||
user.setEmail(userRequestDTO.getEmail());
|
||||
user.setMotDePasse(userRequestDTO.getMotDePasse()); // Hachage automatique
|
||||
usersRepository.persist(user);
|
||||
System.out.println("[LOG] Utilisateur créé : " + user.getEmail());
|
||||
return user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Authentifie un utilisateur avec son email et son mot de passe.
|
||||
*
|
||||
* @param email L'email de l'utilisateur.
|
||||
* @param motDePasse Le mot de passe de l'utilisateur.
|
||||
* @return L'utilisateur authentifié.
|
||||
* @throws UserNotFoundException Si l'utilisateur n'est pas trouvé ou si le mot de passe est incorrect.
|
||||
*/
|
||||
public Users authenticateUser(String email, String motDePasse) {
|
||||
Optional<Users> userOptional = usersRepository.findByEmail(email);
|
||||
if (userOptional.isEmpty() || !userOptional.get().verifierMotDePasse(motDePasse)) {
|
||||
System.out.println("[ERROR] Échec de l'authentification pour l'email : " + email);
|
||||
throw new UserNotFoundException("Utilisateur ou mot de passe incorrect.");
|
||||
}
|
||||
System.out.println("[LOG] Utilisateur authentifié : " + email);
|
||||
return userOptional.get();
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère un utilisateur par son ID.
|
||||
*
|
||||
* @param id L'ID de l'utilisateur.
|
||||
* @return L'utilisateur trouvé.
|
||||
* @throws UserNotFoundException Si l'utilisateur n'est pas trouvé.
|
||||
*/
|
||||
public Users getUserById(UUID id) {
|
||||
Users user = usersRepository.findById(id);
|
||||
if (user == null) {
|
||||
System.out.println("[ERROR] Utilisateur non trouvé avec l'ID : " + id);
|
||||
throw new UserNotFoundException("Utilisateur non trouvé avec l'ID : " + id);
|
||||
}
|
||||
System.out.println("[LOG] Utilisateur trouvé avec l'ID : " + id);
|
||||
return user;
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime un utilisateur par son ID.
|
||||
*
|
||||
* @param id L'ID de l'utilisateur à supprimer.
|
||||
* @return true si l'utilisateur a été supprimé, false sinon.
|
||||
*/
|
||||
public boolean deleteUser(UUID id) {
|
||||
boolean deleted = usersRepository.deleteById(id);
|
||||
if (deleted) {
|
||||
System.out.println("[LOG] Utilisateur supprimé avec succès : " + id);
|
||||
} else {
|
||||
System.out.println("[ERROR] Échec de la suppression de l'utilisateur avec l'ID : " + id);
|
||||
}
|
||||
return deleted;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user