80 lines
2.7 KiB
Go
80 lines
2.7 KiB
Go
package ext
|
|
|
|
import (
|
|
"github.com/status-im/status-go/eth-node/types"
|
|
"github.com/status-im/status-go/protocol"
|
|
"github.com/status-im/status-go/protocol/communities"
|
|
"github.com/status-im/status-go/signal"
|
|
)
|
|
|
|
// EnvelopeSignalHandler sends signals when envelope is sent or expired.
|
|
type EnvelopeSignalHandler struct{}
|
|
|
|
// EnvelopeSent triggered when envelope delivered atleast to 1 peer.
|
|
func (h EnvelopeSignalHandler) EnvelopeSent(identifiers [][]byte) {
|
|
signal.SendEnvelopeSent(identifiers)
|
|
}
|
|
|
|
// EnvelopeExpired triggered when envelope is expired but wasn't delivered to any peer.
|
|
func (h EnvelopeSignalHandler) EnvelopeExpired(identifiers [][]byte, err error) {
|
|
signal.SendEnvelopeExpired(identifiers, err)
|
|
}
|
|
|
|
// MailServerRequestCompleted triggered when the mailserver sends a message to notify that the request has been completed
|
|
func (h EnvelopeSignalHandler) MailServerRequestCompleted(requestID types.Hash, lastEnvelopeHash types.Hash, cursor []byte, err error) {
|
|
signal.SendMailServerRequestCompleted(requestID, lastEnvelopeHash, cursor, err)
|
|
}
|
|
|
|
// MailServerRequestExpired triggered when the mailserver request expires
|
|
func (h EnvelopeSignalHandler) MailServerRequestExpired(hash types.Hash) {
|
|
signal.SendMailServerRequestExpired(hash)
|
|
}
|
|
|
|
// PublisherSignalHandler sends signals on protocol events
|
|
type PublisherSignalHandler struct{}
|
|
|
|
func (h PublisherSignalHandler) DecryptMessageFailed(pubKey string) {
|
|
signal.SendDecryptMessageFailed(pubKey)
|
|
}
|
|
|
|
func (h PublisherSignalHandler) BundleAdded(identity string, installationID string) {
|
|
signal.SendBundleAdded(identity, installationID)
|
|
}
|
|
|
|
func (h PublisherSignalHandler) NewMessages(response *protocol.MessengerResponse) {
|
|
signal.SendNewMessages(response)
|
|
}
|
|
|
|
func (h PublisherSignalHandler) Stats(stats types.StatsSummary) {
|
|
signal.SendStats(stats)
|
|
}
|
|
|
|
// MessengerSignalHandler sends signals on messenger events
|
|
type MessengerSignalsHandler struct{}
|
|
|
|
// MessageDelivered passes information that message was delivered
|
|
func (m MessengerSignalsHandler) MessageDelivered(chatID string, messageID string) {
|
|
signal.SendMessageDelivered(chatID, messageID)
|
|
}
|
|
|
|
// MessageDelivered passes info about community that was requested before
|
|
func (m MessengerSignalsHandler) CommunityInfoFound(community *communities.Community) {
|
|
signal.SendCommunityInfoFound(community)
|
|
}
|
|
|
|
func (m *MessengerSignalsHandler) MessengerResponse(response *protocol.MessengerResponse) {
|
|
PublisherSignalHandler{}.NewMessages(response)
|
|
}
|
|
|
|
func (m *MessengerSignalsHandler) HistoryRequestStarted() {
|
|
signal.SendHistoricMessagesRequestStarted()
|
|
}
|
|
|
|
func (m *MessengerSignalsHandler) HistoryRequestFailed(err error) {
|
|
signal.SendHistoricMessagesRequestFailed(err)
|
|
}
|
|
|
|
func (m *MessengerSignalsHandler) HistoryRequestCompleted() {
|
|
signal.SendHistoricMessagesRequestCompleted()
|
|
}
|