Add events #777
|
@ -83,3 +83,16 @@ type NamespaceUpdatedEvent struct {
|
||||||
func (n *NamespaceUpdatedEvent) TopicName() string {
|
func (n *NamespaceUpdatedEvent) TopicName() string {
|
||||||
return "namespace.updated"
|
return "namespace.updated"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/////////////////
|
||||||
|
// List Events //
|
||||||
|
/////////////////
|
||||||
|
|
||||||
|
type ListCreatedEvent struct {
|
||||||
|
List *List
|
||||||
|
Doer *user.User
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *ListCreatedEvent) TopicName() string {
|
||||||
|
return "list.created"
|
||||||
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"code.vikunja.io/api/pkg/events"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
@ -599,7 +600,15 @@ func (l *List) Create(s *xorm.Session, a web.Auth) (err error) {
|
||||||
ListID: l.ID,
|
ListID: l.ID,
|
||||||
Title: "New Bucket",
|
Title: "New Bucket",
|
||||||
}
|
}
|
||||||
return b.Create(s, a)
|
err = b.Create(s, a)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return events.Publish(&ListCreatedEvent{
|
||||||
|
List: l,
|
||||||
|
Doer: doer,
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// Delete implements the delete method of CRUDable
|
// Delete implements the delete method of CRUDable
|
||||||
|
|
|
@ -479,13 +479,9 @@ func (n *Namespace) Create(s *xorm.Session, a web.Auth) (err error) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
doer, err := user.GetFromAuth(a)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
err = events.Publish(&NamespaceCreatedEvent{
|
err = events.Publish(&NamespaceCreatedEvent{
|
||||||
Namespace: n,
|
Namespace: n,
|
||||||
Doer: doer,
|
Doer: n.Owner,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
Loading…
Reference in New Issue