package etunicorn.service; import etunicorn.entity.Personne; import etunicorn.entity.Session; import etunicorn.repository.PersonneRepository; import etunicorn.repository.SessionRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.Date; /** * etunicorn-server * Copyright © 2017 Le Club Info Polytech Lille * Tous droits réservés */ @Service("sessionService") public class SessionService { @Autowired private SessionRepository sessionRepository; @Autowired private PersonneRepository personneRepository; public SessionService() { } public Session getSession(HttpServletRequest request) { String token = request.getHeader("Authorization"); return getSession(token); } public Session getSession(String token) { if (token == null) { return null; } else { Session session = sessionRepository.findByToken(token); if (session == null) { return null; } else { if (session.getValidity().compareTo(new Date()) < 0) { return null; } else { // Vérifie si la personne est toujours dans la base de données Personne personne = personneRepository.findById(session.getPersonne().getId()); if (personne == null) { return null; } else { return session; } } } } } public Session createSession(Personne personne) { Session session = new Session(personne); sessionRepository.save(session); return session; } }