Skip to content

Commit 175967a

Browse files
🩹 [Patch]: Create formats for each GitHubContext type + Token functions (#429)
This pull request introduces significant updates to the GitHub context formatting and authentication functionality. The changes primarily focus on enhancing the organization and presentation of GitHub context data across different views and improving token management and validation in authentication scripts. ### GitHub Context Formatting Updates * **Refactored `GitHubContext.Format.ps1xml`:** Updated property names to better align with the GitHub API and improve clarity. * **Added `GitHubContextApp.Format.ps1xml`:** Introduced new views (`AppGitHubContextTableView` and `AppGitHubContextListView`) for application-specific GitHub context data. * **Added `GitHubContextInstallation.Format.ps1xml`:** Defined new views (`InstallationGitHubContextTableView` and `InstallationGitHubContextListView`) for installation-specific GitHub context data. * **Added `GitHubContextUser.Format.ps1xml`:** Created new views (`UserGitHubContextTableView` and `UserGitHubContextListView`) for user-specific GitHub context data. ### Authentication Enhancements: * **Implemented `Get-GitHubToken`:** Added a function to retrieve GitHub tokens from environment variables, with options for plaintext or secure string output. * **Implemented `Test-GitHubToken`:** Added a function to validate the presence of a GitHub token in environment variables. * **Refactored `Connect-GitHubAccount`:** Integrated `Test-GitHubToken` and `Get-GitHubToken` for cleaner token management and removed redundant code [[1]](diffhunk://#diff-12918e90451cdedb78571b9a67ac0313331a25175cebb606b7108b7bf06af092L168-R174) [[2]](diffhunk://#diff-12918e90451cdedb78571b9a67ac0313331a25175cebb606b7108b7bf06af092L328-L334). --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: MariusStorhaug <17722253+MariusStorhaug@users.noreply.github.com> Co-authored-by: Marius Storhaug <marstor@hotmail.com>
1 parent d00ee18 commit 175967a

9 files changed

+571
-38
lines changed

‎src/formats/GitHubContext.Format.ps1xml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,55 +51,55 @@
5151
<ListEntry>
5252
<ListItems>
5353
<ListItem>
54-
<PropertyName>Name</PropertyName>
54+
<PropertyName>ID</PropertyName>
5555
</ListItem>
5656
<ListItem>
57-
<PropertyName>HostName</PropertyName>
57+
<PropertyName>Name</PropertyName>
5858
</ListItem>
5959
<ListItem>
60-
<PropertyName>UserName</PropertyName>
60+
<PropertyName>DisplayName</PropertyName>
6161
</ListItem>
6262
<ListItem>
63-
<PropertyName>AuthType</PropertyName>
63+
<PropertyName>Type</PropertyName>
6464
</ListItem>
6565
<ListItem>
66-
<PropertyName>TokenType</PropertyName>
66+
<PropertyName>HostName</PropertyName>
6767
</ListItem>
6868
<ListItem>
69-
<PropertyName>TokenExpirationDate</PropertyName>
69+
<PropertyName>ApiBaseUri</PropertyName>
7070
</ListItem>
7171
<ListItem>
72-
<PropertyName>Repo</PropertyName>
72+
<PropertyName>ApiVersion</PropertyName>
7373
</ListItem>
7474
<ListItem>
75-
<PropertyName>Scope</PropertyName>
75+
<PropertyName>AuthType</PropertyName>
7676
</ListItem>
7777
<ListItem>
78-
<PropertyName>ApiBaseUri</PropertyName>
78+
<PropertyName>NodeID</PropertyName>
7979
</ListItem>
8080
<ListItem>
81-
<PropertyName>ApiVersion</PropertyName>
81+
<PropertyName>DatabaseID</PropertyName>
8282
</ListItem>
8383
<ListItem>
84-
<PropertyName>AuthClientID</PropertyName>
84+
<PropertyName>UserName</PropertyName>
8585
</ListItem>
8686
<ListItem>
87-
<PropertyName>ClientID</PropertyName>
87+
<PropertyName>TokenType</PropertyName>
8888
</ListItem>
8989
<ListItem>
90-
<PropertyName>DeviceFlowType</PropertyName>
90+
<PropertyName>Enterprise</PropertyName>
9191
</ListItem>
9292
<ListItem>
93-
<PropertyName>NodeID</PropertyName>
93+
<PropertyName>Owner</PropertyName>
9494
</ListItem>
9595
<ListItem>
96-
<PropertyName>ID</PropertyName>
96+
<PropertyName>Repository</PropertyName>
9797
</ListItem>
9898
<ListItem>
99-
<PropertyName>Owner</PropertyName>
99+
<PropertyName>HttpVersion</PropertyName>
100100
</ListItem>
101101
<ListItem>
102-
<PropertyName>RefreshTokenExpirationDate</PropertyName>
102+
<PropertyName>PerPage</PropertyName>
103103
</ListItem>
104104
</ListItems>
105105
</ListEntry>
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Configuration>
3+
<ViewDefinitions>
4+
<View>
5+
<Name>AppGitHubContextTableView</Name>
6+
<ViewSelectedBy>
7+
<TypeName>AppGitHubContext</TypeName>
8+
</ViewSelectedBy>
9+
<TableControl>
10+
<TableHeaders>
11+
<TableColumnHeader>
12+
<Label>Name</Label>
13+
</TableColumnHeader>
14+
<TableColumnHeader>
15+
<Label>AuthType</Label>
16+
</TableColumnHeader>
17+
<TableColumnHeader>
18+
<Label>TokenType</Label>
19+
</TableColumnHeader>
20+
<TableColumnHeader>
21+
<Label>TokenExpirationDate</Label>
22+
</TableColumnHeader>
23+
</TableHeaders>
24+
<TableRowEntries>
25+
<TableRowEntry>
26+
<TableColumnItems>
27+
<TableColumnItem>
28+
<PropertyName>Name</PropertyName>
29+
</TableColumnItem>
30+
<TableColumnItem>
31+
<PropertyName>AuthType</PropertyName>
32+
</TableColumnItem>
33+
<TableColumnItem>
34+
<PropertyName>TokenType</PropertyName>
35+
</TableColumnItem>
36+
<TableColumnItem>
37+
<PropertyName>TokenExpirationDate</PropertyName>
38+
</TableColumnItem>
39+
</TableColumnItems>
40+
</TableRowEntry>
41+
</TableRowEntries>
42+
</TableControl>
43+
</View>
44+
45+
<View>
46+
<Name>AppGitHubContextListView</Name>
47+
<ViewSelectedBy>
48+
<TypeName>AppGitHubContext</TypeName>
49+
</ViewSelectedBy>
50+
<ListControl>
51+
<ListEntries>
52+
<ListEntry>
53+
<ListItems>
54+
<ListItem>
55+
<PropertyName>Name</PropertyName>
56+
</ListItem>
57+
<ListItem>
58+
<PropertyName>Type</PropertyName>
59+
</ListItem>
60+
<ListItem>
61+
<PropertyName>AuthType</PropertyName>
62+
</ListItem>
63+
<ListItem>
64+
<PropertyName>TokenType</PropertyName>
65+
</ListItem>
66+
<ListItem>
67+
<PropertyName>HostName</PropertyName>
68+
</ListItem>
69+
<ListItem>
70+
<PropertyName>UserName</PropertyName>
71+
</ListItem>
72+
<ListItem>
73+
<PropertyName>ClientID</PropertyName>
74+
</ListItem>
75+
<ListItem>
76+
<PropertyName>OwnerName</PropertyName>
77+
</ListItem>
78+
<ListItem>
79+
<PropertyName>OwnerType</PropertyName>
80+
</ListItem>
81+
<ListItem>
82+
<PropertyName>Permissions</PropertyName>
83+
</ListItem>
84+
<ListItem>
85+
<PropertyName>Events</PropertyName>
86+
</ListItem>
87+
<ListItem>
88+
<PropertyName>ApiBaseUri</PropertyName>
89+
</ListItem>
90+
<ListItem>
91+
<PropertyName>Enterprise</PropertyName>
92+
</ListItem>
93+
<ListItem>
94+
<PropertyName>Owner</PropertyName>
95+
</ListItem>
96+
<ListItem>
97+
<PropertyName>Repository</PropertyName>
98+
</ListItem>
99+
<ListItem>
100+
<PropertyName>HttpVersion</PropertyName>
101+
</ListItem>
102+
<ListItem>
103+
<PropertyName>PerPage</PropertyName>
104+
</ListItem>
105+
</ListItems>
106+
</ListEntry>
107+
</ListEntries>
108+
</ListControl>
109+
</View>
110+
</ViewDefinitions>
111+
</Configuration>
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Configuration>
3+
<ViewDefinitions>
4+
<View>
5+
<Name>InstallationGitHubContextTableView</Name>
6+
<ViewSelectedBy>
7+
<TypeName>InstallationGitHubContext</TypeName>
8+
</ViewSelectedBy>
9+
<TableControl>
10+
<TableHeaders>
11+
<TableColumnHeader>
12+
<Label>Name</Label>
13+
</TableColumnHeader>
14+
<TableColumnHeader>
15+
<Label>AuthType</Label>
16+
</TableColumnHeader>
17+
<TableColumnHeader>
18+
<Label>TokenType</Label>
19+
</TableColumnHeader>
20+
<TableColumnHeader>
21+
<Label>TokenExpirationDate</Label>
22+
</TableColumnHeader>
23+
</TableHeaders>
24+
<TableRowEntries>
25+
<TableRowEntry>
26+
<TableColumnItems>
27+
<TableColumnItem>
28+
<PropertyName>Name</PropertyName>
29+
</TableColumnItem>
30+
<TableColumnItem>
31+
<PropertyName>AuthType</PropertyName>
32+
</TableColumnItem>
33+
<TableColumnItem>
34+
<PropertyName>TokenType</PropertyName>
35+
</TableColumnItem>
36+
<TableColumnItem>
37+
<PropertyName>TokenExpirationDate</PropertyName>
38+
</TableColumnItem>
39+
</TableColumnItems>
40+
</TableRowEntry>
41+
</TableRowEntries>
42+
</TableControl>
43+
</View>
44+
45+
<View>
46+
<Name>InstallationGitHubContextListView</Name>
47+
<ViewSelectedBy>
48+
<TypeName>InstallationGitHubContext</TypeName>
49+
</ViewSelectedBy>
50+
<ListControl>
51+
<ListEntries>
52+
<ListEntry>
53+
<ListItems>
54+
<ListItem>
55+
<PropertyName>Name</PropertyName>
56+
</ListItem>
57+
<ListItem>
58+
<PropertyName>Type</PropertyName>
59+
</ListItem>
60+
<ListItem>
61+
<PropertyName>AuthType</PropertyName>
62+
</ListItem>
63+
<ListItem>
64+
<PropertyName>TokenType</PropertyName>
65+
</ListItem>
66+
<ListItem>
67+
<PropertyName>HostName</PropertyName>
68+
</ListItem>
69+
<ListItem>
70+
<PropertyName>UserName</PropertyName>
71+
</ListItem>
72+
<ListItem>
73+
<PropertyName>ClientID</PropertyName>
74+
</ListItem>
75+
<ListItem>
76+
<PropertyName>InstallationID</PropertyName>
77+
</ListItem>
78+
<ListItem>
79+
<PropertyName>TokenExpirationDate</PropertyName>
80+
</ListItem>
81+
<ListItem>
82+
<PropertyName>InstallationType</PropertyName>
83+
</ListItem>
84+
<ListItem>
85+
<PropertyName>InstallationName</PropertyName>
86+
</ListItem>
87+
<ListItem>
88+
<PropertyName>Permissions</PropertyName>
89+
</ListItem>
90+
<ListItem>
91+
<PropertyName>Events</PropertyName>
92+
</ListItem>
93+
<ListItem>
94+
<PropertyName>ApiBaseUri</PropertyName>
95+
</ListItem>
96+
<ListItem>
97+
<PropertyName>Enterprise</PropertyName>
98+
</ListItem>
99+
<ListItem>
100+
<PropertyName>Owner</PropertyName>
101+
</ListItem>
102+
<ListItem>
103+
<PropertyName>Repository</PropertyName>
104+
</ListItem>
105+
<ListItem>
106+
<PropertyName>HttpVersion</PropertyName>
107+
</ListItem>
108+
<ListItem>
109+
<PropertyName>PerPage</PropertyName>
110+
</ListItem>
111+
</ListItems>
112+
</ListEntry>
113+
</ListEntries>
114+
</ListControl>
115+
</View>
116+
</ViewDefinitions>
117+
</Configuration>

0 commit comments

Comments
 (0)