diff --git a/src/Command/CreateRiderAPIUserCommand.php b/src/Command/CreateRiderAPIUserCommand.php new file mode 100644 index 00000000..5c72d00c --- /dev/null +++ b/src/Command/CreateRiderAPIUserCommand.php @@ -0,0 +1,68 @@ +em = $em; + + parent::__construct(); + } + + protected function configure() + { + $this->setName('api:user-create-for-rider') + ->setDescription('Create API users for existing riders.') + ->setHelp('Creates API users for existing riders.'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + error_log('Creating api users...'); + // get all existing riders + $riders = $this->em->getRepository(Rider::class)->findAll(); + + foreach ($riders as $rider) + { + // create api user for each rider + // no need to generate the keys. + // Secret and API keys are generated in constructor + $api_user = new APIUser(); + + // set name to rider's last name + first name + $rider_name = $rider->getLastName() . '_' . $rider->getFirstName(); + $api_user->setName($rider_name); + + // set rider to api_user + $api_user->setRider($rider); + + // set meta + $meta = ['rider_id' => $rider->getID()]; + $api_user->setMetaData($meta); + + $this->em->persist($api_user); + } + + $this->em->flush(); + + return 0; + } +}