/**
  * Run the seeder.
  */
 public function run()
 {
     $this->users->truncate();
     $admin = $this->roles->findBySlug('admin');
     $user = $this->roles->findBySlug('user');
     /* @var UserInterface $administrator */
     $administrator = $this->users->create(['display_name' => 'Administrator', 'email' => env('ADMIN_EMAIL'), 'username' => env('ADMIN_USERNAME'), 'password' => env('ADMIN_PASSWORD')]);
     /* @var UserInterface $demo */
     $demo = $this->users->create(['display_name' => 'Demo User', 'email' => '*****@*****.**', 'password' => 'password', 'username' => 'demo']);
     $demo->roles()->sync([$user->getId()]);
     $administrator->roles()->sync([$admin->getId()]);
     $this->activator->force($demo);
     $this->activator->force($administrator);
 }
 /**
  * Handle the command.
  *
  * @param StreamsHasInstalled $event
  */
 public function handle(StreamsHasInstalled $event)
 {
     $installers = $event->getInstallers();
     $installers->add(new Installer('Creating the admin user.', function () {
         $credentials = ['display_name' => 'Administrator', 'email' => env('ADMIN_EMAIL'), 'username' => env('ADMIN_USERNAME'), 'password' => env('ADMIN_PASSWORD')];
         if ($user = $this->users->findByUsername(env('ADMIN_USERNAME'))) {
             $user->email = env('ADMIN_EMAIL');
             $user->password = env('ADMIN_PASSWORD');
             $this->users->save($user);
         } else {
             $user = $this->users->create($credentials);
         }
         $this->activator->force($user);
     }));
 }
 /**
  * Handle the command.
  *
  * @param UserActivator $activator
  * @param MessageBag    $messages
  */
 public function handle(UserActivator $activator, MessageBag $messages)
 {
     /* @var UserInterface $user */
     $user = $this->builder->getFormEntry();
     $activator->force($user);
     if (!is_null($message = $this->builder->getFormOption('activated_message'))) {
         $messages->info($message);
     }
 }