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
Showing only changes of commit 765cfae63a - Show all commits

View File

@ -110,18 +110,13 @@ func (tm *TeamMember) Delete(s *xorm.Session, _ web.Auth) (err error) {
}
func (tm *TeamMember) CheckMembership(s *xorm.Session) (exists bool, err error) {
member, err := user2.GetUserByUsername(s, tm.Username)
if err != nil {
return
}
tm.UserID = member.ID
exists, err = s.
viehlieb marked this conversation as resolved Outdated

Can you do this either with a join to avoid loading the user or at least use the "simple" function?

Can you do this either with a join to avoid loading the user or at least use the "simple" function?

done.

done.
Where("team_id = ? AND user_id = ?", tm.TeamID, tm.UserID).
viehlieb marked this conversation as resolved Outdated

This should be Exist(&TeamMember{}).

This should be `Exist(&TeamMember{})`.

done

done
Get(&TeamMember{})
if exists {
if exists && err == nil {
return
}
return exists, ErrUserIsMemberOfTeam{tm.UserID, tm.UserID}
return exists, err
}
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.
// Update toggles a team member's admin status