* lib update
* static analyzer added * new tags * logger improvements
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Service;
|
||||
|
||||
|
||||
use App\Entity\Sms;
|
||||
use App\Entity\User;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
@@ -11,37 +11,46 @@ use Zend\EventManager\EventManager;
|
||||
|
||||
class SmsStoreService
|
||||
{
|
||||
/**
|
||||
* @var EntityManager
|
||||
*/
|
||||
private $em;
|
||||
/** @var EntityManager */
|
||||
private $em;
|
||||
|
||||
public function __construct(EntityManager $em, EventManager $eventManager)
|
||||
{
|
||||
$this->em = $em;
|
||||
$this->eventManager = $eventManager;
|
||||
}
|
||||
/** @var EventManager */
|
||||
private $eventManager;
|
||||
|
||||
public function storeSms(string $hashKey, int $direction, array $requestData): bool
|
||||
{
|
||||
$normalizedDate = str_replace("at ", "", $requestData['when']);
|
||||
$user = $this->ensureUserExists($hashKey);
|
||||
$sms = new Sms();
|
||||
$sms->setDirection($direction)
|
||||
->setContactName($requestData['contactName'])
|
||||
->setContactNumber($requestData['contactNumber'])
|
||||
->setOccuredAt(new \DateTime($normalizedDate))
|
||||
->setOwner($user)
|
||||
->setText($requestData['text']);
|
||||
$this->em->persist($sms);
|
||||
$this->em->flush();
|
||||
public function __construct(EntityManager $em, EventManager $eventManager)
|
||||
{
|
||||
$this->em = $em;
|
||||
$this->eventManager = $eventManager;
|
||||
}
|
||||
|
||||
$this->eventManager->trigger('store.sms.persisted', $this, [
|
||||
'sms' => $sms,
|
||||
]);
|
||||
/**
|
||||
* @param string $hashKey
|
||||
* @param int $direction
|
||||
* @param array $requestData
|
||||
* @return bool
|
||||
* @throws \Doctrine\ORM\ORMException
|
||||
* @throws \Doctrine\ORM\OptimisticLockException
|
||||
*/
|
||||
public function storeSms(string $hashKey, int $direction, array $requestData): bool
|
||||
{
|
||||
$normalizedDate = str_replace("at ", "", $requestData['when']);
|
||||
$user = $this->ensureUserExists($hashKey);
|
||||
$sms = new Sms();
|
||||
$sms->setDirection($direction)
|
||||
->setContactName($requestData['contactName'])
|
||||
->setContactNumber($requestData['contactNumber'])
|
||||
->setOccuredAt(new \DateTime($normalizedDate))
|
||||
->setOwner($user)
|
||||
->setText($requestData['text']);
|
||||
$this->em->persist($sms);
|
||||
$this->em->flush();
|
||||
|
||||
return true;
|
||||
}
|
||||
$this->eventManager->trigger('store.sms.persisted', $this, [
|
||||
'sms' => $sms,
|
||||
]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $hashKey
|
||||
@@ -49,20 +58,20 @@ class SmsStoreService
|
||||
* @throws \Doctrine\ORM\ORMException
|
||||
* @throws \Doctrine\ORM\OptimisticLockException
|
||||
*/
|
||||
private function ensureUserExists(string $hashKey): User
|
||||
{
|
||||
/** @var User $user */
|
||||
$user = $this->em->getRepository(User::class)->findOneBy([
|
||||
'hashKey' => $hashKey
|
||||
]);
|
||||
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)->setName("Unknown");
|
||||
$this->em->persist($user);
|
||||
$this->em->flush();
|
||||
if ($user === null) {
|
||||
$user = new User();
|
||||
$user->setHashKey($hashKey)->setName("Unknown");
|
||||
$this->em->persist($user);
|
||||
$this->em->flush();
|
||||
}
|
||||
|
||||
return $user;
|
||||
}
|
||||
|
||||
return $user;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user