* feat: Adds a webhook for when a user follow the stream Frontend: Adds a checkbox which renders only when social features are enabled. Backend: - Defines a new type for the event - Implements the webhook including unit testing - Fires the webhook inside the ApproveFollower handler * Removes unnecessary Type fiels from Events struct * refactor: renames SendUserFollowedEvent func to FediverseEngagementFollow and fixes linting errors * fix: fixes unit test to reflect removed Type field from FediverseEngagementFollowEvent * feat: fires webhook also when manual approvals are not required * chore: slight cleanup --------- Co-authored-by: Gabe Kangas <gabek@real-ity.com>
20 lines
352 B
Go
20 lines
352 B
Go
package events
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/teris-io/shortid"
|
|
)
|
|
|
|
// Event is any kind of event.
|
|
type Event struct {
|
|
Timestamp time.Time `json:"timestamp"`
|
|
ID string `json:"id"`
|
|
}
|
|
|
|
// SetDefaults will set default properties of all inbound events.
|
|
func (e *Event) SetDefaults() {
|
|
e.ID = shortid.MustGenerate()
|
|
e.Timestamp = time.Now()
|
|
}
|