add OidcIDto teams
This commit is contained in:
parent
60df024907
commit
f4caa78cb3
|
@ -18,7 +18,6 @@ package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"code.vikunja.io/api/pkg/events"
|
"code.vikunja.io/api/pkg/events"
|
||||||
"code.vikunja.io/api/pkg/log"
|
|
||||||
user2 "code.vikunja.io/api/pkg/user"
|
user2 "code.vikunja.io/api/pkg/user"
|
||||||
"code.vikunja.io/web"
|
"code.vikunja.io/web"
|
||||||
"xorm.io/xorm"
|
"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
|
// Check if that user is already part of the team
|
||||||
exists, err := s.
|
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{})
|
Get(&TeamMember{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
@ -110,23 +109,19 @@ func (tm *TeamMember) Delete(s *xorm.Session, _ web.Auth) (err error) {
|
||||||
return
|
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)
|
member, err := user2.GetUserByUsername(s, tm.Username)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
tm.UserID = member.ID
|
tm.UserID = member.ID
|
||||||
exists, err := s.
|
exists, err = s.
|
||||||
Where("team_id = ? AND user_id = ?", tm.TeamID, tm.UserID).
|
Where("team_id = ? AND user_id = ?", tm.TeamID, tm.UserID).
|
||||||
Get(&TeamMember{})
|
Get(&TeamMember{})
|
||||||
if err != nil {
|
if exists {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if exists {
|
return exists, ErrUserIsMemberOfTeam{tm.UserID, tm.UserID}
|
||||||
log.Errorf("Team member already exists %v", ErrUserIsMemberOfTeam{tm.UserID, tm.UserID})
|
|
||||||
return ErrUserIsMemberOfTeam{tm.UserID, tm.UserID}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update toggles a team member's admin status
|
// Update toggles a team member's admin status
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"code.vikunja.io/api/pkg/db"
|
"code.vikunja.io/api/pkg/db"
|
||||||
|
"code.vikunja.io/api/pkg/log"
|
||||||
|
|
||||||
"code.vikunja.io/api/pkg/events"
|
"code.vikunja.io/api/pkg/events"
|
||||||
"code.vikunja.io/api/pkg/user"
|
"code.vikunja.io/api/pkg/user"
|
||||||
|
@ -38,6 +39,8 @@ type Team struct {
|
||||||
// The team's description.
|
// The team's description.
|
||||||
Description string `xorm:"longtext null" json:"description"`
|
Description string `xorm:"longtext null" json:"description"`
|
||||||
CreatedByID int64 `xorm:"bigint not null INDEX" json:"-"`
|
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.
|
// The user who created this team.
|
||||||
CreatedBy *user.User `xorm:"-" json:"created_by"`
|
CreatedBy *user.User `xorm:"-" json:"created_by"`
|
||||||
|
|
Loading…
Reference in New Issue
Block a user