From 962e09174f395db63e17c56a3fa2570fe6b703a8 Mon Sep 17 00:00:00 2001 From: viehlieb Date: Fri, 27 Jan 2023 13:33:45 +0100 Subject: [PATCH] add functionality of searching teams by oidcId and name to teams.go --- pkg/models/teams.go | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/pkg/models/teams.go b/pkg/models/teams.go index a21fe8d79..f0ecbf541 100644 --- a/pkg/models/teams.go +++ b/pkg/models/teams.go @@ -123,7 +123,7 @@ func GetTeamByID(s *xorm.Session, id int64) (team *Team, err error) { return } -// GetTeamByID gets teams by name +// GetTeamByName gets teams by name func GetTeamsByName(s *xorm.Session, name string) (teams []*Team, err error) { if name == "" { return teams, ErrTeamsDoNotExist{name} @@ -131,18 +131,28 @@ func GetTeamsByName(s *xorm.Session, name string) (teams []*Team, err error) { var ts []*Team - exists := s. + err = s. Where("name = ?", name). Find(&ts) - if exists != nil { - return - } - if len(ts) == 0 { + if err != nil || len(ts) == 0 { return ts, ErrTeamsDoNotExist{name} } teams = ts + return teams, err +} - return +// GetTeamByOidcIDAndName gets teams where oidc_id and name match parameters +// For oidc team creation oidcID and Name need to be set +func GetTeamByOidcIDAndName(s *xorm.Session, id string, name string) (team Team, err error) { + exists, err := s. + Table("teams"). + Where("oidc_id = ? AND name = ?", id, name). + Get(&team) + log.Debugf("GetTeamByOidcIDAndName: %v, exists: %v", team.Name, exists) + if exists && err == nil { + return team, nil + } + return team, ErrTeamsDoNotExist{id} } func addMoreInfoToTeams(s *xorm.Session, teams []*Team) (err error) { @@ -295,8 +305,7 @@ func (t *Team) Create(s *xorm.Session, a web.Auth) (err error) { return } - var admin bool = true - // } + var admin = true tm := TeamMember{TeamID: t.ID, Username: doer.Username, Admin: admin} if err = tm.Create(s, doer); err != nil { return err