mirror of
https://github.com/appwrite/appwrite.git
synced 2026-05-26 13:51:13 +00:00
chore: update Utopia Emails dependency to version 0.5 and remove deprecated email validator
- Updated the Utopia Emails dependency version from 0.4.* to 0.5.* in composer.json and composer.lock. - Removed the custom Email validator class and its associated tests as it is no longer needed with the new Utopia Emails library.
This commit is contained in:
+1
-1
@@ -57,7 +57,7 @@
|
||||
"utopia-php/domains": "0.8.*",
|
||||
"utopia-php/dns": "0.3.*",
|
||||
"utopia-php/dsn": "0.2.1",
|
||||
"utopia-php/emails": "0.4.*",
|
||||
"utopia-php/emails": "0.5.*",
|
||||
"utopia-php/framework": "0.33.*",
|
||||
"utopia-php/fetch": "0.4.*",
|
||||
"utopia-php/image": "0.8.*",
|
||||
|
||||
Generated
+7
-7
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "2fbd76a832756d8b21adf27e5b0a7cc7",
|
||||
"content-hash": "16bb025bc719fc989a11800ec450fd5b",
|
||||
"packages": [
|
||||
{
|
||||
"name": "adhocore/jwt",
|
||||
@@ -3900,16 +3900,16 @@
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/emails",
|
||||
"version": "0.4.0",
|
||||
"version": "0.5.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/utopia-php/emails.git",
|
||||
"reference": "48d772c854a176f063e495d0179a1369087fd4f0"
|
||||
"reference": "aebfd79cd8c39f230fb9a238ca12a4f7a1f7e0cd"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/utopia-php/emails/zipball/48d772c854a176f063e495d0179a1369087fd4f0",
|
||||
"reference": "48d772c854a176f063e495d0179a1369087fd4f0",
|
||||
"url": "https://api.github.com/repos/utopia-php/emails/zipball/aebfd79cd8c39f230fb9a238ca12a4f7a1f7e0cd",
|
||||
"reference": "aebfd79cd8c39f230fb9a238ca12a4f7a1f7e0cd",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3954,9 +3954,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/utopia-php/emails/issues",
|
||||
"source": "https://github.com/utopia-php/emails/tree/0.4.0"
|
||||
"source": "https://github.com/utopia-php/emails/tree/0.5.0"
|
||||
},
|
||||
"time": "2025-10-19T20:31:42+00:00"
|
||||
"time": "2025-10-19T20:51:56+00:00"
|
||||
},
|
||||
{
|
||||
"name": "utopia-php/fetch",
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Appwrite\Network\Validator;
|
||||
|
||||
use Utopia\Emails\Validator\Email as UtopiaEmailValidator;
|
||||
|
||||
/**
|
||||
* Email
|
||||
*
|
||||
* Validate that an variable is a valid email address
|
||||
* Extends the new Utopia Emails validator to maintain backward compatibility
|
||||
*
|
||||
* @package Appwrite\Network\Validator
|
||||
*/
|
||||
class Email extends UtopiaEmailValidator
|
||||
{
|
||||
protected bool $allowEmpty;
|
||||
|
||||
public function __construct(bool $allowEmpty = false)
|
||||
{
|
||||
$this->allowEmpty = $allowEmpty;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is valid
|
||||
*
|
||||
* Validation will pass when $value is valid email address.
|
||||
*
|
||||
* @param mixed $value
|
||||
* @return bool
|
||||
*/
|
||||
public function isValid($value): bool
|
||||
{
|
||||
if ($this->allowEmpty && \strlen($value) === 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return parent::isValid($value);
|
||||
}
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Utopia PHP Framework
|
||||
*
|
||||
* @package Framework
|
||||
* @subpackage Tests
|
||||
*
|
||||
* @link https://github.com/utopia-php/framework
|
||||
* @author Appwrite Team <team@appwrite.io>
|
||||
* @version 1.0 RC4
|
||||
* @license The MIT License (MIT) <http://www.opensource.org/licenses/mit-license.php>
|
||||
*/
|
||||
|
||||
namespace Tests\Unit\Network\Validators;
|
||||
|
||||
use Appwrite\Network\Validator\Email;
|
||||
use PHPUnit\Framework\TestCase;
|
||||
|
||||
class EmailTest extends TestCase
|
||||
{
|
||||
protected ?Email $email = null;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->email = new Email();
|
||||
}
|
||||
|
||||
public function tearDown(): void
|
||||
{
|
||||
$this->email = null;
|
||||
}
|
||||
|
||||
public function testIsValid(): void
|
||||
{
|
||||
$this->assertEquals(true, $this->email->isValid('email@domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('firstname.lastname@domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('email@subdomain.domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('firstname+lastname@domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('email@[123.123.123.123]'));
|
||||
$this->assertEquals(true, $this->email->isValid('"email"@domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('1234567890@domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('email@domain-one.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('_______@domain.com'));
|
||||
$this->assertEquals(true, $this->email->isValid('email@domain.name'));
|
||||
$this->assertEquals(true, $this->email->isValid('email@domain.co.jp'));
|
||||
$this->assertEquals(true, $this->email->isValid('firstname-lastname@domain.com'));
|
||||
$this->assertEquals(false, $this->email->isValid(false));
|
||||
$this->assertEquals(false, $this->email->isValid(['string', 'string']));
|
||||
$this->assertEquals(false, $this->email->isValid(1));
|
||||
$this->assertEquals(false, $this->email->isValid(1.2));
|
||||
$this->assertEquals(false, $this->email->isValid('plainaddress')); // Missing @ sign and domain
|
||||
$this->assertEquals(false, $this->email->isValid('@domain.com')); // Missing username
|
||||
$this->assertEquals(false, $this->email->isValid('#@%^%#$@#$@#.com')); // Garbage
|
||||
$this->assertEquals(false, $this->email->isValid('Joe Smith <email@domain.com>')); // Encoded html within email is invalid
|
||||
$this->assertEquals(false, $this->email->isValid('email.domain.com')); // Missing @
|
||||
$this->assertEquals(false, $this->email->isValid('email@domain@domain.com')); // Two @ sign
|
||||
$this->assertEquals(false, $this->email->isValid('.email@domain.com')); // Leading dot in address is not allowed
|
||||
$this->assertEquals(false, $this->email->isValid('email.@domain.com')); // Trailing dot in address is not allowed
|
||||
$this->assertEquals(false, $this->email->isValid('email..email@domain.com')); // Multiple dots
|
||||
$this->assertEquals(false, $this->email->isValid('あいうえお@domain.com')); // Unicode char as address
|
||||
$this->assertEquals(false, $this->email->isValid('email@domain.com (Joe Smith)')); // Text followed email is not allowed
|
||||
$this->assertEquals(false, $this->email->isValid('email@domain')); // Missing top level domain (.com/.net/.org/etc)
|
||||
$this->assertEquals(false, $this->email->isValid('email@-domain.com')); // Leading dash in front of domain is invalid
|
||||
$this->assertEquals(false, $this->email->isValid('email@111.222.333.44444')); // Invalid IP format
|
||||
$this->assertEquals(false, $this->email->isValid('email@domain..com')); // Multiple dot in the domain portion is invalid
|
||||
$this->assertEquals($this->email->getType(), 'string');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user