package de.oaa.xxx.aufgaben;

import java.util.UUID;

import de.oaa.xxx.framework.XXXEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;

@Entity
@Table(name = "favorit")
public class FavoritEntity implements XXXEntity {

	@Id
	@Column
	private UUID favoritId;
	@Column
	private UUID userId;
	@Column
	private UUID aufgabenGruppeId;
	public UUID getFavoritId() {
		return favoritId;
	}
	public void setFavoritId(UUID favoritId) {
		this.favoritId = favoritId;
	}
	public UUID getUserId() {
		return userId;
	}
	public void setUserId(UUID userId) {
		this.userId = userId;
	}
	public UUID getAufgabenGruppeId() {
		return aufgabenGruppeId;
	}
	public void setAufgabenGruppeId(UUID aufgabenGruppeId) {
		this.aufgabenGruppeId = 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;
	}
}
