move syncRooms

This commit is contained in:
Aine
2022-08-23 19:25:45 +03:00
parent 81abe8c785
commit 9eec8738f9
2 changed files with 25 additions and 26 deletions

View File

@@ -61,6 +61,31 @@ func (b *Bot) migrate() error {
return nil return nil
} }
func (b *Bot) syncRooms(ctx context.Context) error {
b.roomsmu.Lock()
defer b.roomsmu.Unlock()
span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("syncRooms"))
defer span.Finish()
resp, err := b.lp.GetClient().JoinedRooms()
if err != nil {
return err
}
b.rooms = make(map[string]id.RoomID, len(resp.JoinedRooms))
for _, roomID := range resp.JoinedRooms {
cfg, serr := b.getSettings(span.Context(), roomID)
if serr != nil {
b.log.Warn("cannot get %s settings: %v", roomID, err)
continue
}
if cfg.Mailbox != "" {
b.rooms[cfg.Mailbox] = roomID
}
}
return nil
}
func (b *Bot) getSettings(ctx context.Context, roomID id.RoomID) (settings, error) { func (b *Bot) getSettings(ctx context.Context, roomID id.RoomID) (settings, error) {
span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("getSettings")) span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("getSettings"))
defer span.Finish() defer span.Finish()

View File

@@ -7,34 +7,8 @@ import (
"gitlab.com/etke.cc/postmoogle/utils" "gitlab.com/etke.cc/postmoogle/utils"
"maunium.net/go/mautrix/event" "maunium.net/go/mautrix/event"
"maunium.net/go/mautrix/format" "maunium.net/go/mautrix/format"
"maunium.net/go/mautrix/id"
) )
func (b *Bot) syncRooms(ctx context.Context) error {
b.roomsmu.Lock()
defer b.roomsmu.Unlock()
span := sentry.StartSpan(ctx, "http.server", sentry.TransactionName("syncRooms"))
defer span.Finish()
resp, err := b.lp.GetClient().JoinedRooms()
if err != nil {
return err
}
b.rooms = make(map[string]id.RoomID, len(resp.JoinedRooms))
for _, roomID := range resp.JoinedRooms {
cfg, serr := b.getSettings(span.Context(), roomID)
if serr != nil {
b.log.Warn("cannot get %s settings: %v", roomID, err)
continue
}
if cfg.Mailbox != "" {
b.rooms[cfg.Mailbox] = roomID
}
}
return nil
}
func (b *Bot) handleMailbox(ctx context.Context, evt *event.Event, command []string) { func (b *Bot) handleMailbox(ctx context.Context, evt *event.Event, command []string) {
if len(command) == 1 { if len(command) == 1 {
b.getMailbox(ctx, evt) b.getMailbox(ctx, evt)