diff --git a/cmd/goyco/commands/seed.go b/cmd/goyco/commands/seed.go index 238d066..4a81c24 100644 --- a/cmd/goyco/commands/seed.go +++ b/cmd/goyco/commands/seed.go @@ -142,6 +142,10 @@ func seedDatabase(userRepo repositories.UserRepository, postRepo repositories.Po return err } + if err := lockSeedUser(userRepo, seedUser); err != nil { + return err + } + if err := validateSeedConsistency(voteRepo, allUsers, posts); err != nil { return fmt.Errorf("seed consistency validation failed: %w", err) } @@ -165,6 +169,19 @@ func seedDatabase(userRepo repositories.UserRepository, postRepo repositories.Po return nil } +func lockSeedUser(userRepo repositories.UserRepository, seedUser *database.User) error { + if seedUser.Locked { + return nil + } + + if err := userRepo.Lock(seedUser.ID); err != nil { + return fmt.Errorf("lock seed user: %w", err) + } + + seedUser.Locked = true + return nil +} + const ( seedUsername = "seed_admin" seedEmail = "seed_admin@goyco.local"