* initial commit

This commit is contained in:
Danyi Dávid
2017-09-03 17:51:59 +02:00
commit 92eefa7a63
51 changed files with 6493 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
<?php
namespace App\Service;
use App\Entity\Sms;
use App\Entity\User;
use Doctrine\ORM\EntityManager;
class SmsStoreService
{
/**
* @var EntityManager
*/
private $em;
public function __construct(EntityManager $em)
{
$this->em = $em;
}
public function storeSms(string $hashKey, int $direction, array $requestData): bool
{
$user = $this->ensureUserExists($hashKey);
$sms = new Sms();
$sms->setDirection($direction)
->setContactName($requestData['contactName'])
->setContactNumber($requestData['contactNumber'])
->setWhen($requestData['when'])
->setOwner($user)
->setText($requestData['text']);
$this->em->persist($sms);
$this->em->flush();
return true;
}
/**
* @param string $hashKey
* @return User
*/
private function ensureUserExists(string $hashKey): User
{
/** @var User $user */
$user = $this->em->getRepository(User::class)->findOneBy([
'hashKey' => $hashKey
]);
if($user === null) {
$user = new User();
$user->setHashKey($hashKey);
$this->em->persist($user);
$this->em->flush();
}
return $user;
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Service;
use Interop\Container\ContainerInterface;
class SmsStoreServiceFactory
{
public function __invoke(ContainerInterface $container)
{
$em = $container->get('doctrine.entity_manager.orm_default');
return new SmsStoreService($em);
}
}