diff --git a/src/Command/CreateRiderAPIUserCommand.php b/src/Command/CreateRiderAPIUserCommand.php index 9228ef5d..6eefdf12 100644 --- a/src/Command/CreateRiderAPIUserCommand.php +++ b/src/Command/CreateRiderAPIUserCommand.php @@ -11,6 +11,7 @@ use Symfony\Component\Console\Output\OutputInterface; use Doctrine\ORM\EntityManagerInterface; use Catalyst\APIBundle\Entity\User as APIUser; +use Catalyst\APIBundle\Entity\Role as APIRole; use App\Entity\Rider; @@ -31,7 +32,8 @@ class CreateRiderAPIUserCommand extends Command { $this->setName('api:user-create-for-rider') ->setDescription('Create API users for existing riders.') - ->setHelp('Creates API users for existing riders.'); + ->setHelp('Creates API users for existing riders.') + ->addArgument('role_id', InputArgument::REQUIRED, 'Role ID for api_user.'); } protected function execute(InputInterface $input, OutputInterface $output) @@ -40,6 +42,15 @@ class CreateRiderAPIUserCommand extends Command // get all existing riders $riders = $this->em->getRepository(Rider::class)->findAll(); + // get role for rider api user + $role_id = $input->getArgument('role_id'); + $role = $this->em->getRepository(APIRole::class)->find($role_id); + if ($role == null) + { + error_log('Cannot find role with id ' . $role_id); + return 0; + } + foreach ($riders as $rider) { // create api user for each rider @@ -47,6 +58,9 @@ class CreateRiderAPIUserCommand extends Command // Secret and API keys are generated in constructor $api_user = new APIUser(); + // set enabled to true + $api_user->setEnabled(true); + // set name to rider's last name + first name $rider_name = $rider->getLastName() . '_' . $rider->getFirstName(); $api_user->setName($rider_name); @@ -58,6 +72,9 @@ class CreateRiderAPIUserCommand extends Command $meta = ['rider_id' => $rider->getID()]; $api_user->setMetaData($meta); + // set role + $api_user->addRole($role); + // set rider's api user $rider->setAPIUser($api_user);