Change user_agent_type column to tinyint

[MAILPOET-3736]
This commit is contained in:
Jan Lysý
2021-08-20 11:34:17 +02:00
committed by Veljko V
parent 292f075abe
commit ee84dc382b
6 changed files with 21 additions and 21 deletions

View File

@ -428,7 +428,7 @@ class Migrator {
'queue_id int(11) unsigned NOT NULL,',
'link_id int(11) unsigned NOT NULL,',
'user_agent_id int(11) unsigned NULL,',
'user_agent_type varchar(50) NULL,',
'user_agent_type tinyint(1) NOT NULL DEFAULT 0,',
'count int(11) unsigned NOT NULL,',
'created_at timestamp NULL,', // must be NULL, see comment at the top
'updated_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,',
@ -447,7 +447,7 @@ class Migrator {
'subscriber_id int(11) unsigned NOT NULL,',
'queue_id int(11) unsigned NOT NULL,',
'user_agent_id int(11) unsigned NULL,',
'user_agent_type varchar(50) NULL,',
'user_agent_type tinyint(1) NOT NULL DEFAULT 0,',
'created_at timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,',
'PRIMARY KEY (id),',
'KEY newsletter_id_subscriber_id_user_agent_type (newsletter_id, subscriber_id, user_agent_type),',

View File

@ -59,10 +59,10 @@ class StatisticsClickEntity {
private $userAgent;
/**
* @ORM\Column(type="string", nullable=true)
* @var string|null
* @ORM\Column(type="smallint")
* @var int
*/
private $userAgentType;
private $userAgentType = 0;
/**
* @ORM\Column(type="integer")
@ -170,11 +170,11 @@ class StatisticsClickEntity {
$this->userAgent = $userAgent;
}
public function getUserAgentType(): ?string {
public function getUserAgentType(): int {
return $this->userAgentType;
}
public function setUserAgentType(?string $userAgentType): void {
public function setUserAgentType(int $userAgentType): void {
$this->userAgentType = $userAgentType;
}
}

View File

@ -44,10 +44,10 @@ class StatisticsOpenEntity {
private $userAgent;
/**
* @ORM\Column(type="string", nullable=true)
* @var string|null
* @ORM\Column(type="smallint")
* @var int
*/
private $userAgentType;
private $userAgentType = 0;
public function __construct(
NewsletterEntity $newsletter,
@ -104,11 +104,11 @@ class StatisticsOpenEntity {
$this->userAgent = $userAgent;
}
public function getUserAgentType(): ?string {
public function getUserAgentType(): int {
return $this->userAgentType;
}
public function setUserAgentType(?string $userAgentType): void {
public function setUserAgentType(int $userAgentType): void {
$this->userAgentType = $userAgentType;
}
}

View File

@ -16,8 +16,8 @@ class UserAgentEntity {
use CreatedAtTrait;
use UpdatedAtTrait;
public const USER_AGENT_TYPE_HUMAN = 'human';
public const USER_AGENT_TYPE_MACHINE = 'machine';
public const USER_AGENT_TYPE_HUMAN = 0;
public const USER_AGENT_TYPE_MACHINE = 1;
public const MACHINE_USER_AGENTS = [
'Mozilla/5.0',
@ -52,7 +52,7 @@ class UserAgentEntity {
return $this->hash;
}
public function getUserAgentType(): string {
public function getUserAgentType(): int {
if (in_array($this->getUserAgent(), self::MACHINE_USER_AGENTS, true)) {
return self::USER_AGENT_TYPE_MACHINE;
}

View File

@ -309,7 +309,7 @@ class ClicksTest extends \MailPoetTest {
expect($trackedClicks)->count(1);
$click = $trackedClicks[0];
expect($click->getUserAgent())->null();
expect($click->getUserAgentType())->null();
expect($click->getUserAgentType())->equals(UserAgentEntity::USER_AGENT_TYPE_HUMAN);
// Track Machine User Agent
$machineUserAgentName = UserAgentEntity::MACHINE_USER_AGENTS[0];
$data->userAgent = $machineUserAgentName;
@ -318,7 +318,7 @@ class ClicksTest extends \MailPoetTest {
expect($trackedClicks)->count(1);
$click = $trackedClicks[0];
expect($click->getUserAgent())->null();
expect($click->getUserAgentType())->null();
expect($click->getUserAgentType())->equals(UserAgentEntity::USER_AGENT_TYPE_HUMAN);
}
public function testItOverridesUnknownUserAgentWithHuman(): void {
@ -342,7 +342,7 @@ class ClicksTest extends \MailPoetTest {
expect($trackedClicks)->count(1);
$click = $trackedClicks[0];
expect($click->getUserAgent())->null();
expect($click->getUserAgentType())->null();
expect($click->getUserAgentType())->equals(UserAgentEntity::USER_AGENT_TYPE_HUMAN);
// Track Machine User Agent
$humanUserAgentName = 'User Agent';
$data->userAgent = $humanUserAgentName;

View File

@ -283,7 +283,7 @@ class OpensTest extends \MailPoetTest {
$openEntity = reset($openEntities);
assert($openEntity instanceof StatisticsOpenEntity);
expect($openEntity->getUserAgent())->null();
expect($openEntity->getUserAgentType())->null();
expect($openEntity->getUserAgentType())->equals(UserAgentEntity::USER_AGENT_TYPE_HUMAN);
// Track Machine User Agent
$machineUserAgentName = UserAgentEntity::MACHINE_USER_AGENTS[0];
$this->trackData->userAgent = $machineUserAgentName;
@ -294,7 +294,7 @@ class OpensTest extends \MailPoetTest {
$openEntity = reset($openEntities);
assert($openEntity instanceof StatisticsOpenEntity);
expect($openEntity->getUserAgent())->null();
expect($openEntity->getUserAgentType())->null();
expect($openEntity->getUserAgentType())->equals(UserAgentEntity::USER_AGENT_TYPE_HUMAN);
}
public function testItOverridesUnknownUserAgentWithHuman(): void {
@ -313,7 +313,7 @@ class OpensTest extends \MailPoetTest {
$openEntity = reset($openEntities);
assert($openEntity instanceof StatisticsOpenEntity);
expect($openEntity->getUserAgent())->null();
expect($openEntity->getUserAgentType())->null();
expect($openEntity->getUserAgentType())->equals(UserAgentEntity::USER_AGENT_TYPE_HUMAN);
// Track Human User Agent
$humanUserAgentName = 'User Agent';
$this->trackData->userAgent = $humanUserAgentName;