Add events #777
|
@ -16,8 +16,11 @@
|
|||
|
||||
package models
|
||||
|
||||
import "code.vikunja.io/api/pkg/user"
|
||||
|
||||
type TaskCreatedEvent struct {
|
||||
Task *Task
|
||||
Doer *user.User
|
||||
}
|
||||
|
||||
func (t *TaskCreatedEvent) TopicName() string {
|
||||
|
@ -25,5 +28,5 @@ func (t *TaskCreatedEvent) TopicName() string {
|
|||
}
|
||||
|
||||
func (t *TaskCreatedEvent) Message() interface{} {
|
||||
return t.Task
|
||||
return t
|
||||
}
|
||||
|
|
|
@ -32,12 +32,12 @@ type SendTaskCreatedNotification struct {
|
|||
}
|
||||
|
||||
func (s *SendTaskCreatedNotification) Handle(payload message.Payload) (err error) {
|
||||
task := &Task{}
|
||||
err = json.Unmarshal(payload, task)
|
||||
event := &TaskCreatedEvent{}
|
||||
err = json.Unmarshal(payload, event)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
log.Debugf("task.created: %v", task)
|
||||
log.Debugf("task.created: %v", event)
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -829,7 +829,11 @@ func createTask(s *xorm.Session, t *Task, a web.Auth, updateAssignees bool) (err
|
|||
|
||||
t.setIdentifier(l)
|
||||
|
||||
if err := events.Publish(&TaskCreatedEvent{Task: t}); err != nil {
|
||||
err = events.Publish(&TaskCreatedEvent{
|
||||
Task: t,
|
||||
Doer: t.CreatedBy,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue