EmailStatus.java
package com.albertsilva.dev.asjcatalog.domain.recovery.enums;
/**
* Situação de um registro de e-mail
* ({@link com.albertsilva.dev.asjcatalog.domain.recovery.Email}).
*
* <p>
* É persistido pelo nome da constante ({@code @Enumerated(EnumType.STRING)}) na
* coluna {@code tb_email.status}, cuja restrição {@code check} (migration
* {@code V011}) aceita exatamente os valores declarados aqui.
* </p>
*
* <p>
* O enum apenas descreve os estados possíveis; nenhuma regra de transição entre
* eles é imposta pelo domínio.
* </p>
*/
public enum EmailStatus {
/**
* Email criado e aguardando envio.
*/
PENDING,
/**
* Email enviado com sucesso.
*/
SENT,
/**
* Falha durante o envio.
*/
ERROR
}