Add team member added event
This commit is contained in:
parent
405f3771b1
commit
51024a595d
|
@ -149,3 +149,17 @@ type NamespaceSharedWithTeamEvent struct {
|
||||||
func (n *NamespaceSharedWithTeamEvent) TopicName() string {
|
func (n *NamespaceSharedWithTeamEvent) TopicName() string {
|
||||||
return "namespace.shared.team"
|
return "namespace.shared.team"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////
|
||||||
|
// Team Events //
|
||||||
|
/////////////////
|
||||||
|
|
||||||
|
type TeamMemberAddedEvent struct {
|
||||||
|
Team *Team
|
||||||
|
Member *user.User
|
||||||
|
Doer *user.User
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *TeamMemberAddedEvent) TopicName() string {
|
||||||
|
return "team.member.added"
|
||||||
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"code.vikunja.io/api/pkg/events"
|
||||||
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"
|
||||||
|
@ -39,9 +40,9 @@ import (
|
||||||
func (tm *TeamMember) Create(s *xorm.Session, a web.Auth) (err error) {
|
func (tm *TeamMember) Create(s *xorm.Session, a web.Auth) (err error) {
|
||||||
|
|
||||||
// Check if the team extst
|
// Check if the team extst
|
||||||
_, err = GetTeamByID(s, tm.TeamID)
|
team, err := GetTeamByID(s, tm.TeamID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if the user exists
|
// Check if the user exists
|
||||||
|
@ -64,7 +65,19 @@ func (tm *TeamMember) Create(s *xorm.Session, a web.Auth) (err error) {
|
||||||
|
|
||||||
// Insert the user
|
// Insert the user
|
||||||
_, err = s.Insert(tm)
|
_, err = s.Insert(tm)
|
||||||
return
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
doer, err := user2.GetFromAuth(a)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return events.Publish(&TeamMemberAddedEvent{
|
||||||
|
Team: team,
|
||||||
|
Member: user,
|
||||||
|
Doer: doer,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete deletes a user from a team
|
// Delete deletes a user from a team
|
||||||
|
|
Loading…
Reference in New Issue