MCPcopy Index your code
hub / github.com/coder/coder / ActivateDormantUser

Function ActivateDormantUser

coderd/userauth.go:643–678  ·  view source on GitHub ↗
(logger slog.Logger, auditor *atomic.Pointer[audit.Auditor], db database.Store)

Source from the content-addressed store, hash-verified

641}
642
643func ActivateDormantUser(logger slog.Logger, auditor *atomic.Pointer[audit.Auditor], db database.Store) func(ctx context.Context, user database.User) (database.User, error) {
644 return func(ctx context.Context, user database.User) (database.User, error) {
645 if user.ID == uuid.Nil || user.Status != database.UserStatusDormant {
646 return user, nil
647 }
648
649 //nolint:gocritic // System needs to update status of the user account (dormant -> active).
650 newUser, err := db.UpdateUserStatus(dbauthz.AsSystemRestricted(ctx), database.UpdateUserStatusParams{
651 ID: user.ID,
652 Status: database.UserStatusActive,
653 UpdatedAt: dbtime.Now(),
654 UserIsSeen: true,
655 })
656 if err != nil {
657 logger.Error(ctx, "unable to update user status to active", slog.Error(err))
658 return user, xerrors.Errorf("update user status: %w", err)
659 }
660
661 oldAuditUser := user
662 newAuditUser := user
663 newAuditUser.Status = database.UserStatusActive
664
665 audit.BackgroundAudit(ctx, &audit.BackgroundAuditParams[database.User]{
666 Audit: *auditor.Load(),
667 Log: logger,
668 UserID: user.ID,
669 Action: database.AuditActionWrite,
670 Old: oldAuditUser,
671 New: newAuditUser,
672 Status: http.StatusOK,
673 AdditionalFields: audit.BackgroundTaskFieldsBytes(ctx, logger, audit.BackgroundSubsystemDormancy),
674 })
675
676 return newUser, nil
677 }
678}
679
680// Clear the user's session cookie.
681//

Callers 3

NewFunction · 0.92
NewFunction · 0.85
loginRequestMethod · 0.85

Calls 8

AsSystemRestrictedFunction · 0.92
NowFunction · 0.92
BackgroundAuditFunction · 0.92
UpdateUserStatusMethod · 0.65
ErrorMethod · 0.45
ErrorfMethod · 0.45
LoadMethod · 0.45

Tested by

no test coverage detected