package fr.bonsai.api.domain.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.Arrays; public enum IssueStatus { DRAFT("draft"), TODO("todo"), IN_PROGRESS("in-progress"), DONE("done"); private final String value; IssueStatus(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @JsonCreator public static IssueStatus fromValue(String value) { return Arrays.stream(values()) .filter(s -> s.value.equals(value)) .findFirst() .orElseThrow(() -> new IllegalArgumentException("Unknown IssueStatus: " + value)); } }