Package controller
Class PoesiaController
java.lang.Object
controller.PoesiaController
Controller che gestisce la logica relativa alle poesie e alle raccolte.
Fornisce funzionalità per la creazione, recupero e interazione con poesie e raccolte,
inclusa la gestione di commenti e "cuori" (mi piace).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
creaPoesia
(String titolo, String contenuto, String tags, boolean visibile, int autoreId, int raccoltaId) Crea una nuova poesia nel sistema.static int
creaRaccolta
(String titolo, String descrizione, int autoreId) Crea una nuova raccolta di poesie.getCommenti
(int poesiaId) Recupera tutti i commenti relativi a una poesia.static int
getNumCommenti
(int poesiaId) Conta il numero di commenti ricevuti da una poesia.static int
getNumCuori
(int poesiaId) Conta il numero di "cuori" (mi piace) ricevuti da una poesia.getPoesieByAutore
(int autoreId) Recupera tutte le poesie create da un determinato utente.getRaccolteUtente
(int autoreId) Recupera tutte le raccolte create da un determinato utente.getUltimePoesiePerFeed
(int userId, int limit) Recupera le poesie più recenti per il feed dell'utente.static boolean
hasUserCuorePoesia
(int poesiaId, int userId) Verifica se un utente ha messo un "cuore" (mi piace) a una poesia.static boolean
salvaCommento
(Commento nuovoCommento) Salva un nuovo commento nel database.static boolean
toggleCuore
(int poesiaId, int userId) Applica o rimuove un "cuore" (mi piace) da una poesia.
-
Constructor Details
-
PoesiaController
public PoesiaController()
-
-
Method Details
-
creaPoesia
public static boolean creaPoesia(String titolo, String contenuto, String tags, boolean visibile, int autoreId, int raccoltaId) Crea una nuova poesia nel sistema.- Parameters:
titolo
- Titolo della poesia.contenuto
- Testo della poesia.tags
- Tag associati alla poesia, come stringa separata da virgole.visibile
- Indica se la poesia è visibile pubblicamente.autoreId
- ID dell'utente che ha creato la poesia.raccoltaId
- ID della raccolta a cui appartiene la poesia, o -1 se non appartiene a nessuna raccolta.- Returns:
- true se la creazione è avvenuta con successo, false altrimenti.
-
creaRaccolta
Crea una nuova raccolta di poesie.- Parameters:
titolo
- Titolo della raccolta.descrizione
- Descrizione della raccolta.autoreId
- ID dell'utente che ha creato la raccolta.- Returns:
- ID della raccolta creata, o -1 se la creazione è fallita.
-
getRaccolteUtente
-
getPoesieByAutore
-
getUltimePoesiePerFeed
-
getNumCuori
public static int getNumCuori(int poesiaId) Conta il numero di "cuori" (mi piace) ricevuti da una poesia.- Parameters:
poesiaId
- ID della poesia.- Returns:
- Numero di cuori ricevuti dalla poesia.
-
getNumCommenti
Conta il numero di commenti ricevuti da una poesia.- Parameters:
poesiaId
- ID della poesia.- Returns:
- Numero di commenti ricevuti dalla poesia.
- Throws:
SQLException
- Se si verifica un errore durante l'operazione sul database.
-
getCommenti
Recupera tutti i commenti relativi a una poesia.- Parameters:
poesiaId
- ID della poesia.- Returns:
- Lista dei commenti della poesia.
- Throws:
SQLException
- Se si verifica un errore durante l'operazione sul database.
-
salvaCommento
Salva un nuovo commento nel database.- Parameters:
nuovoCommento
- Oggetto Commento da salvare.- Returns:
- true se il salvataggio è avvenuto con successo, false altrimenti.
-
hasUserCuorePoesia
public static boolean hasUserCuorePoesia(int poesiaId, int userId) Verifica se un utente ha messo un "cuore" (mi piace) a una poesia.- Parameters:
poesiaId
- ID della poesia.userId
- ID dell'utente.- Returns:
- true se l'utente ha messo un cuore alla poesia, false altrimenti.
-
toggleCuore
public static boolean toggleCuore(int poesiaId, int userId) Applica o rimuove un "cuore" (mi piace) da una poesia. Se l'utente ha già messo un cuore, lo rimuove; altrimenti lo aggiunge.- Parameters:
poesiaId
- ID della poesia.userId
- ID dell'utente che mette/rimuove il cuore.- Returns:
- true se l'operazione è avvenuta con successo, false altrimenti.
-