122 lines
2.5 KiB
Go
122 lines
2.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"
|
|
)
|
|
|
|
/////////////////
|
|
// Task Events //
|
|
/////////////////
|
|
|
|
type TaskCreatedEvent struct {
|
|
Task *Task
|
|
Doer *user.User
|
|
}
|
|
|
|
func (t *TaskCreatedEvent) TopicName() string {
|
|
return "task.created"
|
|
}
|
|
|
|
type TaskUpdatedEvent struct {
|
|
Task *Task
|
|
Doer *user.User
|
|
}
|
|
|
|
func (t *TaskUpdatedEvent) TopicName() string {
|
|
return "task.updated"
|
|
}
|
|
|
|
type TaskAssigneeCreatedEvent struct {
|
|
Task *Task
|
|
Assignee *user.User
|
|
Doer *user.User
|
|
}
|
|
|
|
func (t *TaskAssigneeCreatedEvent) TopicName() string {
|
|
return "task.assignee.created"
|
|
}
|
|
|
|
type TaskCommentCreatedEvent struct {
|
|
Task *Task
|
|
Comment *TaskComment
|
|
Doer *user.User
|
|
}
|
|
|
|
func (t *TaskCommentCreatedEvent) TopicName() string {
|
|
return "task.comment.created"
|
|
}
|
|
|
|
//////////////////////
|
|
// Namespace Events //
|
|
//////////////////////
|
|
|
|
type NamespaceCreatedEvent struct {
|
|
Namespace *Namespace
|
|
Doer *user.User
|
|
}
|
|
|
|
func (n *NamespaceCreatedEvent) TopicName() string {
|
|
return "namespace.created"
|
|
}
|
|
|
|
type NamespaceUpdatedEvent struct {
|
|
Namespace *Namespace
|
|
Doer *user.User
|
|
}
|
|
|
|
func (n *NamespaceUpdatedEvent) TopicName() string {
|
|
return "namespace.updated"
|
|
}
|
|
|
|
/////////////////
|
|
// List Events //
|
|
/////////////////
|
|
|
|
type ListCreatedEvent struct {
|
|
List *List
|
|
Doer *user.User
|
|
}
|
|
|
|
func (l *ListCreatedEvent) TopicName() string {
|
|
return "list.created"
|
|
}
|
|
|
|
type ListUpdatedEvent struct {
|
|
List *List
|
|
Doer *user.User
|
|
}
|
|
|
|
func (l *ListUpdatedEvent) TopicName() string {
|
|
return "list.updated"
|
|
}
|
|
|
|
////////////////////
|
|
// Sharing Events //
|
|
////////////////////
|
|
|
|
type ListSharedWithUserEvent struct {
|
|
List *List
|
|
User *user.User
|
|
Doer *user.User
|
|
}
|
|
|
|
func (l *ListSharedWithUserEvent) TopicName() string {
|
|
return "list.shared.user"
|
|
}
|