status-im/status-go

View on GitHub
signal/events_messenger.go

Summary

Maintainability
A
0 mins
Test Coverage
F
40%
package signal

const (
    // EventMediaServerStarted triggers when the media server successfully binds a new port
    EventMediaServerStarted = "mediaserver.started"

    // EventMesssageDelivered triggered when we got acknowledge from datasync level, that means peer got message
    EventMesssageDelivered = "message.delivered"

    // EventCommunityInfoFound triggered when user requested info about some community and messenger successfully
    // retrieved it from mailserver
    EventCommunityInfoFound = "community.found"

    // EventStatusUpdatesTimedOut Event Automatic Status Updates Timed out
    EventStatusUpdatesTimedOut = "status.updates.timedout"

    // EventCuratedCommunitiesUpdate triggered when it is time to refresh the list of curated communities
    EventCuratedCommunitiesUpdate = "curated.communities.update"
)

// MessageDeliveredSignal specifies chat and message that was delivered
type MessageDeliveredSignal struct {
    ChatID    string `json:"chatID"`
    MessageID string `json:"messageID"`
}

// MediaServerStarted specifies chat and message that was delivered
type MediaServerStarted struct {
    Port int `json:"port"`
}

// MessageDeliveredSignal specifies chat and message that was delivered
type CommunityInfoFoundSignal struct {
    Name         string `json:"name"`
    Description  string `json:"description"`
    MembersCount int    `json:"membersCount"`
    Verified     bool   `json:"verified"`
}

// SendMessageDelivered notifies about delivered message
func SendMessageDelivered(chatID string, messageID string) {
    send(EventMesssageDelivered, MessageDeliveredSignal{ChatID: chatID, MessageID: messageID})
}

// SendMediaServerStarted notifies about restarts of the media server
func SendMediaServerStarted(port int) {
    send(EventMediaServerStarted, MediaServerStarted{Port: port})
}

// SendMessageDelivered notifies about delivered message
func SendCommunityInfoFound(community interface{}) {
    send(EventCommunityInfoFound, community)
}

func SendStatusUpdatesTimedOut(statusUpdates interface{}) {
    send(EventStatusUpdatesTimedOut, statusUpdates)
}

func SendCuratedCommunitiesUpdate(curatedCommunitiesUpdate interface{}) {
    send(EventCuratedCommunitiesUpdate, curatedCommunitiesUpdate)
}