diff --git a/src/Api/Data/IssueRepository.cs b/src/Api/Data/IssueRepository.cs index 747c699..da9f14b 100644 --- a/src/Api/Data/IssueRepository.cs +++ b/src/Api/Data/IssueRepository.cs @@ -171,11 +171,23 @@ public static IssueEntity FromDomain(Issue issue) public Issue ToDomain() { + // Fall back to Open if the stored value is unknown, empty, has unexpected casing, or is not a defined status. + IssueStatus status; + if (Enum.TryParse(Status, ignoreCase: true, out var parsedStatus) + && Enum.IsDefined(typeof(IssueStatus), parsedStatus)) + { + status = parsedStatus; + } + else + { + status = IssueStatus.Open; + } + var issue = new Issue( Id: Id, Title: Title, Description: Description, - Status: Enum.Parse(Status), + Status: status, CreatedAt: CreatedAt, UpdatedAt: UpdatedAt, Labels: Labels?.Select(l => new Label(l.Name, l.Color)).ToList()