feat: assign users to teams via OIDC claims #1393

Merged
konrad merged 93 commits from viehlieb/api:950_reworked_assign_teams_via_oidc into main 2024-03-02 08:47:12 +00:00
2 changed files with 4 additions and 14 deletions
Showing only changes of commit 47801df974 - Show all commits

View File

@ -115,15 +115,6 @@ func (tm *TeamMember) CheckMembership(s *xorm.Session) (exists bool, err error)
return exists, err
}
func (tm *TeamMember) GetMemberCount(s *xorm.Session) (memberCount int64, err error) {
member := TeamMember{}
memberCount, err = s.
Where("team_id = ?", tm.TeamID).
Cols("user_id").
Count(&member)
return memberCount, err
}
// Update toggles a team member's admin status
// @Summary Toggle a team member's admin status
// @Description If a user is team admin, this will make them member and vise-versa.
viehlieb marked this conversation as resolved Outdated

Couldn't you just return the result here directly?

Couldn't you just return the result here directly?

In fact this function is not needed anymore for this feature, so I'll just remove it.
It was used for finding out whether a user should be signed out from team or deleted.

In fact this function is not needed anymore for this feature, so I'll just remove it. It was used for finding out whether a user should be signed out from team or deleted.

View File

@ -216,7 +216,7 @@ func HandleCallback(c echo.Context) error {
if err != nil {
viehlieb marked this conversation as resolved Outdated

Please don't ignore the error.

Please don't ignore the error.
log.Errorf("Could not proceed with group routine %v", err)
}
viehlieb marked this conversation as resolved Outdated

Please don't call this "Sign out". That's a different thing.

Please don't call this "Sign out". That's a different thing.
errs = SignOutFromTeamsByID(s, u, utils.NotIn(oldOidcTeams, oidcTeams))
errs = RemoveUserFromTeamsByIds(s, u, utils.NotIn(oldOidcTeams, oidcTeams))
log.Errorf("%v", errs)
for _, err := range errs {
log.Errorf("Found Error while signing out from teams %v", err)
@ -281,7 +281,10 @@ func AssignOrCreateUserToTeams(s *xorm.Session, u *user.User, teamData []models.
}
return oidcTeams, err
}
<<<<<<< HEAD
=======
>>>>>>> 169b668c... remove left over function GetMemberCount, rename function SignOut to RemoveFrom
func RemoveUserFromTeamsByIds(s *xorm.Session, u *user.User, teamIDs []int64) (errs []error) {
viehlieb marked this conversation as resolved Outdated

Please use `strconv.FormatInt

Please use `strconv.FormatInt

done

done
errs = []error{}
for _, teamID := range teamIDs {
@ -340,11 +343,7 @@ func getTeamDataFromToken(groups []map[string]interface{}, provider *Provider) (
}
func CreateTeamWithData(s *xorm.Session, teamData models.OIDCTeamData, u *user.User) (team *models.Team, err error) {
<<<<<<< HEAD
team = &models.Team{
=======
tea := &models.Team{
>>>>>>> b607fea4... change too generic name TeamData struct to OIDCTeamData
Name: teamData.TeamName,
Description: teamData.Description,
OidcID: teamData.OidcID,