Commit 0fd5cbb2e3529a37c4c0f625b48de31323330f3f

Authored by Geoffrey PREUD'HOMME
1 parent 3c4951b9

Changements API & /consommation

@@ -51,53 +51,68 @@ version: v1 @@ -51,53 +51,68 @@ version: v1
51 responses: 51 responses:
52 204: 52 204:
53 description: Déconnecté avec succès 53 description: Déconnecté avec succès
54 - 404:  
55 - description: Jeton non trouvé  
56 /personne: 54 /personne:
57 get: 55 get:
58 - description: Obtenir la liste des persones. Nécessite COMPTE_ADMIN 56 + description: Obtenir la liste des persones. Nécessite PERSONNE_LIST.
59 responses: 57 responses:
60 200: 58 200:
61 body: 59 body:
62 application/json: 60 application/json:
63 - example: |  
64 - [  
65 - {  
66 - "id": 42,  
67 - "carte": "AAAAA",  
68 - "naissance": "855874800000",  
69 - "solde": 1337,  
70 - "login": "gbontoux",  
71 - "role": "etudiant" 61 + post:
  62 + description: Ajoute une nouvelle personne. Nécessite PERSONNE_ADD.
  63 + body:
  64 + application/json:
  65 + schema: |
  66 + {
  67 + "type": "object",
  68 + "$schema": "http://json-schema.org/draft-03/schema",
  69 + "id": "http://jsonschema.net",
  70 + "required": true,
  71 + "properties": {
  72 + "carte": {
  73 + "type": "string",
  74 + "required": false,
  75 + "minLength": 14,
  76 + "maxLength": 14
  77 + },
  78 + "naissance": {
  79 + "type": "string",
  80 + "required": false,
  81 + "format": "date"
  82 + },
  83 + "login": {
  84 + "type": "string",
  85 + "required": false
  86 + },
  87 + "role": {
  88 + "type": "role",
  89 + "required": false
  90 + }
72 } 91 }
73 - ] 92 + }
  93 + responses:
  94 + 201:
  95 + description: Personne ajoutée avec succès
  96 + body:
  97 + application/json:
74 /{idPersonne}: 98 /{idPersonne}:
75 uriParameters: 99 uriParameters:
76 idPersonne: 100 idPersonne:
77 - type: number 101 + type: integer
78 required: true 102 required: true
79 description: ID de la personne 103 description: ID de la personne
80 minimum: 0 104 minimum: 0
81 get: 105 get:
82 - description: Obtenir les infos sur une personne. Nécessite COMPTE_ADMIN 106 + description: Obtenir les infos sur une personne. Nécessite PERSONNE_GET
83 responses: 107 responses:
84 200: 108 200:
85 description: Utilisateur récupéré 109 description: Utilisateur récupéré
86 body: 110 body:
87 application/json: 111 application/json:
88 - example: |  
89 - {  
90 - "id": 42,  
91 - "carte": "AAAAA",  
92 - "naissance": "855874800000",  
93 - "solde": 1337,  
94 - "login": "gbontoux",  
95 - "role": "etudiant"  
96 - }  
97 404: 112 404:
98 description: Utilisateur non trouvé 113 description: Utilisateur non trouvé
99 put: 114 put:
100 - description: Modifer les infos d'une personne. Nécessite COMPTE_ADMIN 115 + description: Modifer les infos d'une personne. Nécessite PERSONNE_EDIT
101 body: 116 body:
102 application/json: 117 application/json:
103 schema: | 118 schema: |
@@ -134,56 +149,39 @@ version: v1 @@ -134,56 +149,39 @@ version: v1
134 404: 149 404:
135 description: Utilisateur non trouvé 150 description: Utilisateur non trouvé
136 delete: 151 delete:
137 - description: Obtenir les infos sur une personne. Nécessite COMPTE_ADMIN 152 + description: Supprime une personne. Nécessite PERSONNE_REMOVE
138 responses: 153 responses:
139 204: 154 204:
140 description: Utilisateur supprimé 155 description: Utilisateur supprimé
141 404: 156 404:
142 description: Utilisateur non trouvé 157 description: Utilisateur non trouvé
143 - post:  
144 - description: Ajoute une nouvelle personne  
145 - body:  
146 - application/json:  
147 - schema: |  
148 - {  
149 - "type": "object",  
150 - "$schema": "http://json-schema.org/draft-03/schema",  
151 - "id": "http://jsonschema.net",  
152 - "required": true,  
153 - "properties": {  
154 - "carte": {  
155 - "type": "string",  
156 - "required": false,  
157 - "minLength": 14,  
158 - "maxLength": 14  
159 - },  
160 - "naissance": {  
161 - "type": "string",  
162 - "required": false,  
163 - "format": "date"  
164 - },  
165 - "login": {  
166 - "type": "string",  
167 - "required": false  
168 - },  
169 - "role": {  
170 - "type": "role",  
171 - "required": false  
172 - }  
173 - }  
174 - }  
175 - responses:  
176 - 201:  
177 - description: Personne ajoutée avec succès 158 + /virer:
  159 + post:
  160 + description: Permet de créditer ou débiter un compte
178 body: 161 body:
179 application/json: 162 application/json:
180 - example: | 163 + schema: |
181 { 164 {
182 - "id": 42 165 + "type": "object",
  166 + "$schema": "http://json-schema.org/draft-03/schema",
  167 + "id": "http://jsonschema.net",
  168 + "required": true,
  169 + "properties": {
  170 + "prix": {
  171 + "type": "number",
  172 + "required": true
  173 + }
  174 + }
183 } 175 }
  176 + responses:
  177 + 201:
  178 + description: La personne a bien été virée
  179 + 406:
  180 + description: La personne n'a pas assez de fonds pour être débitée
  181 +
184 /role: 182 /role:
185 get: 183 get:
186 - description: Liste les rôles. Nécessite ROLE_ADMIN 184 + description: Liste les rôles. Nécessite ROLE_LIST
187 responses: 185 responses:
188 200: 186 200:
189 body: 187 body:
@@ -198,16 +196,16 @@ version: v1 @@ -198,16 +196,16 @@ version: v1
198 "nom": "bde", 196 "nom": "bde",
199 "permissions": [ 197 "permissions": [
200 { 198 {
201 - "nom": "CREER_EVNMT" 199 + "nom": "EVNMT_ADD"
202 }, 200 },
203 { 201 {
204 - "nom": "SUPPRIMER_EVNMT" 202 + "nom": "EVNMT_REMOVE"
205 } 203 }
206 ] 204 ]
207 } 205 }
208 ] 206 ]
209 post: 207 post:
210 - description: Ajoute un nouveau rôle. Nécessite ROLE_ADMIN 208 + description: Ajoute un nouveau rôle. Nécessite ROLE_ADD
211 body: 209 body:
212 application/json: 210 application/json:
213 schema: | 211 schema: |
@@ -236,14 +234,14 @@ version: v1 @@ -236,14 +234,14 @@ version: v1
236 required: true 234 required: true
237 description: Nom du role 235 description: Nom du role
238 delete: 236 delete:
239 - description: Supprime un rôle. Nécessite ROLE_ADMIN 237 + description: Supprime un rôle. Nécessite ROLE_REMOVE
240 responses: 238 responses:
241 204: 239 204:
242 description: Rôle supprimé 240 description: Rôle supprimé
243 404: 241 404:
244 description: Rôle inconnu 242 description: Rôle inconnu
245 post: 243 post:
246 - description: Ajoute une permission à un rôle. Nécessite ROLE_ADMIN 244 + description: Ajoute une permission à un rôle. Nécessite ROLE_PERMISSION_ADD
247 body: 245 body:
248 application/json: 246 application/json:
249 schema: | 247 schema: |
@@ -255,7 +253,8 @@ version: v1 @@ -255,7 +253,8 @@ version: v1
255 "properties": { 253 "properties": {
256 "nom": { 254 "nom": {
257 "type": "string", 255 "type": "string",
258 - "required": true 256 + "required": true,
  257 + "minLength": 3
259 } 258 }
260 } 259 }
261 } 260 }
@@ -269,9 +268,9 @@ version: v1 @@ -269,9 +268,9 @@ version: v1
269 nomPermission: 268 nomPermission:
270 type: string 269 type: string
271 required: true 270 required: true
272 - description: nom de la permission 271 + description: Nom de la permission
273 delete: 272 delete:
274 - description: Enlève la permission du rôle. Nécessite ROLE_ADMIN 273 + description: Enlève la permission du rôle. Nécessite ROLE_PERMISSION_REMOVE
275 responses: 274 responses:
276 204: 275 204:
277 description: Permission enlevée avec succès 276 description: Permission enlevée avec succès
@@ -279,7 +278,7 @@ version: v1 @@ -279,7 +278,7 @@ version: v1
279 description: Permission ou rôle inconnu 278 description: Permission ou rôle inconnu
280 /permission: 279 /permission:
281 get: 280 get:
282 - description: Liste les permissions. Nécessite ROLE_ADMIN 281 + description: Liste les permissions. Nécessite ROLE_LIST
283 responses: 282 responses:
284 200: 283 200:
285 body: 284 body:
@@ -295,7 +294,7 @@ version: v1 @@ -295,7 +294,7 @@ version: v1
295 ] 294 ]
296 /evenement: 295 /evenement:
297 get: 296 get:
298 - description: Obtenir la liste de tout les evenements. Nécessite EVNMT_ADMIN ou EVNMT_ACHETER ou EVNMT_REMBOURSER 297 + description: Obtenir la liste de tout les evenements. Nécessite EVNMT_LIST
299 responses: 298 responses:
300 200: 299 200:
301 body: 300 body:
@@ -304,19 +303,19 @@ version: v1 @@ -304,19 +303,19 @@ version: v1
304 [ 303 [
305 { 304 {
306 "id": 1, 305 "id": 1,
307 - "nom": "patate", 306 + "nom": "WEC",
308 "prix": 4, 307 "prix": 4,
309 "date": "2001-09-11" 308 "date": "2001-09-11"
310 }, 309 },
311 { 310 {
312 "id": 2, 311 "id": 2,
313 - "nom": "patate flambe", 312 + "nom": "MidWork",
314 "prix": 5, 313 "prix": 5,
315 "date": "2001-09-11" 314 "date": "2001-09-11"
316 } 315 }
317 ] 316 ]
318 post: 317 post:
319 - description: Permet de creer un nouvel evenement. Nécessite EVNMT_ADMIN 318 + description: Permet de creer un nouvel evenement. Nécessite EVNMT_ADD
320 body: 319 body:
321 application/json: 320 application/json:
322 schema: | 321 schema: |
@@ -343,16 +342,16 @@ version: v1 @@ -343,16 +342,16 @@ version: v1
343 } 342 }
344 responses: 343 responses:
345 201: 344 201:
346 -  
347 - /{evenementId}: 345 + description: L'évènement a bien été créé
  346 + /{idEvenement}:
348 uriParameters: 347 uriParameters:
349 evenementId: 348 evenementId:
350 type: integer 349 type: integer
351 required: true 350 required: true
352 - description: id de l'evenement 351 + description: ID de l'evenement
353 minimum: 0 352 minimum: 0
354 put: 353 put:
355 - description: Permet de modifier un évènement existant. Nécessite EVNMT_ADMIN 354 + description: Permet de modifier un évènement existant. Nécessite EVNMT_EDIT
356 body: 355 body:
357 application/json: 356 application/json:
358 schema: | 357 schema: |
@@ -375,15 +374,15 @@ version: v1 @@ -375,15 +374,15 @@ version: v1
375 "required": false, 374 "required": false,
376 "format": "date" 375 "format": "date"
377 } 376 }
378 - } 377 + }
379 } 378 }
380 responses: 379 responses:
381 202: 380 202:
382 - description: Modification pris en compte 381 + description: Évènement modifié
383 404: 382 404:
384 description: L'evenement n'existe pas 383 description: L'evenement n'existe pas
385 get: 384 get:
386 - description: Obtenir l'evenement {evenementId}. Nécessite EVNMT_ADMIN ou EVNMT_ACHETER ou EVNMT_REMBOURSER 385 + description: Affiche l'évènement. Nécessite EVNMT_GET
387 responses: 386 responses:
388 200: 387 200:
389 body: 388 body:
@@ -392,7 +391,7 @@ version: v1 @@ -392,7 +391,7 @@ version: v1
392 [ 391 [
393 { 392 {
394 "id": 1, 393 "id": 1,
395 - "nom": "patate", 394 + "nom": "WEC",
396 "prix": 4, 395 "prix": 4,
397 "date": "2001-09-11" 396 "date": "2001-09-11"
398 } 397 }
@@ -400,13 +399,13 @@ version: v1 @@ -400,13 +399,13 @@ version: v1
400 404: 399 404:
401 description: Evenement non existant 400 description: Evenement non existant
402 delete: 401 delete:
403 - description: Permet de supprimer l'evenement {evenementId}. Nécessite EVNMT_ADMIN 402 + description: Permet de supprimer l'evenement {evenementId}. Nécessite EVNMT_REMOVE
404 responses: 403 responses:
405 200: 404 200:
406 description: L'evenement a été bien supprimé 405 description: L'evenement a été bien supprimé
407 /participe: 406 /participe:
408 post: 407 post:
409 - description: Permet de notifier que quelqu'un a participer à l'evenement (id de la personne a envoyer) 408 + description: Enregistre la participation de quelqu'un à un évènement
410 body: 409 body:
411 application/json: 410 application/json:
412 schema: | 411 schema: |
@@ -424,12 +423,37 @@ version: v1 @@ -424,12 +423,37 @@ version: v1
424 } 423 }
425 responses: 424 responses:
426 201: 425 201:
427 - description: La personne est bien inscrite a cet evenement ou a bien était ajouté a la liste des participant 426 + description: La participation a bien été enregistrée
428 402: 427 402:
429 - description: La personne n'a pas payé pour participer à l'evenement 428 + description: La personne n'a pas payé pour participer à l'évènement
  429 + /reserve:
  430 + post:
  431 + description: Payer pour un évènement
  432 + body:
  433 + application/json:
  434 + schema: |
  435 + {
  436 + "type": "object",
  437 + "$schema": "http://json-schema.org/draft-03/schema",
  438 + "id": "http://jsonschema.net",
  439 + "required": true,
  440 + "properties": {
  441 + "participant": {
  442 + "type": "Personne",
  443 + "required": true
  444 + },
  445 + "id": {
  446 + "type": "Evenement",
  447 + "required": true
  448 + }
  449 + }
  450 + }
  451 + responses:
  452 + 201:
  453 + description: L'evenement a bien été resérvé
430 /consommation: 454 /consommation:
431 get: 455 get:
432 - description: Obtenir la liste de toutes les consommations. Nécessite CONSO_ADMIN ou CONSO_ACHETER ou CONSO_REMBOURSER 456 + description: Obtenir la liste de toutes les consommations. Nécessite CONSO_LIST
433 responses: 457 responses:
434 200: 458 200:
435 body: 459 body:
@@ -448,7 +472,7 @@ version: v1 @@ -448,7 +472,7 @@ version: v1
448 } 472 }
449 ] 473 ]
450 post: 474 post:
451 - description: Permet de creer une nouvelle consommation. Nécessite CONSO_ADMIN 475 + description: Permet de creer une nouvelle consommation. Nécessite CONSO_ADD
452 body: 476 body:
453 application/json: 477 application/json:
454 schema: | 478 schema: |
@@ -470,7 +494,7 @@ version: v1 @@ -470,7 +494,7 @@ version: v1
470 } 494 }
471 responses: 495 responses:
472 201: 496 201:
473 - /{consommationId}: 497 + /{idConsommation}:
474 uriParameters: 498 uriParameters:
475 consommationId: 499 consommationId:
476 type: integer 500 type: integer
@@ -525,6 +549,27 @@ version: v1 @@ -525,6 +549,27 @@ version: v1
525 responses: 549 responses:
526 200: 550 200:
527 description: La consommation a été bien supprime 551 description: La consommation a été bien supprime
  552 + /achete:
  553 + post:
  554 + description: Achat d'une consomation (id) par un participant à un acteur
  555 + body:
  556 + application/json:
  557 + schema: |
  558 + {
  559 + "type": "object",
  560 + "$schema": "http://json-schema.org/draft-03/schema",
  561 + "id": "http://jsonschema.net",
  562 + "required": true,
  563 + "properties": {
  564 + "participant": {
  565 + "type": "Personne",
  566 + "required": true
  567 + }
  568 + }
  569 + }
  570 + responses:
  571 + 201:
  572 + description: La consommation a été bien payée
528 573
529 /transaction: 574 /transaction:
530 get: 575 get:
@@ -553,80 +598,13 @@ version: v1 @@ -553,80 +598,13 @@ version: v1
553 "prix": -25.23 598 "prix": -25.23
554 } 599 }
555 ] 600 ]
556 - /consommation:  
557 - post:  
558 - description: Achat d'une consomation (id) par un participant à un acteur  
559 - body:  
560 - application/json:  
561 - schema: |  
562 - {  
563 - "type": "object",  
564 - "$schema": "http://json-schema.org/draft-03/schema",  
565 - "id": "http://jsonschema.net",  
566 - "required": true,  
567 - "properties": {  
568 - "participant": {  
569 - "type": "Personne",  
570 - "required": true  
571 - },  
572 - "id": {  
573 - "type": "Consommation",  
574 - "required": true  
575 - }  
576 - }  
577 - }  
578 - responses:  
579 - 201:  
580 - description: La consommation a été bien payé  
581 - /evenement:  
582 - post:  
583 - body:  
584 - application/json:  
585 - schema: |  
586 - {  
587 - "type": "object",  
588 - "$schema": "http://json-schema.org/draft-03/schema",  
589 - "id": "http://jsonschema.net",  
590 - "required": true,  
591 - "properties": {  
592 - "participant": {  
593 - "type": "Personne",  
594 - "required": true  
595 - },  
596 - "id": {  
597 - "type": "Evenement",  
598 - "required": true  
599 - }  
600 - }  
601 - }  
602 - responses:  
603 - 201:  
604 - description: L'evenement a bien été payé  
605 - /credit:  
606 - post:  
607 - description: Permet de recharger ou debiter un compte  
608 - body:  
609 - application/json:  
610 - schema: |  
611 - {  
612 - "type": "object",  
613 - "$schema": "http://json-schema.org/draft-03/schema",  
614 - "id": "http://jsonschema.net",  
615 - "required": true,  
616 - "properties": {  
617 - "participant": {  
618 - "type": "Personne",  
619 - "required": true  
620 - },  
621 - "prix": {  
622 - "type": "number",  
623 - "required": true  
624 - }  
625 - }  
626 - }  
627 - responses:  
628 - 201:  
629 - description: La personne a bien été crédité 601 + delete:
  602 + description: Annuler une transaction
  603 + responses:
  604 + 405:
  605 + description: Non implémenté
  606 +
  607 +
630 /{idPersonne}: 608 /{idPersonne}:
631 uriParameters: 609 uriParameters:
632 idPersonne: 610 idPersonne:
src/main/java/etunicorn/Application.java
@@ -46,6 +46,11 @@ public class Application { @@ -46,6 +46,11 @@ public class Application {
46 permissionRepository.save(new Permission("ROLE_PERMISSION_ADD")); 46 permissionRepository.save(new Permission("ROLE_PERMISSION_ADD"));
47 permissionRepository.save(new Permission("ROLE_PERMISSION_LIST")); 47 permissionRepository.save(new Permission("ROLE_PERMISSION_LIST"));
48 permissionRepository.save(new Permission("ROLE_PERMISSION_REMOVE")); 48 permissionRepository.save(new Permission("ROLE_PERMISSION_REMOVE"));
  49 + permissionRepository.save(new Permission("CONSO_ADD"));
  50 + permissionRepository.save(new Permission("CONSO_EDIT"));
  51 + permissionRepository.save(new Permission("CONSO_GET"));
  52 + permissionRepository.save(new Permission("CONSO_LIST"));
  53 + permissionRepository.save(new Permission("CONSO_REMOVE"));
49 // ... 54 // ...
50 55
51 //roleRepository.save(new Role("admin", (List<Permission>) permissionRepository.findAll())); 56 //roleRepository.save(new Role("admin", (List<Permission>) permissionRepository.findAll()));
src/main/java/etunicorn/controller/ConsommationController.java
1 package etunicorn.controller; 1 package etunicorn.controller;
2 2
  3 +import etunicorn.RestrictedTo;
3 import etunicorn.entity.Consommation; 4 import etunicorn.entity.Consommation;
  5 +import etunicorn.generated.model.UpdateAcheteRequest;
4 import etunicorn.generated.model.UpdateConsommationByIdRequest; 6 import etunicorn.generated.model.UpdateConsommationByIdRequest;
5 import etunicorn.generated.model.UpdateConsommationRequest; 7 import etunicorn.generated.model.UpdateConsommationRequest;
6 import etunicorn.repository.ConsommationRepository; 8 import etunicorn.repository.ConsommationRepository;
@@ -24,32 +26,66 @@ public class ConsommationController extends BaseController implements etunicorn. @@ -24,32 +26,66 @@ public class ConsommationController extends BaseController implements etunicorn.
24 ConsommationRepository consommationRepository; 26 ConsommationRepository consommationRepository;
25 27
26 @Override 28 @Override
  29 + @RestrictedTo("CONSO_LIST")
27 public ResponseEntity<?> getConsommation() { 30 public ResponseEntity<?> getConsommation() {
28 return new ResponseEntity<Object>(this.consommationRepository.findAll(), HttpStatus.OK); 31 return new ResponseEntity<Object>(this.consommationRepository.findAll(), HttpStatus.OK);
29 } 32 }
30 33
31 private ResponseEntity<?> mergeConsommation(Consommation consommation, UpdateConsommationRequest updateConsommationRequest) { 34 private ResponseEntity<?> mergeConsommation(Consommation consommation, UpdateConsommationRequest updateConsommationRequest) {
32 - // if (updateConsommationRequest.get)  
33 - return null; 35 + if (updateConsommationRequest.getNom() != null) {
  36 + consommation.setNom(updateConsommationRequest.getNom());
  37 + }
  38 + if (updateConsommationRequest.getPrix() != null) {
  39 + consommation.setPrix(updateConsommationRequest.getPrix());
  40 + }
  41 + consommationRepository.save(consommation);
  42 + return new ResponseEntity(consommation, HttpStatus.CREATED);
34 } 43 }
35 44
36 @Override 45 @Override
  46 + @RestrictedTo("CONSO_ADD")
37 public ResponseEntity<?> updateConsommation(@Valid @RequestBody UpdateConsommationRequest updateConsommationRequest) { 47 public ResponseEntity<?> updateConsommation(@Valid @RequestBody UpdateConsommationRequest updateConsommationRequest) {
38 - return null; 48 + Consommation consommation = new Consommation();
  49 + return mergeConsommation(consommation, updateConsommationRequest);
39 } 50 }
40 51
41 @Override 52 @Override
  53 + @RestrictedTo("CONSO_EDIT")
42 public ResponseEntity<?> updateConsommationById(@PathVariable Long consommationId, @Valid @RequestBody UpdateConsommationByIdRequest updateConsommationByIdRequest) { 54 public ResponseEntity<?> updateConsommationById(@PathVariable Long consommationId, @Valid @RequestBody UpdateConsommationByIdRequest updateConsommationByIdRequest) {
43 - return null; 55 + Consommation consommation = consommationRepository.findById(consommationId.intValue());
  56 + if (consommation == null) {
  57 + return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
  58 + }
  59 + UpdateConsommationRequest updateConsommationRequest = new UpdateConsommationRequest();
  60 + updateConsommationRequest.setNom(updateConsommationByIdRequest.getNom());
  61 + updateConsommationRequest.setPrix(updateConsommationByIdRequest.getPrix());
  62 + return mergeConsommation(consommation, updateConsommationRequest);
44 } 63 }
45 64
46 @Override 65 @Override
  66 + @RestrictedTo("CONSO_GET")
47 public ResponseEntity<?> getConsommationById(@PathVariable Long consommationId) { 67 public ResponseEntity<?> getConsommationById(@PathVariable Long consommationId) {
48 - return null; 68 + Consommation consommation = consommationRepository.findById(consommationId.intValue());
  69 + if (consommation == null) {
  70 + return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
  71 + }
  72 + return new ResponseEntity(consommation, HttpStatus.OK);
49 } 73 }
50 74
51 @Override 75 @Override
  76 + @RestrictedTo("CONSO_REMOVE")
52 public ResponseEntity<?> deleteConsommationById(@PathVariable Long consommationId) { 77 public ResponseEntity<?> deleteConsommationById(@PathVariable Long consommationId) {
  78 + Consommation consommation = consommationRepository.findById(consommationId.intValue());
  79 + if (consommation == null) {
  80 + return generateError(HttpStatus.NOT_FOUND, "Consommation inconnue");
  81 + }
  82 + consommationRepository.delete(consommation);
  83 + return null;
  84 + }
  85 +
  86 + @Override
  87 + @RestrictedTo("CONSO_ACHAT")
  88 + public ResponseEntity<?> updateAchete(@PathVariable Long consommationId, @Valid @RequestBody UpdateAcheteRequest updateAcheteRequest) {
53 return null; 89 return null;
54 } 90 }
55 } 91 }
src/main/java/etunicorn/controller/PersonneController.java
@@ -5,6 +5,7 @@ import etunicorn.entity.Personne; @@ -5,6 +5,7 @@ import etunicorn.entity.Personne;
5 import etunicorn.entity.Role; 5 import etunicorn.entity.Role;
6 import etunicorn.generated.model.UpdatePersonneByIdRequest; 6 import etunicorn.generated.model.UpdatePersonneByIdRequest;
7 import etunicorn.generated.model.UpdatePersonneRequest; 7 import etunicorn.generated.model.UpdatePersonneRequest;
  8 +import etunicorn.generated.model.UpdateVirerRequest;
8 import etunicorn.repository.PersonneRepository; 9 import etunicorn.repository.PersonneRepository;
9 import etunicorn.repository.RoleRepository; 10 import etunicorn.repository.RoleRepository;
10 import org.springframework.beans.factory.annotation.Autowired; 11 import org.springframework.beans.factory.annotation.Autowired;
@@ -101,7 +102,7 @@ public class PersonneController extends BaseController implements etunicorn.gene @@ -101,7 +102,7 @@ public class PersonneController extends BaseController implements etunicorn.gene
101 @Override 102 @Override
102 @RestrictedTo("PERSONNE_GET") 103 @RestrictedTo("PERSONNE_GET")
103 public ResponseEntity<?> getPersonneById(@PathVariable BigDecimal idPersonne) { 104 public ResponseEntity<?> getPersonneById(@PathVariable BigDecimal idPersonne) {
104 - Personne personne = personneRepository.findById(idPersonne.intValueExact()); 105 + Personne personne = personneRepository.findById(idPersonne.intValue());
105 if (personne == null) { 106 if (personne == null) {
106 return new ResponseEntity<Object>(HttpStatus.NOT_FOUND); 107 return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
107 } 108 }
@@ -111,7 +112,7 @@ public class PersonneController extends BaseController implements etunicorn.gene @@ -111,7 +112,7 @@ public class PersonneController extends BaseController implements etunicorn.gene
111 @Override 112 @Override
112 @RestrictedTo("PERSONNE_EDIT") 113 @RestrictedTo("PERSONNE_EDIT")
113 public ResponseEntity<?> updatePersonneById(@PathVariable BigDecimal idPersonne, @Valid @RequestBody UpdatePersonneByIdRequest updatePersonneByIdRequest) { 114 public ResponseEntity<?> updatePersonneById(@PathVariable BigDecimal idPersonne, @Valid @RequestBody UpdatePersonneByIdRequest updatePersonneByIdRequest) {
114 - Personne personne = personneRepository.findById(idPersonne.intValueExact()); 115 + Personne personne = personneRepository.findById(idPersonne.intValue());
115 if (personne == null) { 116 if (personne == null) {
116 return generateError(HttpStatus.NOT_FOUND, "Personne introuvable"); 117 return generateError(HttpStatus.NOT_FOUND, "Personne introuvable");
117 } 118 }
@@ -126,7 +127,7 @@ public class PersonneController extends BaseController implements etunicorn.gene @@ -126,7 +127,7 @@ public class PersonneController extends BaseController implements etunicorn.gene
126 @Override 127 @Override
127 @RestrictedTo("PERSONNE_REMOVE") 128 @RestrictedTo("PERSONNE_REMOVE")
128 public ResponseEntity<?> deletePersonneById(@PathVariable BigDecimal idPersonne) { 129 public ResponseEntity<?> deletePersonneById(@PathVariable BigDecimal idPersonne) {
129 - Personne personne = personneRepository.findById(idPersonne.intValueExact()); 130 + Personne personne = personneRepository.findById(idPersonne.intValue());
130 131
131 if (personne == null) { 132 if (personne == null) {
132 return new ResponseEntity<Object>(HttpStatus.NOT_FOUND); 133 return new ResponseEntity<Object>(HttpStatus.NOT_FOUND);
@@ -135,4 +136,8 @@ public class PersonneController extends BaseController implements etunicorn.gene @@ -135,4 +136,8 @@ public class PersonneController extends BaseController implements etunicorn.gene
135 return new ResponseEntity<Object>(personne, HttpStatus.NO_CONTENT); 136 return new ResponseEntity<Object>(personne, HttpStatus.NO_CONTENT);
136 } 137 }
137 138
  139 + @Override
  140 + public ResponseEntity<?> updateVirer(@PathVariable BigDecimal idPersonne, @Valid @RequestBody UpdateVirerRequest updateVirerRequest) {
  141 + return null;
  142 + }
138 } 143 }