Expanded linting + fix warnings (#1396)
* Expand the linters and types of warnings to improve consistency and safety * Fail lint workflow if there are errors * golint has been replaced by revive * Hand-pick some of the default exclude list * Ignore error when trying to delete preview gif * Ignore linter warning opening playlist path * Rename user field Id -> ID * A bunch of renames to address linter warnings * Rename ChatClient -> Client per linter suggestion best practice * Rename ChatServer -> Server per linter suggestion best practice * More linter warning fixes * Add missing comments to all exported functions and properties
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"github.com/owncast/owncast/models"
|
||||
)
|
||||
|
||||
// SendChatEvent will send a chat event to webhook destinations.
|
||||
func SendChatEvent(chatEvent *events.UserMessageEvent) {
|
||||
webhookEvent := WebhookEvent{
|
||||
Type: chatEvent.GetMessageType(),
|
||||
@@ -12,7 +13,7 @@ func SendChatEvent(chatEvent *events.UserMessageEvent) {
|
||||
User: chatEvent.User,
|
||||
Body: chatEvent.Body,
|
||||
RawBody: chatEvent.RawBody,
|
||||
ID: chatEvent.Id,
|
||||
ID: chatEvent.ID,
|
||||
Visible: chatEvent.HiddenAt == nil,
|
||||
Timestamp: &chatEvent.Timestamp,
|
||||
},
|
||||
@@ -21,6 +22,7 @@ func SendChatEvent(chatEvent *events.UserMessageEvent) {
|
||||
SendEventToWebhooks(webhookEvent)
|
||||
}
|
||||
|
||||
// SendChatEventUsernameChanged will send a username changed event to webhook destinations.
|
||||
func SendChatEventUsernameChanged(event events.NameChangeEvent) {
|
||||
webhookEvent := WebhookEvent{
|
||||
Type: models.UserNameChanged,
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"github.com/teris-io/shortid"
|
||||
)
|
||||
|
||||
// SendStreamStatusEvent will send all webhook destinations the current stream status.
|
||||
func SendStreamStatusEvent(eventType models.EventType) {
|
||||
SendEventToWebhooks(WebhookEvent{
|
||||
Type: eventType,
|
||||
|
||||
@@ -14,11 +14,13 @@ import (
|
||||
"github.com/owncast/owncast/models"
|
||||
)
|
||||
|
||||
// WebhookEvent represents an event sent as a webhook.
|
||||
type WebhookEvent struct {
|
||||
Type models.EventType `json:"type"` // messageSent | userJoined | userNameChange
|
||||
EventData interface{} `json:"eventData,omitempty"`
|
||||
}
|
||||
|
||||
// WebhookChatMessage represents a single chat message sent as a webhook payload.
|
||||
type WebhookChatMessage struct {
|
||||
User *user.User `json:"user,omitempty"`
|
||||
Body string `json:"body,omitempty"`
|
||||
@@ -28,6 +30,7 @@ type WebhookChatMessage struct {
|
||||
Timestamp *time.Time `json:"timestamp,omitempty"`
|
||||
}
|
||||
|
||||
// SendEventToWebhooks will send a single webhook event to all webhook destinations.
|
||||
func SendEventToWebhooks(payload WebhookEvent) {
|
||||
webhooks := data.GetWebhooksForEvent(payload.Type)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user