Set api role for rider api user. #617
This commit is contained in:
parent
ff5e747d7a
commit
25954afe63
1 changed files with 18 additions and 1 deletions
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue