2025-12-11 09:03:36 +01:00
|
|
|
package messaging
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"crypto/ecdsa"
|
|
|
|
|
|
2026-03-20 14:41:49 +00:00
|
|
|
"github.com/status-im/status-go/internal/connection"
|
2026-04-16 13:22:54 +01:00
|
|
|
adapters "github.com/status-im/status-go/pkg/messaging/adapters"
|
|
|
|
|
types "github.com/status-im/status-go/pkg/messaging/types"
|
2025-12-11 09:03:36 +01:00
|
|
|
)
|
|
|
|
|
|
2026-04-16 13:22:54 +01:00
|
|
|
func (a *API) RetrieveRawAll() (map[types.ChatFilter][]*types.ReceivedMessage, error) {
|
2025-12-11 09:03:36 +01:00
|
|
|
filters, err := a.core.stack.Transport.RetrieveRawAll()
|
|
|
|
|
if err != nil {
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
2026-04-16 13:22:54 +01:00
|
|
|
chatFilters := make(map[types.ChatFilter][]*types.ReceivedMessage)
|
2025-12-11 09:03:36 +01:00
|
|
|
for k, v := range filters {
|
2026-04-16 13:22:54 +01:00
|
|
|
chatFilters[*adapters.FromTransportFilter(&k)] = adapters.FromWakuMessages(v)
|
2025-12-11 09:03:36 +01:00
|
|
|
}
|
|
|
|
|
return chatFilters, nil
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-16 13:22:54 +01:00
|
|
|
func (a *API) HandleReceivedMessages(msg *types.ReceivedMessage) (*types.HandleMessageResponse, error) {
|
2025-12-11 09:03:36 +01:00
|
|
|
return a.core.controller.Processor().ProcessMessage(msg)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (a *API) ConfirmMessagesProcessed(ids []string, timestamp uint64) error {
|
|
|
|
|
return a.core.stack.Transport.ConfirmMessagesProcessed(ids, timestamp)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (a *API) CleanMessagesProcessed(timestamp uint64) error {
|
|
|
|
|
return a.core.stack.Transport.CleanMessagesProcessed(timestamp)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (a *API) ClearProcessedMessageIDsCache() error {
|
|
|
|
|
return a.core.stack.Transport.ClearProcessedMessageIDsCache()
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-16 13:22:54 +01:00
|
|
|
func (a *API) SetEnvelopeEventsHandler(handler types.EnvelopeEventsHandler) error {
|
2025-12-11 09:03:36 +01:00
|
|
|
return a.core.stack.Transport.SetEnvelopeEventsHandler(handler)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (a *API) ReportUserOnline(publicKey *ecdsa.PublicKey, eventTime uint64) {
|
|
|
|
|
a.core.stack.Reliability.ReportPeerOnline(publicKey, eventTime)
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-16 13:22:54 +01:00
|
|
|
func (a *API) EncryptionSubscriptions() *types.EncryptionSubscriptions {
|
|
|
|
|
return adapters.FromEncryptionSubscriptions(a.core.stack.Encryption.Subscriptions())
|
2025-12-11 09:03:36 +01:00
|
|
|
}
|
2026-03-20 14:41:49 +00:00
|
|
|
|
|
|
|
|
func (a *API) ConnectionChanged(state connection.State) {
|
|
|
|
|
a.core.connectionChanged(state)
|
|
|
|
|
}
|