From a8efb5901e72f089230249c2bb5432cda85e2890 Mon Sep 17 00:00:00 2001 From: Caleb Doxsey Date: Mon, 22 Apr 2024 10:52:21 -0600 Subject: [PATCH] clean up context --- internal/identity/manager/manager.go | 12 +++++----- internal/identity/manager/sync.go | 34 +++++++++++++++------------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/internal/identity/manager/manager.go b/internal/identity/manager/manager.go index cf4054da2..5a8d5bc34 100644 --- a/internal/identity/manager/manager.go +++ b/internal/identity/manager/manager.go @@ -3,6 +3,7 @@ package manager import ( "context" + "fmt" "sync" "time" @@ -81,14 +82,14 @@ func (mgr *Manager) RunLeased(ctx context.Context) error { }) eg, ctx := errgroup.WithContext(ctx) eg.Go(func() error { - sessionSyncer := newSessionSyncer(mgr) + sessionSyncer := newSessionSyncer(ctx, mgr) defer sessionSyncer.Close() - return sessionSyncer.Run(ctx) + return fmt.Errorf("session syncer error: %w", sessionSyncer.Run(ctx)) }) eg.Go(func() error { - userSyncer := newUserSyncer(mgr) + userSyncer := newUserSyncer(ctx, mgr) defer userSyncer.Close() - return userSyncer.Run(ctx) + return fmt.Errorf("user syncer error: %w", userSyncer.Run(ctx)) }) return eg.Wait() } @@ -296,7 +297,7 @@ func (mgr *Manager) updateUserInfo(ctx context.Context, userID string) { continue } - err := authenticator.UpdateUserInfo(ctx, FromOAuthToken(s.GetOauthToken()), newMultiUnmarshaler(newUserUnmarshaler(u), newSessionUnmarshaler(s))) + err := authenticator.UpdateUserInfo(ctx, FromOAuthToken(s.GetOauthToken()), newUserUnmarshaler(u)) metrics.RecordIdentityManagerUserRefresh(ctx, err) mgr.recordLastError(metrics_ids.IdentityManagerLastUserRefreshError, err) if isTemporaryError(err) { @@ -314,7 +315,6 @@ func (mgr *Manager) updateUserInfo(ctx context.Context, userID string) { continue } - mgr.updateSession(ctx, s) mgr.updateUser(ctx, u) } } diff --git a/internal/identity/manager/sync.go b/internal/identity/manager/sync.go index b588d804c..d50fdbff6 100644 --- a/internal/identity/manager/sync.go +++ b/internal/identity/manager/sync.go @@ -11,66 +11,68 @@ import ( ) type sessionSyncerHandler struct { + ctx context.Context mgr *Manager } -func newSessionSyncer(mgr *Manager) *databroker.Syncer { - return databroker.NewSyncer("identity_manager/sessions", sessionSyncerHandler{mgr: mgr}, +func newSessionSyncer(ctx context.Context, mgr *Manager) *databroker.Syncer { + return databroker.NewSyncer("identity_manager/sessions", sessionSyncerHandler{ctx: ctx, mgr: mgr}, databroker.WithTypeURL(grpcutil.GetTypeURL(new(session.Session)))) } -func (h sessionSyncerHandler) ClearRecords(ctx context.Context) { - h.mgr.onDeleteAllSessions(ctx) +func (h sessionSyncerHandler) ClearRecords(_ context.Context) { + h.mgr.onDeleteAllSessions(h.ctx) } func (h sessionSyncerHandler) GetDataBrokerServiceClient() databroker.DataBrokerServiceClient { return h.mgr.cfg.Load().dataBrokerClient } -func (h sessionSyncerHandler) UpdateRecords(ctx context.Context, _ uint64, records []*databroker.Record) { +func (h sessionSyncerHandler) UpdateRecords(_ context.Context, _ uint64, records []*databroker.Record) { for _, record := range records { if record.GetDeletedAt() != nil { - h.mgr.onDeleteSession(ctx, record.GetId()) + h.mgr.onDeleteSession(h.ctx, record.GetId()) } else { var s session.Session err := record.Data.UnmarshalTo(&s) if err != nil { - log.Ctx(ctx).Warn().Err(err).Msg("invalid data in session record, ignoring") + log.Ctx(h.ctx).Warn().Err(err).Msg("invalid data in session record, ignoring") } else { - h.mgr.onUpdateSession(ctx, &s) + h.mgr.onUpdateSession(h.ctx, &s) } } } } type userSyncerHandler struct { + ctx context.Context mgr *Manager } -func newUserSyncer(mgr *Manager) *databroker.Syncer { - return databroker.NewSyncer("identity_manager/users", userSyncerHandler{mgr: mgr}, +func newUserSyncer(ctx context.Context, mgr *Manager) *databroker.Syncer { + return databroker.NewSyncer("identity_manager/users", userSyncerHandler{ctx: ctx, mgr: mgr}, databroker.WithTypeURL(grpcutil.GetTypeURL(new(user.User)))) } -func (h userSyncerHandler) ClearRecords(ctx context.Context) { - h.mgr.onDeleteAllUsers(ctx) +func (h userSyncerHandler) ClearRecords(_ context.Context) { + h.mgr.onDeleteAllUsers(h.ctx) } func (h userSyncerHandler) GetDataBrokerServiceClient() databroker.DataBrokerServiceClient { return h.mgr.cfg.Load().dataBrokerClient } -func (h userSyncerHandler) UpdateRecords(ctx context.Context, _ uint64, records []*databroker.Record) { +func (h userSyncerHandler) UpdateRecords(_ context.Context, _ uint64, records []*databroker.Record) { for _, record := range records { if record.GetDeletedAt() != nil { - h.mgr.onDeleteUser(ctx, record.GetId()) + h.mgr.onDeleteUser(h.ctx, record.GetId()) } else { var u user.User err := record.Data.UnmarshalTo(&u) if err != nil { - log.Ctx(ctx).Warn().Err(err).Msg("invalid data in user record, ignoring") + log.Ctx(h.ctx).Warn().Err(err).Msg("invalid data in user record, ignoring") } else { - h.mgr.onUpdateUser(ctx, &u) + h.mgr.onUpdateUser(h.ctx, &u) } } }