using TarninaHub.Domain.Enums; namespace TarninaHub.Application.Mappings; public static class IdeaStatusWire { public static string ToWire(this IdeaStatus status) => status switch { IdeaStatus.Draft => "draft", IdeaStatus.Submitted => "submitted", IdeaStatus.InReview => "in_review", IdeaStatus.Accepted => "accepted", IdeaStatus.Rejected => "rejected", _ => throw new ArgumentOutOfRangeException(nameof(status), status, null), }; public static IdeaStatus? Parse(string? value) => value switch { "draft" => IdeaStatus.Draft, "submitted" => IdeaStatus.Submitted, "in_review" => IdeaStatus.InReview, "accepted" => IdeaStatus.Accepted, "rejected" => IdeaStatus.Rejected, _ => null, }; }