fix(events): defer event dispatch for task sub-entities
Convert events.Dispatch to events.DispatchOnCommit in task assignees, comments, attachments, relations, and kanban bucket operations. Refs #2315
This commit is contained in:
parent
3eb289262f
commit
fe459c9297
|
|
@ -240,8 +240,9 @@ func (b *TaskBucket) Update(s *xorm.Session, a web.Auth) (err error) {
|
|||
}
|
||||
|
||||
doer, _ := user.GetFromAuth(a)
|
||||
return events.Dispatch(&TaskUpdatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskUpdatedEvent{
|
||||
Task: b.Task,
|
||||
Doer: doer,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,18 +187,16 @@ func (la *TaskAssginee) Delete(s *xorm.Session, a web.Auth) (err error) {
|
|||
return err
|
||||
}
|
||||
|
||||
err = events.Dispatch(&TaskAssigneeDeletedEvent{
|
||||
events.DispatchOnCommit(s, &TaskAssigneeDeletedEvent{
|
||||
Task: &task,
|
||||
Assignee: &user.User{ID: la.UserID},
|
||||
Doer: doer,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return events.Dispatch(&TaskUpdatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskUpdatedEvent{
|
||||
Task: &task,
|
||||
Doer: doer,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// Create adds a new assignee to a task
|
||||
|
|
@ -277,21 +275,15 @@ func (t *Task) addNewAssigneeByID(s *xorm.Session, newAssigneeID int64, project
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = events.Dispatch(&TaskAssigneeCreatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskAssigneeCreatedEvent{
|
||||
Task: &task,
|
||||
Assignee: newAssignee,
|
||||
Doer: doer,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = events.Dispatch(&TaskUpdatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskUpdatedEvent{
|
||||
Task: &task,
|
||||
Doer: doer,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = updateProjectLastUpdated(s, &Project{ID: t.ProjectID})
|
||||
return
|
||||
|
|
|
|||
|
|
@ -97,11 +97,12 @@ func (ta *TaskAttachment) NewAttachment(s *xorm.Session, f io.ReadSeeker, realna
|
|||
return err
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskAttachmentCreatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskAttachmentCreatedEvent{
|
||||
Task: &task,
|
||||
Attachment: ta,
|
||||
Doer: ta.CreatedBy,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// ReadOne returns a task attachment
|
||||
|
|
@ -348,11 +349,12 @@ func (ta *TaskAttachment) Delete(s *xorm.Session, a web.Auth) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskAttachmentDeletedEvent{
|
||||
events.DispatchOnCommit(s, &TaskAttachmentDeletedEvent{
|
||||
Task: &task,
|
||||
Attachment: ta,
|
||||
Doer: doer,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func getTaskAttachmentsByTaskIDs(s *xorm.Session, taskIDs []int64) (attachments []*TaskAttachment, err error) {
|
||||
|
|
|
|||
|
|
@ -99,11 +99,12 @@ func (tc *TaskComment) CreateWithTimestamps(s *xorm.Session, a web.Auth) (err er
|
|||
}
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskCommentCreatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskCommentCreatedEvent{
|
||||
Task: &task,
|
||||
Comment: tc,
|
||||
Doer: tc.Author,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// Delete removes a task comment
|
||||
|
|
@ -144,11 +145,12 @@ func (tc *TaskComment) Delete(s *xorm.Session, a web.Auth) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskCommentDeletedEvent{
|
||||
events.DispatchOnCommit(s, &TaskCommentDeletedEvent{
|
||||
Task: &task,
|
||||
Comment: tc,
|
||||
Doer: doer,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// Update updates a task text by its ID
|
||||
|
|
@ -183,11 +185,12 @@ func (tc *TaskComment) Update(s *xorm.Session, _ web.Auth) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskCommentUpdatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskCommentUpdatedEvent{
|
||||
Task: &task,
|
||||
Comment: tc,
|
||||
Doer: tc.Author,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func getTaskCommentSimple(s *xorm.Session, tc *TaskComment) error {
|
||||
|
|
|
|||
|
|
@ -262,11 +262,12 @@ func (rel *TaskRelation) Create(s *xorm.Session, a web.Auth) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskRelationCreatedEvent{
|
||||
events.DispatchOnCommit(s, &TaskRelationCreatedEvent{
|
||||
Task: &task,
|
||||
Relation: rel,
|
||||
Doer: doer,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
// ReadOne returns a task relation
|
||||
|
|
@ -343,9 +344,10 @@ func (rel *TaskRelation) Delete(s *xorm.Session, a web.Auth) error {
|
|||
return err
|
||||
}
|
||||
|
||||
return events.Dispatch(&TaskRelationDeletedEvent{
|
||||
events.DispatchOnCommit(s, &TaskRelationDeletedEvent{
|
||||
Task: &task,
|
||||
Relation: rel,
|
||||
Doer: doer,
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue