Blame view

src/main/java/etunicorn/controller/LoginController.java 1.98 KB
2f1f76a9   Geoffrey PREUD'HOMME   Mise sous packages
1
  package etunicorn.controller;
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
2
  
2f1f76a9   Geoffrey PREUD'HOMME   Mise sous packages
3
4
5
  import etunicorn.RestrictedTo;
  import etunicorn.entity.Personne;
  import etunicorn.entity.Session;
5596f9d9   Geoffrey PREUD'HOMME   Début de l'implém...
6
  import etunicorn.generated.model.UpdateLoginRequest;
2f1f76a9   Geoffrey PREUD'HOMME   Mise sous packages
7
8
  import etunicorn.repository.PersonneRepository;
  import etunicorn.service.SessionService;
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
9
10
11
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.http.HttpStatus;
  import org.springframework.http.ResponseEntity;
5596f9d9   Geoffrey PREUD'HOMME   Début de l'implém...
12
  import org.springframework.web.bind.annotation.RequestBody;
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
13
14
  import org.springframework.web.bind.annotation.RestController;
  
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
15
  import javax.servlet.http.HttpServletRequest;
5596f9d9   Geoffrey PREUD'HOMME   Début de l'implém...
16
17
  import javax.validation.Valid;
  
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
18
  /**
3064f583   Geoffrey PREUD'HOMME   Copyright
19
20
21
   * etunicorn-server
   * Copyright © 2017 Le Club Info Polytech Lille
   * Tous droits réservés
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
22
23
   */
  @RestController
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
24
25
26
  public class LoginController extends BaseController implements etunicorn.generated.LoginController {
      @Autowired
      HttpServletRequest request;
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
27
      @Autowired
8f35fffd   Geoffrey PREUD'HOMME   Ajout de la sécurité
28
      private PersonneRepository personneRepository;
8f35fffd   Geoffrey PREUD'HOMME   Ajout de la sécurité
29
30
      @Autowired
      private SessionService sessionService;
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
31
32
  
      @Override
8f35fffd   Geoffrey PREUD'HOMME   Ajout de la sécurité
33
      @RestrictedTo(authentifie = false)
5596f9d9   Geoffrey PREUD'HOMME   Début de l'implém...
34
      public ResponseEntity<?> updateLogin(@Valid @RequestBody UpdateLoginRequest updateLoginRequest) {
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
35
          Personne personne = personneRepository.findByLogin(updateLoginRequest.getLogin());
8f35fffd   Geoffrey PREUD'HOMME   Ajout de la sécurité
36
          if (personne == null) {
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
37
              return generateError(HttpStatus.UNAUTHORIZED);
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
38
          }
8f35fffd   Geoffrey PREUD'HOMME   Ajout de la sécurité
39
40
  
          // TODO Vraie vérification du mot de passe
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
41
42
          if (!updateLoginRequest.getPassword().equals("test")) {
              return generateError(HttpStatus.UNAUTHORIZED);
8f35fffd   Geoffrey PREUD'HOMME   Ajout de la sécurité
43
44
45
46
47
          }
  
          Session session = sessionService.createSession(personne);
  
          return new ResponseEntity<Object>(session, HttpStatus.OK);
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
48
49
      }
  
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
50
      @Override
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
51
52
53
54
55
56
57
      @RestrictedTo(authentifie = false)
      public ResponseEntity<?> deleteLogin() {
          Session session = sessionService.getSession(request);
          if (session != null) {
              sessionService.deleteSession(session);
          }
          return new ResponseEntity<Object>(HttpStatus.NO_CONTENT);
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
58
      }
474776a8   Geoffrey PREUD'HOMME   Implémentation JS...
59
60
  
  
bae3c9f4   Geoffrey PREUD'HOMME   /login pour debug
61
  }