fix(issues): fix non-interactive assignee matching to logins&IDs
This commit is contained in:
parent
eace1e889a
commit
9a5ea87d75
3 changed files with 16 additions and 2 deletions
|
|
@ -97,6 +97,14 @@ type AssignedActors struct {
|
|||
TotalCount int
|
||||
}
|
||||
|
||||
func (a AssignedActors) Logins() []string {
|
||||
logins := make([]string, len(a.Nodes))
|
||||
for i, a := range a.Nodes {
|
||||
logins[i] = a.Login
|
||||
}
|
||||
return logins
|
||||
}
|
||||
|
||||
// DisplayNames returns a list of display names for the assigned actors.
|
||||
func (a AssignedActors) DisplayNames() []string {
|
||||
// These display names are used for populating the "default" assigned actors
|
||||
|
|
@ -119,7 +127,7 @@ func (a AssignedActors) DisplayNames() []string {
|
|||
// repository's assignableActors, treating the assignableActors DisplayName
|
||||
// methods as the sources of truth.
|
||||
// TODO KW: make this comment less of a wall of text if needed.
|
||||
displayNames := make([]string, len(a.Nodes))
|
||||
var displayNames []string
|
||||
for _, a := range a.Nodes {
|
||||
if a.TypeName == "User" {
|
||||
u := NewAssignableUser(
|
||||
|
|
|
|||
|
|
@ -268,6 +268,7 @@ func editRun(opts *EditOptions) error {
|
|||
// on this GitHub host.
|
||||
if editable.Assignees.ActorAssignees {
|
||||
editable.Assignees.Default = issue.AssignedActors.DisplayNames()
|
||||
editable.Assignees.DefaultLogins = issue.AssignedActors.Logins()
|
||||
} else {
|
||||
editable.Assignees.Default = issue.Assignees.Logins()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ type EditableSlice struct {
|
|||
type EditableAssignees struct {
|
||||
EditableSlice
|
||||
ActorAssignees bool
|
||||
DefaultLogins []string
|
||||
}
|
||||
|
||||
// ProjectsV2 mutations require a mapping of an item ID to a project ID.
|
||||
|
|
@ -115,7 +116,11 @@ func (e Editable) AssigneeIds(client *api.Client, repo ghrepo.Interface) (*[]str
|
|||
if len(e.Assignees.Add) != 0 || len(e.Assignees.Remove) != 0 {
|
||||
meReplacer := NewMeReplacer(client, repo.RepoHost())
|
||||
s := set.NewStringSet()
|
||||
s.AddValues(e.Assignees.Default)
|
||||
if e.Assignees.ActorAssignees {
|
||||
s.AddValues(e.Assignees.DefaultLogins)
|
||||
} else {
|
||||
s.AddValues(e.Assignees.Default)
|
||||
}
|
||||
add, err := meReplacer.ReplaceSlice(e.Assignees.Add)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue