Blame view

src/main/java/etunicorn/controller/ConsommationController.java 3.81 KB
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
1
2
  package etunicorn.controller;
  
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
3
  import etunicorn.RestrictedTo;
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
4
  import etunicorn.entity.Consommation;
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
5
  import etunicorn.generated.model.UpdateAcheteRequest;
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
  import etunicorn.generated.model.UpdateConsommationByIdRequest;
  import etunicorn.generated.model.UpdateConsommationRequest;
  import etunicorn.repository.ConsommationRepository;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.http.HttpStatus;
  import org.springframework.http.ResponseEntity;
  import org.springframework.web.bind.annotation.PathVariable;
  import org.springframework.web.bind.annotation.RequestBody;
  import org.springframework.web.bind.annotation.RestController;
  
  import javax.validation.Valid;
  
  /**
   * etunicorn-server
   * Copyright © 2017 Le Club Info Polytech Lille
   * Tous droits réservés
   */
  @RestController
  public class ConsommationController extends BaseController implements etunicorn.generated.ConsommationController {
      @Autowired
      ConsommationRepository consommationRepository;
  
      @Override
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
29
      @RestrictedTo("CONSO_LIST")
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
30
31
32
33
34
      public ResponseEntity<?> getConsommation() {
          return new ResponseEntity<Object>(this.consommationRepository.findAll(), HttpStatus.OK);
      }
  
      private ResponseEntity<?> mergeConsommation(Consommation consommation, UpdateConsommationRequest updateConsommationRequest) {
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
35
36
37
38
39
40
41
42
          if (updateConsommationRequest.getNom() != null) {
              consommation.setNom(updateConsommationRequest.getNom());
          }
          if (updateConsommationRequest.getPrix() != null) {
              consommation.setPrix(updateConsommationRequest.getPrix());
          }
          consommationRepository.save(consommation);
          return new ResponseEntity(consommation, HttpStatus.CREATED);
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
43
44
45
      }
  
      @Override
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
46
      @RestrictedTo("CONSO_ADD")
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
47
      public ResponseEntity<?> updateConsommation(@Valid @RequestBody UpdateConsommationRequest updateConsommationRequest) {
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
48
49
          Consommation consommation = new Consommation();
          return mergeConsommation(consommation, updateConsommationRequest);
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
50
51
52
      }
  
      @Override
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
53
      @RestrictedTo("CONSO_EDIT")
4ceffe1e   Geoffrey PREUD'HOMME   Correction /conso...
54
55
      public ResponseEntity<?> updateConsommationById(@PathVariable Long idConsommation, @Valid @RequestBody UpdateConsommationByIdRequest updateConsommationByIdRequest) {
          Consommation consommation = consommationRepository.findById(idConsommation.intValue());
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
56
57
58
59
60
61
62
          if (consommation == null) {
              return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
          }
          UpdateConsommationRequest updateConsommationRequest = new UpdateConsommationRequest();
          updateConsommationRequest.setNom(updateConsommationByIdRequest.getNom());
          updateConsommationRequest.setPrix(updateConsommationByIdRequest.getPrix());
          return mergeConsommation(consommation, updateConsommationRequest);
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
63
64
65
      }
  
      @Override
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
66
      @RestrictedTo("CONSO_GET")
4ceffe1e   Geoffrey PREUD'HOMME   Correction /conso...
67
68
      public ResponseEntity<?> getConsommationById(@PathVariable Long idConsommation) {
          Consommation consommation = consommationRepository.findById(idConsommation.intValue());
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
69
70
71
72
          if (consommation == null) {
              return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
          }
          return new ResponseEntity(consommation, HttpStatus.OK);
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
73
74
75
      }
  
      @Override
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
76
      @RestrictedTo("CONSO_REMOVE")
4ceffe1e   Geoffrey PREUD'HOMME   Correction /conso...
77
78
      public ResponseEntity<?> deleteConsommationById(@PathVariable Long idConsommation) {
          Consommation consommation = consommationRepository.findById(idConsommation.intValue());
0fd5cbb2   Geoffrey PREUD'HOMME   Changements API &...
79
80
81
82
83
84
85
86
87
          if (consommation == null) {
              return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
          }
          consommationRepository.delete(consommation);
          return null;
      }
  
      @Override
      @RestrictedTo("CONSO_ACHAT")
4ceffe1e   Geoffrey PREUD'HOMME   Correction /conso...
88
      public ResponseEntity<?> updateAchete(@PathVariable Long idConsommation, @Valid @RequestBody UpdateAcheteRequest updateAcheteRequest) {
3c4951b9   Geoffrey PREUD'HOMME   Date & Avancement...
89
90
91
          return null;
      }
  }