Skip to content

Commit 31ee5c9

Browse files
authored
chore: node adapters (#7108)
* chore: node adapters * chore: remove Adapter suffix
1 parent 06dcd35 commit 31ee5c9

File tree

6 files changed

+72
-62
lines changed

6 files changed

+72
-62
lines changed

api/geth_backend.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import (
4646
multiacccommon "github.com/status-im/status-go/multiaccounts/common"
4747
"github.com/status-im/status-go/multiaccounts/settings"
4848
"github.com/status-im/status-go/node"
49+
"github.com/status-im/status-go/node/adapters"
4950
"github.com/status-im/status-go/nodecfg"
5051
"github.com/status-im/status-go/params"
5152
"github.com/status-im/status-go/pkg/sentry"
@@ -2269,8 +2270,8 @@ func (b *GethStatusBackend) initProtocol() error {
22692270
b.statusNode.ChatService(accDB).Init(messenger)
22702271
b.statusNode.EnsService().Init(messenger.SyncEnsNamesWithDispatchMessage)
22712272
b.statusNode.CommunityTokensService().Init(messenger)
2272-
b.statusNode.SharedUrlsService().SetDataProvider(node.NewSharedUrlsMessengerAdapter(messenger))
2273-
b.statusNode.NewsFeedService().SetActivityCenter(node.NewNewsFeedActivityCenterAdapter(messenger))
2273+
b.statusNode.SharedUrlsService().SetDataProvider(adapters.NewSharedUrlsMessengerAdapter(messenger))
2274+
b.statusNode.NewsFeedService().SetActivityCenter(adapters.NewNewsFeedActivityCenterAdapter(messenger))
22742275

22752276
return nil
22762277
}

node/adapters.go

Lines changed: 0 additions & 58 deletions
This file was deleted.

node/adapters/errors.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package adapters
2+
3+
import (
4+
"errors"
5+
)
6+
7+
var (
8+
ErrMessengerNotReady = errors.New("messenger not ready")
9+
)

node/adapters/newsfeed.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package adapters
2+
3+
import (
4+
"github.com/status-im/status-go/protocol"
5+
)
6+
7+
type NewsFeedActivityCenter struct {
8+
messenger *protocol.Messenger
9+
}
10+
11+
func NewNewsFeedActivityCenterAdapter(messenger *protocol.Messenger) *NewsFeedActivityCenter {
12+
return &NewsFeedActivityCenter{
13+
messenger: messenger,
14+
}
15+
}
16+
17+
func (p *NewsFeedActivityCenter) AddNotification(response *protocol.MessengerResponse, notification *protocol.ActivityCenterNotification) error {
18+
if p.messenger == nil {
19+
return ErrMessengerNotReady
20+
}
21+
return p.messenger.AddActivityCenterNotification(response, notification, nil)
22+
}

node/adapters/sharedurls.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package adapters
2+
3+
import (
4+
"github.com/status-im/status-go/crypto/types"
5+
"github.com/status-im/status-go/protocol"
6+
"github.com/status-im/status-go/protocol/communities"
7+
"github.com/status-im/status-go/protocol/contacts"
8+
)
9+
10+
// SharedUrlsMessenger is a wrapper around the messenger to make it compatible with the sharedurls service.
11+
// This is to `return (contact, error)` in `GetContactByID`, which Messenger didn't do atm.
12+
// The return error is needed to enable returning errNoDataProvider in NopDataProvider (nil object pattern).
13+
type SharedUrlsMessenger struct {
14+
messenger *protocol.Messenger
15+
}
16+
17+
func NewSharedUrlsMessengerAdapter(messenger *protocol.Messenger) *SharedUrlsMessenger {
18+
return &SharedUrlsMessenger{
19+
messenger: messenger,
20+
}
21+
}
22+
23+
func (p *SharedUrlsMessenger) GetCommunityByID(communityID types.HexBytes) (*communities.Community, error) {
24+
if p.messenger == nil {
25+
return nil, ErrMessengerNotReady
26+
}
27+
return p.messenger.GetCommunityByID(communityID)
28+
}
29+
30+
func (p *SharedUrlsMessenger) GetContactByID(pubKey string) (*contacts.Contact, error) {
31+
if p.messenger == nil {
32+
return nil, ErrMessengerNotReady
33+
}
34+
return p.messenger.GetContactByID(pubKey), nil
35+
}

node/status_node_services.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"go.uber.org/zap"
99

1010
"github.com/status-im/status-go/internal/timesource"
11+
"github.com/status-im/status-go/node/adapters"
1112
"github.com/status-im/status-go/pkg/featureflags"
1213
"github.com/status-im/status-go/pkg/pubsub"
1314
"github.com/status-im/status-go/server"
@@ -328,7 +329,7 @@ func (b *StatusNode) sharedUrlsService() *sharedurls.Service {
328329
if b.sharedUrlsSrvc == nil {
329330
b.sharedUrlsSrvc = sharedurls.NewService(nil)
330331
if extService := b.WakuV2ExtService(); extService != nil {
331-
provider := NewSharedUrlsMessengerAdapter(extService.Messenger())
332+
provider := adapters.NewSharedUrlsMessengerAdapter(extService.Messenger())
332333
b.sharedUrlsSrvc.SetDataProvider(provider)
333334
}
334335
}
@@ -435,7 +436,7 @@ func (b *StatusNode) NewsFeedService() *newsfeed.Service {
435436
)
436437

437438
if wakuext := b.WakuV2ExtService(); wakuext != nil && wakuext.Messenger() != nil {
438-
ac := NewNewsFeedActivityCenterAdapter(wakuext.Messenger())
439+
ac := adapters.NewNewsFeedActivityCenterAdapter(wakuext.Messenger())
439440
b.newsfeedSrvc.SetActivityCenter(ac)
440441
}
441442
}

0 commit comments

Comments
 (0)