From cff0fd9476f24f67c811a85af3cd813752bfdfbc Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Mon, 22 Aug 2022 15:04:55 +0000 Subject: [PATCH] feat: update queries constructor --- .../Utopia/Database/Validator/Queries.php | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/Appwrite/Utopia/Database/Validator/Queries.php b/src/Appwrite/Utopia/Database/Validator/Queries.php index d518ae64e3..1ad5b2e74f 100644 --- a/src/Appwrite/Utopia/Database/Validator/Queries.php +++ b/src/Appwrite/Utopia/Database/Validator/Queries.php @@ -24,9 +24,11 @@ class Queries extends Validator * * @param $validators - a list of validators */ - public function __construct(Validator ...$validators) + public function __construct(Limit $limit = null, Offset $offset = null, Order $order) { - $this->validators = $validators; + $this->limit = $limit; + $this->offset = $offset; + $this->order = $order; } /** @@ -65,11 +67,21 @@ class Queries extends Validator } } - foreach ($this->validators as $validator) { - if (!$validator->isValid($query)) { - $this->message = 'Query not valid: ' . $this->validator->getDescription(); + $method = $query->getMethod(); + switch ($method) { + case Query::TYPE_LIMIT: + $validator = $this->limit; + case Query::TYPE_OFFSET: + $validator = $this->offset; + case Query::TYPE_ORDER: + $validator = $this->order; + default: return false; - } + } + + if (!$validator->isValid($query)) { + $this->message = 'Query not valid: ' . $this->validator->getDescription(); + return false; } $queries[] = $query;