using System.Net.Http; using System.Text.Json.Serialization; namespace Content.Server.Github.Requests; /// /// > /// public sealed class CreateIssueRequest : IGithubRequest { [JsonIgnore] public HttpMethod RequestMethod => HttpMethod.Post; [JsonIgnore] public GithubAuthMethod AuthenticationMethod => GithubAuthMethod.Token; #region JSON fields [JsonInclude, JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public required string Title; [JsonInclude, JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? Body; [JsonInclude, JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? Assignee; [JsonInclude, JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public string? Milestone; [JsonInclude, JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List Labels = []; [JsonInclude, JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)] public List Assignees = []; #endregion public string GetLocation(string owner, string repository) { return $"repos/{owner}/{repository}/issues"; } }