package metier;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import jakarta.persistence.*;

@Entity
public class Session implements Serializable {
    private int codePIN;
    private List<Quizz> quizzs;
    private List<Utilisateur> utilisateurs;
    private String theme;

    public Session(){
    }

    public void setCodePIN(int codePIN){
        this.codePIN = codePIN;
    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public int getCodePIN(){
        return this.codePIN;
    }

    public void setQuizzs(List<Quizz> quizzs){
        this.quizzs = quizzs;
    }

    @OneToMany(mappedBy="session")
    public List<Quizz> getQuizzs(){
        return this.quizzs;
    }

    public void setUtilisateurs(List<Utilisateur> utilisateurs){
        this.utilisateurs = utilisateurs;
    }

    @ManyToMany(mappedBy = "sessions")
    public List<Utilisateur> getUtilisateurs() {
        return this.utilisateurs;
    }

    public String getTheme(){
        return this.theme;
    }

    public void setTheme(String theme){
        this.theme = theme;
    }

    public void addUser(Utilisateur user){
        this.utilisateurs.add(user);
        user.joinSession(this);
    }

    public void addQuizz(Quizz quizz){
        this.quizzs.add(quizz);
        quizz.setSession(this);
    }
}