add OidcIDto teams

This commit is contained in:
viehlieb 2023-01-27 13:31:43 +01:00
parent 60df024907
commit f4caa78cb3
2 changed files with 8 additions and 10 deletions

View File

@ -18,7 +18,6 @@ package models
import (
"code.vikunja.io/api/pkg/events"
"code.vikunja.io/api/pkg/log"
user2 "code.vikunja.io/api/pkg/user"
"code.vikunja.io/web"
"xorm.io/xorm"
@ -55,7 +54,7 @@ func (tm *TeamMember) Create(s *xorm.Session, a web.Auth) (err error) {
// Check if that user is already part of the team
exists, err := s.
Where("team_id = ? AND user_name = ?", tm.TeamID, tm.UserID).
Where("team_id = ? AND user_id = ?", tm.TeamID, tm.UserID).
Get(&TeamMember{})
if err != nil {
return
@ -110,23 +109,19 @@ func (tm *TeamMember) Delete(s *xorm.Session, _ web.Auth) (err error) {
return
}
func (tm *TeamMember) CheckMembership(s *xorm.Session) (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.
exists, err = s.
Where("team_id = ? AND user_id = ?", tm.TeamID, tm.UserID).
Get(&TeamMember{})
if err != nil {
if exists {
return
}
if exists {
log.Errorf("Team member already exists %v", ErrUserIsMemberOfTeam{tm.UserID, tm.UserID})
return ErrUserIsMemberOfTeam{tm.UserID, tm.UserID}
}
return
return exists, ErrUserIsMemberOfTeam{tm.UserID, tm.UserID}
}
// Update toggles a team member's admin status

View File

@ -20,6 +20,7 @@ import (
"time"
"code.vikunja.io/api/pkg/db"
"code.vikunja.io/api/pkg/log"
"code.vikunja.io/api/pkg/events"
"code.vikunja.io/api/pkg/user"
@ -38,6 +39,8 @@ type Team struct {
// The team's description.
Description string `xorm:"longtext null" json:"description"`
CreatedByID int64 `xorm:"bigint not null INDEX" json:"-"`
// The team's oidc id delivered by the oidc provider
OidcID string `xorm:"varchar(250) null" maxLength:"250" json:"oidc_id"`
// The user who created this team.
CreatedBy *user.User `xorm:"-" json:"created_by"`