Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 866992f

Browse files
FromGraphQlExtensions class
1 parent 8e40df8 commit 866992f

File tree

4 files changed

+117
-115
lines changed

4 files changed

+117
-115
lines changed

src/GitHub.App/GitHub.App.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@
229229
<Compile Include="SampleData\PullRequestUserReviewsViewModelDesigner.cs" />
230230
<Compile Include="SampleData\UserFilterViewModelDesigner.cs" />
231231
<Compile Include="Services\EnterpriseCapabilitiesService.cs" />
232+
<Compile Include="Services\FromGraphQlExtensions.cs" />
232233
<Compile Include="Services\GitHubContextService.cs" />
233234
<Compile Include="Services\GlobalConnection.cs" />
234235
<Compile Include="Services\RepositoryForkService.cs" />
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
using System;
2+
using GitHub.Models;
3+
using Octokit.GraphQL.Model;
4+
using CheckConclusionState = GitHub.Models.CheckConclusionState;
5+
using CheckStatusState = GitHub.Models.CheckStatusState;
6+
using PullRequestReviewState = GitHub.Models.PullRequestReviewState;
7+
using StatusState = GitHub.Models.StatusState;
8+
9+
namespace GitHub.Services
10+
{
11+
public static class FromGraphQlExtensions
12+
{
13+
public static CheckConclusionState? FromGraphQl(this Octokit.GraphQL.Model.CheckConclusionState? value)
14+
{
15+
switch (value)
16+
{
17+
case null:
18+
return null;
19+
case Octokit.GraphQL.Model.CheckConclusionState.ActionRequired:
20+
return CheckConclusionState.ActionRequired;
21+
case Octokit.GraphQL.Model.CheckConclusionState.TimedOut:
22+
return CheckConclusionState.TimedOut;
23+
case Octokit.GraphQL.Model.CheckConclusionState.Cancelled:
24+
return CheckConclusionState.Cancelled;
25+
case Octokit.GraphQL.Model.CheckConclusionState.Failure:
26+
return CheckConclusionState.Failure;
27+
case Octokit.GraphQL.Model.CheckConclusionState.Success:
28+
return CheckConclusionState.Success;
29+
case Octokit.GraphQL.Model.CheckConclusionState.Neutral:
30+
return CheckConclusionState.Neutral;
31+
default:
32+
throw new ArgumentOutOfRangeException(nameof(value), value, null);
33+
}
34+
}
35+
36+
public static PullRequestStateEnum FromGraphQl(this PullRequestState value)
37+
{
38+
switch (value)
39+
{
40+
case PullRequestState.Open:
41+
return PullRequestStateEnum.Open;
42+
case PullRequestState.Closed:
43+
return PullRequestStateEnum.Closed;
44+
case PullRequestState.Merged:
45+
return PullRequestStateEnum.Merged;
46+
default:
47+
throw new ArgumentOutOfRangeException(nameof(value), value, null);
48+
}
49+
}
50+
51+
public static StatusState FromGraphQl(this Octokit.GraphQL.Model.StatusState value)
52+
{
53+
switch (value)
54+
{
55+
case Octokit.GraphQL.Model.StatusState.Expected:
56+
return StatusState.Expected;
57+
case Octokit.GraphQL.Model.StatusState.Error:
58+
return StatusState.Error;
59+
case Octokit.GraphQL.Model.StatusState.Failure:
60+
return StatusState.Failure;
61+
case Octokit.GraphQL.Model.StatusState.Pending:
62+
return StatusState.Pending;
63+
case Octokit.GraphQL.Model.StatusState.Success:
64+
return StatusState.Success;
65+
default:
66+
throw new ArgumentOutOfRangeException(nameof(value), value, null);
67+
}
68+
}
69+
70+
public static CheckStatusState FromGraphQl(this Octokit.GraphQL.Model.CheckStatusState value)
71+
{
72+
switch (value)
73+
{
74+
case Octokit.GraphQL.Model.CheckStatusState.Queued:
75+
return CheckStatusState.Queued;
76+
case Octokit.GraphQL.Model.CheckStatusState.InProgress:
77+
return CheckStatusState.InProgress;
78+
case Octokit.GraphQL.Model.CheckStatusState.Completed:
79+
return CheckStatusState.Completed;
80+
case Octokit.GraphQL.Model.CheckStatusState.Requested:
81+
return CheckStatusState.Requested;
82+
default:
83+
throw new ArgumentOutOfRangeException(nameof(value), value, null);
84+
}
85+
}
86+
87+
public static GitHub.Models.PullRequestReviewState FromGraphQl(this Octokit.GraphQL.Model.PullRequestReviewState value)
88+
{
89+
switch (value) {
90+
case Octokit.GraphQL.Model.PullRequestReviewState.Pending:
91+
return PullRequestReviewState.Pending;
92+
case Octokit.GraphQL.Model.PullRequestReviewState.Commented:
93+
return PullRequestReviewState.Commented;
94+
case Octokit.GraphQL.Model.PullRequestReviewState.Approved:
95+
return PullRequestReviewState.Approved;
96+
case Octokit.GraphQL.Model.PullRequestReviewState.ChangesRequested:
97+
return PullRequestReviewState.ChangesRequested;
98+
case Octokit.GraphQL.Model.PullRequestReviewState.Dismissed:
99+
return PullRequestReviewState.Dismissed;
100+
default:
101+
throw new ArgumentOutOfRangeException(nameof(value), value, null);
102+
}
103+
}
104+
}
105+
}

src/GitHub.App/Services/PullRequestService.cs

Lines changed: 5 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
using System.Threading.Tasks;
1414
using System.Windows.Forms;
1515
using GitHub.Api;
16+
using GitHub.App.Services;
1617
using GitHub.Extensions;
1718
using GitHub.Logging;
1819
using GitHub.Models;
@@ -106,15 +107,15 @@ public async Task<Page<PullRequestListItemModel>> ReadPullRequests(
106107
CheckRuns = suite.CheckRuns(null, null, null, null, null).AllPages(10)
107108
.Select(run => new CheckRunSummaryModel
108109
{
109-
Conclusion = FromGraphQl(run.Conclusion),
110-
Status = FromGraphQl(run.Status)
110+
Conclusion = run.Conclusion.FromGraphQl(),
111+
Status = run.Status.FromGraphQl()
111112
}).ToList()
112113
}).ToList(),
113114
Statuses = commit.Commit.Status
114115
.Select(context =>
115116
context.Contexts.Select(statusContext => new StatusSummaryModel
116117
{
117-
State = FromGraphQl(statusContext.State),
118+
State = statusContext.State.FromGraphQl(),
118119
}).ToList()
119120
).SingleOrDefault()
120121
}).ToList().FirstOrDefault(),
@@ -130,7 +131,7 @@ public async Task<Page<PullRequestListItemModel>> ReadPullRequests(
130131
Body = review.Body,
131132
CommentCount = review.Comments(null, null, null, null).TotalCount,
132133
}).ToList(),
133-
State = FromGraphQl(pr.State),
134+
State = pr.State.FromGraphQl(),
134135
Title = pr.Title,
135136
UpdatedAt = pr.UpdatedAt,
136137
}).ToList(),
@@ -935,80 +936,6 @@ static Tuple<string, int> ParseGHfVSConfigKeyValue(string value)
935936
return null;
936937
}
937938

938-
static PullRequestStateEnum FromGraphQl(PullRequestState value)
939-
{
940-
switch (value)
941-
{
942-
case PullRequestState.Open:
943-
return PullRequestStateEnum.Open;
944-
case PullRequestState.Closed:
945-
return PullRequestStateEnum.Closed;
946-
case PullRequestState.Merged:
947-
return PullRequestStateEnum.Merged;
948-
default:
949-
throw new ArgumentOutOfRangeException(nameof(value), value, null);
950-
}
951-
}
952-
953-
static StatusState FromGraphQl(Octokit.GraphQL.Model.StatusState value)
954-
{
955-
switch (value)
956-
{
957-
case Octokit.GraphQL.Model.StatusState.Expected:
958-
return StatusState.Expected;
959-
case Octokit.GraphQL.Model.StatusState.Error:
960-
return StatusState.Error;
961-
case Octokit.GraphQL.Model.StatusState.Failure:
962-
return StatusState.Failure;
963-
case Octokit.GraphQL.Model.StatusState.Pending:
964-
return StatusState.Pending;
965-
case Octokit.GraphQL.Model.StatusState.Success:
966-
return StatusState.Success;
967-
default:
968-
throw new ArgumentOutOfRangeException(nameof(value), value, null);
969-
}
970-
}
971-
972-
static CheckStatusState FromGraphQl(Octokit.GraphQL.Model.CheckStatusState value)
973-
{
974-
switch (value)
975-
{
976-
case Octokit.GraphQL.Model.CheckStatusState.Queued:
977-
return CheckStatusState.Queued;
978-
case Octokit.GraphQL.Model.CheckStatusState.InProgress:
979-
return CheckStatusState.InProgress;
980-
case Octokit.GraphQL.Model.CheckStatusState.Completed:
981-
return CheckStatusState.Completed;
982-
case Octokit.GraphQL.Model.CheckStatusState.Requested:
983-
return CheckStatusState.Requested;
984-
default:
985-
throw new ArgumentOutOfRangeException(nameof(value), value, null);
986-
}
987-
}
988-
989-
static CheckConclusionState? FromGraphQl(Octokit.GraphQL.Model.CheckConclusionState? value)
990-
{
991-
switch (value)
992-
{
993-
case null:
994-
return null;
995-
case Octokit.GraphQL.Model.CheckConclusionState.ActionRequired:
996-
return CheckConclusionState.ActionRequired;
997-
case Octokit.GraphQL.Model.CheckConclusionState.TimedOut:
998-
return CheckConclusionState.TimedOut;
999-
case Octokit.GraphQL.Model.CheckConclusionState.Cancelled:
1000-
return CheckConclusionState.Cancelled;
1001-
case Octokit.GraphQL.Model.CheckConclusionState.Failure:
1002-
return CheckConclusionState.Failure;
1003-
case Octokit.GraphQL.Model.CheckConclusionState.Success:
1004-
return CheckConclusionState.Success;
1005-
case Octokit.GraphQL.Model.CheckConclusionState.Neutral:
1006-
return CheckConclusionState.Neutral;
1007-
default:
1008-
throw new ArgumentOutOfRangeException(nameof(value), value, null);
1009-
}
1010-
}
1011-
1012939
class ListItemAdapter : PullRequestListItemModel
1013940
{
1014941
public IList<ReviewAdapter> Reviews { get; set; }

src/GitHub.InlineReviews/Services/PullRequestSessionService.cs

Lines changed: 6 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
using System.Text;
99
using System.Threading.Tasks;
1010
using GitHub.Api;
11+
using GitHub.App.Services;
1112
using GitHub.Factories;
1213
using GitHub.InlineReviews.Models;
1314
using GitHub.Models;
@@ -300,14 +301,14 @@ public virtual async Task<PullRequestDetailModel> ReadPullRequestDetail(HostAddr
300301
HeadRefName = pr.HeadRefName,
301302
HeadRefSha = pr.HeadRefOid,
302303
HeadRepositoryOwner = pr.HeadRepositoryOwner != null ? pr.HeadRepositoryOwner.Login : null,
303-
State = FromGraphQl(pr.State),
304+
State = pr.State.FromGraphQl(),
304305
UpdatedAt = pr.UpdatedAt,
305306
Reviews = pr.Reviews(null, null, null, null, null, null).AllPages().Select(review => new PullRequestReviewModel
306307
{
307308
Id = review.Id.Value,
308309
Body = review.Body,
309310
CommitId = review.Commit.Oid,
310-
State = FromGraphQl(review.State),
311+
State = review.State.FromGraphQl(),
311312
SubmittedAt = review.SubmittedAt,
312313
Author = new ActorModel
313314
{
@@ -765,8 +766,8 @@ async Task<LastCommitAdapter> GetPullRequestLastCommitAdapter(HostAddress addres
765766
CheckRuns = suite.CheckRuns(null, null, null, null, null).AllPages(10)
766767
.Select(run => new CheckRunModel
767768
{
768-
Conclusion = (CheckConclusionState?) run.Conclusion,
769-
Status = (CheckStatusState) run.Status,
769+
Conclusion = run.Conclusion.FromGraphQl(),
770+
Status = run.Status.FromGraphQl(),
770771
Name = run.Name,
771772
DetailsUrl = run.Permalink,
772773
Summary = run.Summary,
@@ -776,7 +777,7 @@ async Task<LastCommitAdapter> GetPullRequestLastCommitAdapter(HostAddress addres
776777
.Select(context =>
777778
context.Contexts.Select(statusContext => new StatusModel
778779
{
779-
State = (StatusState)statusContext.State,
780+
State = statusContext.State.FromGraphQl(),
780781
Context = statusContext.Context,
781782
TargetUrl = statusContext.TargetUrl,
782783
Description = statusContext.Description,
@@ -858,38 +859,6 @@ static void BuildPullRequestThreads(PullRequestDetailModel model)
858859
model.Threads = threads;
859860
}
860861

861-
static PullRequestStateEnum FromGraphQl(PullRequestState value)
862-
{
863-
switch (value) {
864-
case PullRequestState.Open:
865-
return PullRequestStateEnum.Open;
866-
case PullRequestState.Closed:
867-
return PullRequestStateEnum.Closed;
868-
case PullRequestState.Merged:
869-
return PullRequestStateEnum.Merged;
870-
default:
871-
throw new ArgumentOutOfRangeException(nameof(value), value, null);
872-
}
873-
}
874-
875-
static GitHub.Models.PullRequestReviewState FromGraphQl(PullRequestReviewState value)
876-
{
877-
switch (value) {
878-
case PullRequestReviewState.Pending:
879-
return GitHub.Models.PullRequestReviewState.Pending;
880-
case PullRequestReviewState.Commented:
881-
return GitHub.Models.PullRequestReviewState.Commented;
882-
case PullRequestReviewState.Approved:
883-
return GitHub.Models.PullRequestReviewState.Approved;
884-
case PullRequestReviewState.ChangesRequested:
885-
return GitHub.Models.PullRequestReviewState.ChangesRequested;
886-
case PullRequestReviewState.Dismissed:
887-
return GitHub.Models.PullRequestReviewState.Dismissed;
888-
default:
889-
throw new ArgumentOutOfRangeException(nameof(value), value, null);
890-
}
891-
}
892-
893862
static Octokit.GraphQL.Model.PullRequestReviewEvent ToGraphQl(Octokit.PullRequestReviewEvent e)
894863
{
895864
switch (e)

0 commit comments

Comments
 (0)