Class CarrelloController

java.lang.Object
it.unicam.cs.ids2425.FilieraAgricola.controller.CarrelloController

@RestController @RequestMapping("/api/carrello") public class CarrelloController extends Object
Controller REST per la gestione delle operazioni sul carrello. Permette agli utenti di visualizzare, aggiungere e rimuovere articoli dal proprio carrello.
  • 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.