fix: handle Codeberg returning null entry in requested_reviewers (#136)

Codeberg can return null as part of requested_reviewers (presumably
because that user has been deleted). Handle that case, and also for
assignees since we're at it.
This commit is contained in:
Ratchanan Srirattanamet 2024-10-04 00:21:14 +07:00 committed by GitHub
parent fe22142b85
commit 1e8358bb2c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 1983 additions and 1053 deletions

1514
dist/cli/index.js vendored

File diff suppressed because it is too large Load diff

1514
dist/gha/index.js vendored

File diff suppressed because it is too large Load diff

View file

@ -24,8 +24,8 @@ export default class GitHubMapper implements GitResponseMapper<PullRequest, "ope
state: this.mapGitState(pr.state), // TODO fix using custom mapper
merged: pr.merged ?? false,
mergedBy: pr.merged_by?.login,
reviewers: pr.requested_reviewers?.filter(r => "login" in r).map((r => (r as User)?.login)) ?? [],
assignees: pr.assignees?.filter(r => "login" in r).map(r => r.login) ?? [],
reviewers: pr.requested_reviewers?.filter(r => r && "login" in r).map((r => (r as User)?.login)) ?? [],
assignees: pr.assignees?.filter(r => r && "login" in r).map(r => r.login) ?? [],
labels: pr.labels?.map(l => l.name) ?? [],
sourceRepo: await this.mapSourceRepo(pr),
targetRepo: await this.mapTargetRepo(pr),

View file

@ -87,7 +87,9 @@ export const CB_MERGED_PR_FIXTURE = {
"received_events_url": "https://codeberg.org/api/v1/users/gh-user/received_events",
"type": "User",
"site_admin": false
}
},
// Sometimes Codeberg returns null as part of requested_reviewers.
null,
],
"requested_teams": [