MCPcopy Create free account
hub / github.com/cli/cli / ProjectV2Ids

Method ProjectV2Ids

pkg/cmd/pr/shared/editable.go:235–276  ·  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

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