MCPcopy
hub / github.com/cli/cli / ProjectV2Ids

Method ProjectV2Ids

pkg/cmd/pr/shared/editable.go:234–275  ·  view source on GitHub ↗

ProjectV2Ids returns a pair of slices. The first is the projects the item should be added to. The second is the projects the items should be removed from.

()

Source from the content-addressed store, hash-verified

232// The first is the projects the item should be added to.
233// The second is the projects the items should be removed from.
234func (e Editable) ProjectV2Ids() (*[]string, *[]string, error) {
235 if !e.Projects.Edited {
236 return nil, nil, nil
237 }
238
239 // titles of projects to add
240 addTitles := set.NewStringSet()
241 // titles of projects to remove
242 removeTitles := set.NewStringSet()
243
244 if len(e.Projects.Add) != 0 || len(e.Projects.Remove) != 0 {
245 // Projects were selected using flags.
246 addTitles.AddValues(e.Projects.Add)
247 removeTitles.AddValues(e.Projects.Remove)
248 } else {
249 // Projects were selected interactively.
250 addTitles.AddValues(e.Projects.Value)
251 addTitles.RemoveValues(e.Projects.Default)
252 removeTitles.AddValues(e.Projects.Default)
253 removeTitles.RemoveValues(e.Projects.Value)
254 }
255
256 var addIds []string
257 var removeIds []string
258 var err error
259
260 if addTitles.Len() > 0 {
261 _, addIds, err = e.Metadata.ProjectsTitlesToIDs(addTitles.ToSlice())
262 if err != nil {
263 return nil, nil, err
264 }
265 }
266
267 if removeTitles.Len() > 0 {
268 _, removeIds, err = e.Metadata.ProjectsTitlesToIDs(removeTitles.ToSlice())
269 if err != nil {
270 return nil, nil, err
271 }
272 }
273
274 return &addIds, &removeIds, nil
275}
276
277func (e Editable) MilestoneId() (*string, error) {
278 if !e.Milestone.Edited {

Callers 1

UpdateIssueFunction · 0.80

Calls 6

NewStringSetFunction · 0.92
AddValuesMethod · 0.80
RemoveValuesMethod · 0.80
ProjectsTitlesToIDsMethod · 0.80
LenMethod · 0.65
ToSliceMethod · 0.65

Tested by

no test coverage detected