Skip to content

Commit

Permalink
don't create messagix.Client until Connect
Browse files Browse the repository at this point in the history
  • Loading branch information
JJTech0130 committed Jul 3, 2024
1 parent 619688a commit 63b992c
Showing 1 changed file with 18 additions and 14 deletions.
32 changes: 18 additions & 14 deletions pkg/connector/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ import (
)

type MetaClient struct {
Main *MetaConnector
client *messagix.Client
log zerolog.Logger
login *bridgev2.UserLogin
Main *MetaConnector
client *messagix.Client
log zerolog.Logger
cookies *cookies.Cookies
login *bridgev2.UserLogin
}

func cookiesFromMetadata(metadata map[string]interface{}) *cookies.Cookies {
Expand All @@ -39,20 +40,17 @@ func cookiesFromMetadata(metadata map[string]interface{}) *cookies.Cookies {

func NewMetaClient(ctx context.Context, main *MetaConnector, login *bridgev2.UserLogin) (*MetaClient, error) {
cookies := cookiesFromMetadata(login.Metadata.Extra)
login.Metadata.Extra["cookies"] = cookies

log := login.User.Log.With().Str("component", "messagix").Logger()
client := messagix.NewClient(cookies, log)

return &MetaClient{
Main: main,
client: client,
log: login.User.Log,
login: login,
Main: main,
cookies: cookies,
log: login.User.Log,
login: login,
}, nil
}

func (m *MetaClient) Update(ctx context.Context) error {
m.login.Metadata.Extra["cookies"] = m.cookies
err := m.login.Save(ctx)
if err != nil {
return fmt.Errorf("failed to save updated cookies: %w", err)
Expand Down Expand Up @@ -146,6 +144,10 @@ func (m *MetaClient) eventHandler(rawEvt any) {
}

func (m *MetaClient) Connect(ctx context.Context) error {
log := m.login.User.Log.With().Str("component", "messagix").Logger()
client := messagix.NewClient(m.cookies, log)
m.client = client

// We have to call this before calling `Connect`, even if we don't use the result
_, _, err := m.client.LoadMessagesPage()
if err != nil {
Expand All @@ -163,9 +165,11 @@ func (m *MetaClient) Connect(ctx context.Context) error {
return nil
}

// Disconnect implements bridgev2.NetworkAPI.
func (m *MetaClient) Disconnect() {
panic("unimplemented")
if m.client != nil {
m.client.Disconnect()
}
m.client = nil
}

// GetCapabilities implements bridgev2.NetworkAPI.
Expand Down

0 comments on commit 63b992c

Please sign in to comment.