add OidcIDto teams
This commit is contained in:
parent
ae8e3d9108
commit
db1f1423bb
|
@ -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, a 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
|
||||
|
|
|
@ -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"`
|
||||
|
|
Loading…
Reference in New Issue