Add timestamp for latest session activity #799

This commit is contained in:
Ramon Gutierrez 2024-10-29 17:05:48 +08:00
parent 0ea93622be
commit 5f8133f02c
2 changed files with 28 additions and 0 deletions

View file

@ -14,6 +14,7 @@ use App\Entity\Warranty;
use App\Entity\JobOrder; use App\Entity\JobOrder;
use App\Entity\CustomerSession; use App\Entity\CustomerSession;
use App\Service\PayMongoConnector; use App\Service\PayMongoConnector;
use DateTime;
class ApiController extends BaseApiController class ApiController extends BaseApiController
{ {
@ -64,6 +65,9 @@ class ApiController extends BaseApiController
} }
} }
// update session timestamp
$this->updateSessionTimestamp();
return [ return [
'is_valid' => !$error, 'is_valid' => !$error,
'error' => $error, 'error' => $error,
@ -173,4 +177,10 @@ class ApiController extends BaseApiController
$this->getParameter('subscription_paymongo_secret_key'), $this->getParameter('subscription_paymongo_secret_key'),
); );
} }
protected function updateSessionTimestamp()
{
$this->session->setDateLatestActivity(new DateTime());
$this->em->flush();
}
} }

View file

@ -100,6 +100,12 @@ class CustomerSession
*/ */
protected $date_code_sent; protected $date_code_sent;
// date and time this session was last used
/**
* @ORM\Column(type="datetime", nullable=true)
*/
protected $date_latest_activity;
// reviews made by mobile session // reviews made by mobile session
/** /**
* @ORM\OneToMany(targetEntity="Review", mappedBy="mobile_session") * @ORM\OneToMany(targetEntity="Review", mappedBy="mobile_session")
@ -115,6 +121,7 @@ class CustomerSession
$this->confirm_flag = false; $this->confirm_flag = false;
$this->date_confirmed = null; $this->date_confirmed = null;
$this->date_code_sent = null; $this->date_code_sent = null;
$this->date_latest_activity = null;
$this->reviews = new ArrayCollection(); $this->reviews = new ArrayCollection();
} }
@ -270,4 +277,15 @@ class CustomerSession
{ {
return $this->reviews; return $this->reviews;
} }
public function setDateLatestActivity(DateTime $date)
{
$this->date_latest_activity = $date;
return $this;
}
public function getDateLatestActivity()
{
return $this->date_latest_activity;
}
} }