From 39635cc487631fb827d7638c4f03a775ef9e16fc Mon Sep 17 00:00:00 2001 From: kolaente Date: Sun, 31 Jan 2021 21:55:10 +0100 Subject: [PATCH] Add namespace created event --- pkg/models/events.go | 9 +++++++++ pkg/models/namespace.go | 13 +++++++++++++ 2 files changed, 22 insertions(+) diff --git a/pkg/models/events.go b/pkg/models/events.go index faa1994d1..3aa7c7346 100644 --- a/pkg/models/events.go +++ b/pkg/models/events.go @@ -57,3 +57,12 @@ type TaskCommentCreatedEvent struct { func (t *TaskCommentCreatedEvent) TopicName() string { return "task.comment.created" } + +type NamespaceCreatedEvent struct { + Namespace *Namespace + Doer *user.User +} + +func (n *NamespaceCreatedEvent) TopicName() string { + return "namespace.created" +} diff --git a/pkg/models/namespace.go b/pkg/models/namespace.go index 277f452d8..2896f7186 100644 --- a/pkg/models/namespace.go +++ b/pkg/models/namespace.go @@ -17,6 +17,7 @@ package models import ( + "code.vikunja.io/api/pkg/events" "sort" "strconv" "strings" @@ -478,6 +479,18 @@ func (n *Namespace) Create(s *xorm.Session, a web.Auth) (err error) { return err } + doer, err := user.GetFromAuth(a) + if err != nil { + return err + } + err = events.Publish(&NamespaceCreatedEvent{ + Namespace: n, + Doer: doer, + }) + if err != nil { + return err + } + metrics.UpdateCount(1, metrics.NamespaceCountKey) return }