feat(cloudron): add tirreno package artifacts
- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents - Includes package manifest, Dockerfile, source code, documentation, and build artifacts - Add tirreno-1761840148.tar.gz as a build artifact - Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package - Include all necessary files for the tirreno Cloudron package This adds the complete tirreno Cloudron package artifacts to the repository.
This commit is contained in:
		@@ -0,0 +1,32 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class AccountEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $userName,
 | 
			
		||||
        public string $lastIp,
 | 
			
		||||
        public ?string $fullName,
 | 
			
		||||
        public ?string $firstName,
 | 
			
		||||
        public ?string $lastName,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
        public ?\DateTimeImmutable $userCreated,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class CountryEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public int $countryId,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class DeviceEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public UserAgentEntity|UserAgentEnrichedEntity|null $userAgent,
 | 
			
		||||
        public ?string $lang,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,46 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class DomainEnrichedEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $domain,
 | 
			
		||||
        public bool $blockdomains,
 | 
			
		||||
        public bool $disposableDomains,
 | 
			
		||||
        public bool $freeEmailProvider,
 | 
			
		||||
        public ?string $ip,
 | 
			
		||||
        public ?string $geoIp,
 | 
			
		||||
        public ?string $geoHtml,
 | 
			
		||||
        public ?string $webServer,
 | 
			
		||||
        public ?string $hostname,
 | 
			
		||||
        public ?string $emails,
 | 
			
		||||
        public ?string $phone,
 | 
			
		||||
        public string $discoveryDate,
 | 
			
		||||
        public ?int $trancoRank,
 | 
			
		||||
        public ?string $creationDate,
 | 
			
		||||
        public ?string $expirationDate,
 | 
			
		||||
        public ?int $returnCode,
 | 
			
		||||
        public bool $disabled,
 | 
			
		||||
        public ?string $closestSnapshot,
 | 
			
		||||
        public bool $mxRecord,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,28 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class DomainEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $domain,
 | 
			
		||||
        public ?bool $checked,      // null if was not sent to enrichment
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,37 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class DomainNotFoundEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $domain,
 | 
			
		||||
        public bool $blockdomains,
 | 
			
		||||
        public bool $disposableDomains,
 | 
			
		||||
        public bool $freeEmailProvider,
 | 
			
		||||
        public ?string $creationDate,
 | 
			
		||||
        public ?string $expirationDate,
 | 
			
		||||
        public ?int $returnCode,
 | 
			
		||||
        public bool $disabled,
 | 
			
		||||
        public ?string $closestSnapshot,
 | 
			
		||||
        public bool $mxRecord,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,39 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class EmailEnrichedEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $email,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public DomainEntity|DomainEnrichedEntity|DomainNotFoundEntity $domain,
 | 
			
		||||
        public bool $blockEmails,
 | 
			
		||||
        public bool $dataBreach,
 | 
			
		||||
        public int $dataBreaches,
 | 
			
		||||
        public ?\DateTimeImmutable $earliestBreach,
 | 
			
		||||
        public int $profiles,
 | 
			
		||||
        public bool $domainContactEmail,
 | 
			
		||||
        public ?bool $alertList,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,32 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class EmailEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $email,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public DomainEntity|DomainEnrichedEntity|DomainNotFoundEntity $domain,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public ?bool $checked,              // null if was not sent to enrichment
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,43 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class EventEntity {
 | 
			
		||||
    /**
 | 
			
		||||
     * @param array<mixed, mixed>|null $payload
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public SessionEntity $session,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public IpAddressEntity|IpAddressEnrichedEntity|IpAddressLocalhostEnrichedEntity $ipAddress,
 | 
			
		||||
        public UrlEntity $url,
 | 
			
		||||
        public ?string $eventType,
 | 
			
		||||
        public ?string $httpMethod,
 | 
			
		||||
        public DeviceEntity $device,
 | 
			
		||||
        public ?RefererEntity $referer,
 | 
			
		||||
        public EmailEntity|EmailEnrichedEntity|null $email,
 | 
			
		||||
        public PhoneEntity|PhoneEnrichedEntity|PhoneInvalidEntity|null $phone,
 | 
			
		||||
        public ?int $httpCode,
 | 
			
		||||
        public \DateTimeImmutable $eventTime,
 | 
			
		||||
        public ?string $traceId,
 | 
			
		||||
        public ?PayloadEntity $payload,
 | 
			
		||||
        public CountryEntity $country,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,44 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class IpAddressEnrichedEntity {
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string[] $domainsCount
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $ipAddress,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public int $countryId,
 | 
			
		||||
        public bool $hosting,
 | 
			
		||||
        public bool $vpn,
 | 
			
		||||
        public bool $tor,
 | 
			
		||||
        public bool $relay,
 | 
			
		||||
        public bool $starlink,
 | 
			
		||||
        public bool $blocklist,
 | 
			
		||||
        public array $domainsCount,
 | 
			
		||||
        public ?string $cidr,
 | 
			
		||||
        public ?bool $alertList,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public ?IspEnrichedEntity $isp,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,31 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class IpAddressEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $ipAddress,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public IspEntity|IspLocalhostEntity|IspEnrichedEntity $isp,
 | 
			
		||||
        public ?bool $checked,              // null if was not sent to enrichment
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,44 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class IpAddressLocalhostEnrichedEntity {
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string[] $domainsCount
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $ipAddress,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public ?IspLocalhostEntity $isp,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
        public int $countryId = 0,
 | 
			
		||||
        public bool $hosting = false,
 | 
			
		||||
        public bool $vpn = false,
 | 
			
		||||
        public bool $tor = false,
 | 
			
		||||
        public bool $relay = false,
 | 
			
		||||
        public bool $starlink = false,
 | 
			
		||||
        public bool $blocklist = false,
 | 
			
		||||
        public array $domainsCount = [],
 | 
			
		||||
        public ?string $cidr = null,
 | 
			
		||||
        public ?bool $alertList = null,
 | 
			
		||||
        public bool $checked = true,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class IspEnrichedEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public int $asn,
 | 
			
		||||
        public ?string $name,
 | 
			
		||||
        public ?string $description,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class IspEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
        public int $asn = 64496,
 | 
			
		||||
        public string $name = 'N/A',
 | 
			
		||||
        public ?string $description = null,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class IspLocalhostEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
        public int $asn = 0,
 | 
			
		||||
        public string $name = 'Local area network',
 | 
			
		||||
        public ?string $description = null,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,36 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class LogbookEntity {
 | 
			
		||||
    public const ERROR_TYPE_SUCCESS = 0;
 | 
			
		||||
    public const ERROR_TYPE_VALIDATION_ERROR = 1;
 | 
			
		||||
    public const ERROR_TYPE_CRITICAL_VALIDATION_ERROR = 2;
 | 
			
		||||
    public const ERROR_TYPE_CRITICAL_ERROR = 3;
 | 
			
		||||
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $ip,
 | 
			
		||||
        public ?int $eventId,
 | 
			
		||||
        public int $errorType,
 | 
			
		||||
        public ?string $errorText,
 | 
			
		||||
        public string $raw,
 | 
			
		||||
        public ?string $started,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,28 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class PayloadEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public array|string $payload,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,40 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class PhoneEnrichedEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $phoneNumber,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public int $profiles,
 | 
			
		||||
        public ?int $countryId,
 | 
			
		||||
        public int $callingCountryCode,
 | 
			
		||||
        public string $nationalFormat,
 | 
			
		||||
        public bool $invalid,
 | 
			
		||||
        public ?string $validationErrors,
 | 
			
		||||
        public ?string $carrierName,
 | 
			
		||||
        public string $type,
 | 
			
		||||
        public ?bool $alertList,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,32 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class PhoneEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $phoneNumber,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public ?int $countryId,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public ?bool $checked,              // null if was not sent to enrichment
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,33 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class PhoneInvalidEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $phoneNumber,
 | 
			
		||||
        public ?string $hash,
 | 
			
		||||
        public int $countryId,
 | 
			
		||||
        public bool $fraudDetected,
 | 
			
		||||
        public string $validationErrors,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class RefererEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $referer,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,28 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class SessionEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $id,
 | 
			
		||||
        public int $accountId,
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,30 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class UrlEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $url,
 | 
			
		||||
        public ?UrlQueryEntity $query,
 | 
			
		||||
        public ?string $title,
 | 
			
		||||
        public ?int $httpCode,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class UrlQueryEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $query,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,34 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class UserAgentEnrichedEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public string $userAgent,
 | 
			
		||||
        public ?string $device,
 | 
			
		||||
        public ?string $browserName,
 | 
			
		||||
        public ?string $browserVersion,
 | 
			
		||||
        public ?string $osName,
 | 
			
		||||
        public ?string $osVersion,
 | 
			
		||||
        public bool $modified,
 | 
			
		||||
        public bool $checked,
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,28 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tirreno ~ Open source user analytics
 | 
			
		||||
 * Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under GNU Affero General Public License version 3 of the or any later version.
 | 
			
		||||
 * For full copyright and license information, please see the LICENSE
 | 
			
		||||
 * Redistributions of files must retain the above copyright notice.
 | 
			
		||||
 *
 | 
			
		||||
 * @copyright     Copyright (c) Tirreno Technologies Sàrl (https://www.tirreno.com)
 | 
			
		||||
 * @license       https://opensource.org/licenses/AGPL-3.0 AGPL License
 | 
			
		||||
 * @link          https://www.tirreno.com Tirreno(tm)
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
declare(strict_types=1);
 | 
			
		||||
 | 
			
		||||
namespace Sensor\Entity;
 | 
			
		||||
 | 
			
		||||
class UserAgentEntity {
 | 
			
		||||
    public function __construct(
 | 
			
		||||
        public int $apiKeyId,
 | 
			
		||||
        public ?string $userAgent,
 | 
			
		||||
        public ?bool $checked,      // null if was not sent to enrichment
 | 
			
		||||
        public \DateTimeImmutable $lastSeen,
 | 
			
		||||
    ) {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,3 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
		Reference in New Issue
	
	Block a user