Atualizando modelo de Jogo

This commit is contained in:
Gustavo Barbosa 2025-08-02 23:43:25 -03:00
parent 407b38fac0
commit e9bda0f97a
2 changed files with 27 additions and 5 deletions

View file

@ -2,8 +2,20 @@ export default class Jogo {
constructor(
public id: string,
public nome: string,
public estado: Estado
public ano: number,
public estado: Estado,
public loja: string,
public preco: Preco
) { }
}
export class Preco {
constructor (
public tipo: TipoDePreco,
public valor: number
) { }
}
export type TipoDePreco = 'VALOR' | 'DE_GRACA' | 'DESCONHECIDO' | 'PRESENTE';
export type Estado = 'NOVO' | 'JOGUEI' | 'SATISFEITO' | 'PALHA' | 'ETERNO';

View file

@ -1,7 +1,11 @@
package casa.sotu.organizajogos.api.modelo;
import java.time.Year;
import java.util.UUID;
import casa.sotu.organizajogos.api.modelo.Preco.TipoDePreco;
import jakarta.persistence.AttributeOverride;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.EnumType;
import jakarta.persistence.Enumerated;
@ -15,17 +19,23 @@ import lombok.Setter;
@Setter
@Entity
public class Jogo {
@Id
private UUID id;
@NotBlank
private String nome;
private Year ano;
@NotNull
@Enumerated(EnumType.STRING)
private Estado estado;
@NotBlank
private String loja;
@NotNull
@AttributeOverride(name = "tipo", column = @Column(name = "tipo_de_preco", nullable = false))
private Preco preco = new Preco(TipoDePreco.DESCONHECIDO);
}