Skip to content

Commit 8ef8f98

Browse files
🩹 [Fix]: Add null checks for repository and enterprise results in GraphQL queries to prevent errors
1 parent 2f5b7cb commit 8ef8f98

5 files changed

Lines changed: 25 additions & 13 deletions

File tree

‎src/functions/private/Enterprise/Get-GitHubEnterpriseByName.ps1‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ query(`$Slug: String!) {
6767
Context = $Context
6868
}
6969
$enterpriseResult = Invoke-GitHubGraphQLQuery @enterpriseQuery
70-
[GitHubEnterprise]::new($enterpriseResult.enterprise)
70+
if ($enterpriseResult.enterprise) {
71+
[GitHubEnterprise]::new($enterpriseResult.enterprise)
72+
}
7173
}
7274

7375
end {

‎src/functions/private/Releases/Assets/Get-GitHubReleaseAssetByTag.ps1‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,12 +115,14 @@ query(`$owner: String!, `$repository: String!, `$tag: String!, `$perPage: Int, `
115115

116116
Invoke-GitHubGraphQLQuery @apiParams | ForEach-Object {
117117
$release = $_.repository.release
118-
$assets = $release.releaseAssets
119-
foreach ($asset in $assets.nodes) {
120-
[GitHubReleaseAsset]::new($asset)
118+
if ($release) {
119+
$assets = $release.releaseAssets
120+
foreach ($asset in $assets.nodes) {
121+
[GitHubReleaseAsset]::new($asset)
122+
}
123+
$hasNextPage = $assets.pageInfo.hasNextPage
124+
$after = $assets.pageInfo.endCursor
121125
}
122-
$hasNextPage = $assets.pageInfo.hasNextPage
123-
$after = $assets.pageInfo.endCursor
124126
}
125127
} while ($hasNextPage)
126128
}

‎src/functions/private/Releases/Assets/Get-GitHubReleaseAssetFromLatest.ps1‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -114,12 +114,14 @@ query(`$owner: String!, `$repository: String!, `$perPage: Int, `$after: String)
114114

115115
Invoke-GitHubGraphQLQuery @apiParams | ForEach-Object {
116116
$release = $_.repository.latestRelease
117-
$assets = $release.releaseAssets
118-
foreach ($asset in $assets.nodes) {
119-
[GitHubReleaseAsset]::new($asset)
117+
if ($release) {
118+
$assets = $release.releaseAssets
119+
foreach ($asset in $assets.nodes) {
120+
[GitHubReleaseAsset]::new($asset)
121+
}
122+
$hasNextPage = $assets.pageInfo.hasNextPage
123+
$after = $assets.pageInfo.endCursor
120124
}
121-
$hasNextPage = $assets.pageInfo.hasNextPage
122-
$after = $assets.pageInfo.endCursor
123125
}
124126
} while ($hasNextPage)
125127
}

‎src/functions/private/Repositories/Get-GitHubMyRepositoryByName.ps1‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,10 @@ $graphQLFields
127127
}
128128

129129
Invoke-GitHubGraphQLQuery @apiParams | ForEach-Object {
130-
[GitHubRepository]::new($_.viewer.repository)
130+
$repository = $_.viewer.repository
131+
if ($repository) {
132+
[GitHubRepository]::new($repository)
133+
}
131134
}
132135
}
133136

‎src/functions/private/Repositories/Get-GitHubRepositoryByName.ps1‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,10 @@ $graphQLFields
134134
}
135135

136136
Invoke-GitHubGraphQLQuery @apiParams | ForEach-Object {
137-
[GitHubRepository]::new($_.repositoryOwner.repository)
137+
$repository = $_.repositoryOwner.repository
138+
if ($repository) {
139+
[GitHubRepository]::new($repository)
140+
}
138141
}
139142
}
140143

0 commit comments

Comments
 (0)