vikunja/pkg/models/events.go

62 lines
1.5 KiB
Go

// Vikunja is a to-do list application to facilitate your life.
// Copyright 2018-2021 Vikunja and contributors. All rights reserved.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public Licensee as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public Licensee for more details.
//
// You should have received a copy of the GNU Affero General Public Licensee
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package models
import (
"code.vikunja.io/api/pkg/user"
)
type TaskCreatedEvent struct {
Task *Task
Doer *user.User
}
func (t *TaskCreatedEvent) TopicName() string {
return "task.created"
}
func (t *TaskCreatedEvent) Message() interface{} {
return t
}
type TaskUpdatedEvent struct {
Task *Task
Doer *user.User
}
func (t *TaskUpdatedEvent) TopicName() string {
return "task.updated"
}
func (t *TaskUpdatedEvent) Message() interface{} {
return t
}
type TaskAssigneeCreatedEvent struct {
Task *Task
Assignee *user.User
Doer *user.User
}
func (t *TaskAssigneeCreatedEvent) TopicName() string {
return "task.assignee.created"
}
func (t *TaskAssigneeCreatedEvent) Message() interface{} {
return t
}