forked from wrenn/wrenn
Fix API key cleanup on user deactivation and build archive race condition
Delete all API keys created by a user when their account is disabled, deleted, or soft-deleted. Store build archives before enqueuing to Redis so workers never dequeue a build with missing files.
This commit is contained in:
@ -3,6 +3,7 @@ package service
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"time"
|
||||
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
@ -66,5 +67,10 @@ func (s *UserService) SetUserStatus(ctx context.Context, userID pgtype.UUID, sta
|
||||
}); err != nil {
|
||||
return fmt.Errorf("set user status: %w", err)
|
||||
}
|
||||
if status == "disabled" || status == "deleted" {
|
||||
if err := s.DB.DeleteAPIKeysByCreator(ctx, userID); err != nil {
|
||||
slog.Warn("failed to delete API keys for deactivated user", "user_id", userID, "error", err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user