// 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 . 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" } // TaskDeletedEvent represents a TaskDeletedEvent event type TaskDeletedEvent struct { Task *Task Doer *user.User } // TopicName defines the name for TaskDeletedEvent func (t *TaskDeletedEvent) TopicName() string { return "task.deleted" } 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" } // NamespaceDeletedEvent represents a NamespaceDeletedEvent event type NamespaceDeletedEvent struct { Namespace *Namespace Doer *user.User } // TopicName defines the name for NamespaceDeletedEvent func (t *NamespaceDeletedEvent) TopicName() string { return "namespace.deleted" } ///////////////// // 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" } type ListDeletedEvent struct { List *List Doer *user.User } func (t *ListDeletedEvent) TopicName() string { return "list.deleted" } //////////////////// // Sharing Events // //////////////////// type ListSharedWithUserEvent struct { List *List User *user.User Doer *user.User } func (l *ListSharedWithUserEvent) TopicName() string { return "list.shared.user" } type ListSharedWithTeamEvent struct { List *List Team *Team Doer *user.User } func (l *ListSharedWithTeamEvent) TopicName() string { return "list.shared.team" } type NamespaceSharedWithUserEvent struct { Namespace *Namespace User *user.User Doer *user.User } func (n *NamespaceSharedWithUserEvent) TopicName() string { return "namespace.shared.user" } type NamespaceSharedWithTeamEvent struct { Namespace *Namespace Team *Team Doer *user.User } func (n *NamespaceSharedWithTeamEvent) TopicName() string { return "namespace.shared.team" } ///////////////// // Team Events // ///////////////// type TeamMemberAddedEvent struct { Team *Team Member *user.User Doer *user.User } func (t *TeamMemberAddedEvent) TopicName() string { return "team.member.added" }