backend for xcvr appview
1package recordmanager
2
3import (
4 "rvcx/internal/db"
5 "rvcx/internal/log"
6 "rvcx/internal/oauth"
7 "rvcx/internal/types"
8)
9
10type LexBroadcaster interface {
11 BroadcastSignet(uri string, s *types.Signet) error
12 BroadcastMessage(uri string, m *types.Message) error
13 BroadcastImage(uri string, i *types.Image) error
14 AddChannel(c *types.Channel) error
15 UpdateChannel(c *types.Channel) error
16 DeleteChannel(uri string) error
17}
18
19type RecordManager struct {
20 log *log.Logger
21 db *db.Store
22 myClient *oauth.PasswordClient
23 service *oauth.Service
24 broadcaster LexBroadcaster
25}
26
27func New(log *log.Logger, db *db.Store, myClient *oauth.PasswordClient, service *oauth.Service) *RecordManager {
28 return &RecordManager{log, db, myClient, service, nil}
29}
30
31func (rm *RecordManager) SetBroadcaster(b LexBroadcaster) {
32 rm.broadcaster = b
33}