Merge remote-tracking branch 'origin/1.5.x' into feat-rc-sdks

This commit is contained in:
Jake Barnby
2024-02-06 02:01:46 +13:00
10 changed files with 217 additions and 32 deletions
+11
View File
@@ -11,6 +11,13 @@ use Utopia\Validator;
*/
class Password extends Validator
{
protected bool $allowEmpty;
public function __construct(bool $allowEmpty = false)
{
$this->allowEmpty = $allowEmpty;
}
/**
* Get Description.
*
@@ -36,6 +43,10 @@ class Password extends Validator
return false;
}
if ($this->allowEmpty && \strlen($value) === 0) {
return true;
}
if (\strlen($value) < 8) {
return false;
}
@@ -12,8 +12,9 @@ class PasswordDictionary extends Password
protected array $dictionary;
protected bool $enabled;
public function __construct(array $dictionary, bool $enabled = false)
public function __construct(array $dictionary, bool $enabled = false, bool $allowEmpty = false)
{
parent::__construct($allowEmpty);
$this->dictionary = $dictionary;
$this->enabled = $enabled;
}
@@ -17,6 +17,8 @@ class PasswordHistory extends Password
public function __construct(array $history, string $algo, array $algoOptions = [])
{
parent::__construct();
$this->history = $history;
$this->algo = $algo;
$this->algoOptions = $algoOptions;
@@ -14,6 +14,7 @@ class PersonalData extends Password
protected ?string $phone = null,
protected bool $strict = false
) {
parent::__construct();
}
/**
+16 -1
View File
@@ -11,6 +11,13 @@ use Utopia\Validator;
*/
class Phone extends Validator
{
protected bool $allowEmpty;
public function __construct(bool $allowEmpty = false)
{
$this->allowEmpty = $allowEmpty;
}
/**
* Get Description.
*
@@ -32,7 +39,15 @@ class Phone extends Validator
*/
public function isValid($value): bool
{
return is_string($value) && !!\preg_match('/^\+[1-9]\d{1,14}$/', $value);
if (!is_string($value)) {
return false;
}
if ($this->allowEmpty && \strlen($value) === 0) {
return true;
}
return !!\preg_match('/^\+[1-9]\d{1,14}$/', $value);
}
/**
+11
View File
@@ -13,6 +13,13 @@ use Utopia\Validator;
*/
class Email extends Validator
{
protected bool $allowEmpty;
public function __construct(bool $allowEmpty = false)
{
$this->allowEmpty = $allowEmpty;
}
/**
* Get Description
*
@@ -35,6 +42,10 @@ class Email extends Validator
*/
public function isValid($value): bool
{
if ($this->allowEmpty && \strlen($value) === 0) {
return true;
}
if (!\filter_var($value, FILTER_VALIDATE_EMAIL)) {
return false;
}