argument('email'); if (empty($email)) { $email = $this->ask('Email dell\'utente'); } $user = User::where('email', $email)->first(); if ($user === null) { $this->error("Nessun utente trovato con email: {$email}"); return self::FAILURE; } $this->line("Utente trovato: {$user->name} ({$user->email})"); $password = $this->option('password'); if (empty($password)) { $password = $this->secret('Nuova password'); $confirm = $this->secret('Conferma nuova password'); if ($password !== $confirm) { $this->error('Le password non corrispondono'); return self::FAILURE; } } $validator = Validator::make( ['password' => $password], ['password' => ['required', 'string', 'min:12']] ); if ($validator->fails()) { $this->error('Password troppo corta: minimo 12 caratteri'); return self::FAILURE; } $user->password = Hash::make($password); $user->save(); if ($user->wasChanged('password')) { $this->info("Password aggiornata con successo per {$user->email}"); return self::SUCCESS; } $this->error('Errore durante l\'aggiornamento della password'); return self::FAILURE; } }