Add task comment created event
This commit is contained in:
parent
73bed1ce31
commit
d29beac898
|
@ -59,3 +59,17 @@ func (t *TaskAssigneeCreatedEvent) TopicName() string {
|
||||||
func (t *TaskAssigneeCreatedEvent) Message() interface{} {
|
func (t *TaskAssigneeCreatedEvent) Message() interface{} {
|
||||||
return t
|
return t
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type TaskCommentCreatedEvent struct {
|
||||||
|
Task *Task
|
||||||
|
Comment *TaskComment
|
||||||
|
Doer *user.User
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *TaskCommentCreatedEvent) TopicName() string {
|
||||||
|
return "task.comment.created"
|
||||||
|
}
|
||||||
|
|
||||||
|
func (t *TaskCommentCreatedEvent) Message() interface{} {
|
||||||
|
return t
|
||||||
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package models
|
package models
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"code.vikunja.io/api/pkg/events"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"xorm.io/xorm"
|
"xorm.io/xorm"
|
||||||
|
@ -60,7 +61,7 @@ func (tc *TaskComment) TableName() string {
|
||||||
// @Router /tasks/{taskID}/comments [put]
|
// @Router /tasks/{taskID}/comments [put]
|
||||||
func (tc *TaskComment) Create(s *xorm.Session, a web.Auth) (err error) {
|
func (tc *TaskComment) Create(s *xorm.Session, a web.Auth) (err error) {
|
||||||
// Check if the task exists
|
// Check if the task exists
|
||||||
_, err = GetTaskSimple(s, &Task{ID: tc.TaskID})
|
task, err := GetTaskSimple(s, &Task{ID: tc.TaskID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -70,6 +71,20 @@ func (tc *TaskComment) Create(s *xorm.Session, a web.Auth) (err error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
doer, err := user.GetFromAuth(a)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = events.Publish(&TaskCommentCreatedEvent{
|
||||||
|
Task: &task,
|
||||||
|
Comment: tc,
|
||||||
|
Doer: doer,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
tc.Author, err = user.GetUserByID(s, a.GetID())
|
tc.Author, err = user.GetUserByID(s, a.GetID())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue