package de.oaa.xxx.games.common.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.Setter;

import java.util.UUID;

import de.oaa.xxx.games.common.aufgaben.Favorit;

@Getter
@Setter
@Entity
@Table(name = "favorit")
public class FavoritEntity {

    @Id
    @Column
    private UUID favoritId;
    @Column
    private UUID userId;
    @Column
    private UUID aufgabenGruppeId;

    @Override
    public String toString() {
        return "FavoritEntity[favoritId=" + favoritId + ", userId=" + userId + ", gruppeId=" + aufgabenGruppeId + "]";
    }

    public Favorit toFavorit() {
        Favorit favorit = new Favorit();
        favorit.setAufgabenGruppeId(aufgabenGruppeId);
        favorit.setFavoritId(favoritId);
        favorit.setUserId(userId);
        return favorit;
    }

    public static FavoritEntity fromFavorit(Favorit favorit, UUID userId) {
        FavoritEntity entity = new FavoritEntity();
        entity.setFavoritId(UUID.randomUUID());
        entity.setAufgabenGruppeId(favorit.getAufgabenGruppeId());
        entity.setUserId(userId);
        return entity;
    }
}
