Class CarrelloController
java.lang.Object
it.unicam.cs.ids2425.FilieraAgricola.controller.CarrelloController
Controller REST per la gestione delle operazioni sul carrello.
Permette agli utenti di visualizzare, aggiungere e rimuovere articoli dal
proprio carrello.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<CarrelloResponse> aggiungiProdotto(Long utenteId, AggiungiAlCarrelloRequest request) Aggiunge un prodotto al carrello dell'utente.org.springframework.http.ResponseEntity<CarrelloResponse> getCarrello(Long utenteId) Recupera il carrello di un utente specifico.org.springframework.http.ResponseEntity<CarrelloResponse> rimuoviPacchetto(Long utenteId, Long pacchettoId) Rimuove un pacchetto specifico dal carrello dell'utente.org.springframework.http.ResponseEntity<CarrelloResponse> rimuoviProdotto(Long utenteId, Long marketplaceItemId) Rimuove un prodotto specifico dal carrello dell'utente.
-
Constructor Details
-
CarrelloController
public CarrelloController()
-
-
Method Details
-
getCarrello
@GetMapping("/{utenteId}") @PreAuthorize("@customSecurityService.hasUserId(authentication, #utenteId) or hasRole(\'GESTORE\')") public org.springframework.http.ResponseEntity<CarrelloResponse> getCarrello(@PathVariable Long utenteId) Recupera il carrello di un utente specifico. Solo l'utente proprietario del carrello o un gestore possono accedere a queste informazioni.- Parameters:
utenteId- ID dell'utente di cui recuperare il carrello.- Returns:
- Il contenuto del carrello.
-
aggiungiProdotto
@PostMapping("/{utenteId}/aggiungi") @PreAuthorize("@customSecurityService.hasUserId(authentication, #utenteId)") public org.springframework.http.ResponseEntity<CarrelloResponse> aggiungiProdotto(@PathVariable Long utenteId, @RequestBody AggiungiAlCarrelloRequest request) Aggiunge un prodotto al carrello dell'utente. Operazione consentita solo all'utente proprietario del carrello.- Parameters:
utenteId- ID dell'utente.request- Dati del prodotto da aggiungere (ID prodotto e quantità ).- Returns:
- Il carrello aggiornato.
-
rimuoviProdotto
@DeleteMapping("/{utenteId}/rimuovi/{marketplaceItemId}") @PreAuthorize("@customSecurityService.hasUserId(authentication, #utenteId)") public org.springframework.http.ResponseEntity<CarrelloResponse> rimuoviProdotto(@PathVariable Long utenteId, @PathVariable Long marketplaceItemId) Rimuove un prodotto specifico dal carrello dell'utente. Operazione consentita solo all'utente proprietario del carrello.- Parameters:
utenteId- ID dell'utente.prodottoId- ID del prodotto da rimuovere.- Returns:
- Il carrello aggiornato.
-
rimuoviPacchetto
@DeleteMapping("/{utenteId}/rimuoviPacchetto/{pacchettoId}") @PreAuthorize("@customSecurityService.hasUserId(authentication, #utenteId)") public org.springframework.http.ResponseEntity<CarrelloResponse> rimuoviPacchetto(@PathVariable Long utenteId, @PathVariable Long pacchettoId) Rimuove un pacchetto specifico dal carrello dell'utente. Operazione consentita solo all'utente proprietario del carrello.- Parameters:
utenteId- ID dell'utente.pacchettoId- ID del pacchetto da rimuovere.- Returns:
- Il carrello aggiornato.
-