From e8f2d577c26653c5e8722d81c4d4ced40d0fe2de Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 31 Jan 2021 22:08:43 +0100 Subject: [PATCH] Add list shared with team event --- pkg/models/events.go | 10 ++++++++++ pkg/models/list_team.go | 16 ++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/pkg/models/events.go b/pkg/models/events.go index 521254da8..fddd80ded 100644 --- a/pkg/models/events.go +++ b/pkg/models/events.go @@ -119,3 +119,13 @@ type ListSharedWithUserEvent struct { func (l *ListSharedWithUserEvent) TopicName() string { return "list.shared.user" } + +type ListSharedWithTeamEvent struct { + List *List + Team *Team + Doer *user.User +} + +func (l *ListSharedWithTeamEvent) TopicName() string { + return "list.shared.team" +} diff --git a/pkg/models/list_team.go b/pkg/models/list_team.go index a1bfdea00..2f762822f 100644 --- a/pkg/models/list_team.go +++ b/pkg/models/list_team.go @@ -17,6 +17,8 @@ package models import ( + "code.vikunja.io/api/pkg/events" + "code.vikunja.io/api/pkg/user" "time" "code.vikunja.io/web" @@ -77,9 +79,9 @@ func (tl *TeamList) Create(s *xorm.Session, a web.Auth) (err error) { } // Check if the team exists - _, err = GetTeamByID(s, tl.TeamID) + team, err := GetTeamByID(s, tl.TeamID) if err != nil { - return + return err } // Check if the list exists @@ -105,6 +107,16 @@ func (tl *TeamList) Create(s *xorm.Session, a web.Auth) (err error) { return err } + doer, err := user.GetFromAuth(a) + if err != nil { + return err + } + err = events.Publish(&ListSharedWithTeamEvent{ + List: l, + Team: team, + Doer: doer, + }) + err = updateListLastUpdated(s, l) return }