MCPcopy Create free account
hub / github.com/gogs/gogs / UpdateTeam

Function UpdateTeam

internal/database/org_team.go:365–407  ·  view source on GitHub ↗

UpdateTeam updates information of team.

(t *Team, authChanged bool)

Source from the content-addressed store, hash-verified

363
364// UpdateTeam updates information of team.
365func UpdateTeam(t *Team, authChanged bool) (err error) {
366 if t.Name == "" {
367 return errors.New("empty team name")
368 }
369
370 if len(t.Description) > 255 {
371 t.Description = t.Description[:255]
372 }
373
374 sess := x.NewSession()
375 defer sess.Close()
376 if err = sess.Begin(); err != nil {
377 return err
378 }
379
380 t.LowerName = strings.ToLower(t.Name)
381 existingTeam := new(Team)
382 has, err := x.Where("org_id=?", t.OrgID).And("lower_name=?", t.LowerName).And("id!=?", t.ID).Get(existingTeam)
383 if err != nil {
384 return err
385 } else if has {
386 return ErrTeamAlreadyExist{existingTeam.ID, t.OrgID, t.LowerName}
387 }
388
389 if _, err = sess.ID(t.ID).AllCols().Update(t); err != nil {
390 return errors.Newf("update: %v", err)
391 }
392
393 // Update access for team members if needed.
394 if authChanged {
395 if err = t.getRepositories(sess); err != nil {
396 return errors.Newf("getRepositories:%v", err)
397 }
398
399 for _, repo := range t.Repos {
400 if err = repo.recalculateTeamAccesses(sess, 0); err != nil {
401 return errors.Newf("recalculateTeamAccesses: %v", err)
402 }
403 }
404 }
405
406 return sess.Commit()
407}
408
409// DeleteTeam deletes given team.
410// It's caller's responsibility to assign organization ID.

Callers 1

EditTeamPostFunction · 0.92

Calls 6

WhereMethod · 0.80
getRepositoriesMethod · 0.80
GetMethod · 0.65
UpdateMethod · 0.65
IDMethod · 0.65

Tested by

no test coverage detected