diff --git a/.codex b/.codex new file mode 100644 index 0000000..e69de29 diff --git a/src/Bot/Model/Request/BotsRequest.php b/src/Bot/Model/Request/BotsRequest.php index 3f94194..28d5b3e 100644 --- a/src/Bot/Model/Request/BotsRequest.php +++ b/src/Bot/Model/Request/BotsRequest.php @@ -46,6 +46,24 @@ class BotsRequest implements ModelInterface */ private $roles; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return int */ @@ -93,4 +111,36 @@ public function setRoles($roles) { $this->roles = $roles; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId): void + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/ChannelsRequest.php b/src/Bot/Model/Request/ChannelsRequest.php index 97b15d8..15dd1f8 100644 --- a/src/Bot/Model/Request/ChannelsRequest.php +++ b/src/Bot/Model/Request/ChannelsRequest.php @@ -39,6 +39,24 @@ class ChannelsRequest implements ModelInterface */ private $active; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return array */ @@ -70,4 +88,36 @@ public function setActive($active) { $this->active = $active; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId): void + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/ChatsRequest.php b/src/Bot/Model/Request/ChatsRequest.php index a6a5f1b..9d10b29 100644 --- a/src/Bot/Model/Request/ChatsRequest.php +++ b/src/Bot/Model/Request/ChatsRequest.php @@ -58,6 +58,15 @@ class ChatsRequest implements ModelInterface */ private $sinceId; + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty() + */ + private $untilId; + /** * @return int */ @@ -123,4 +132,21 @@ public function setSinceId($sinceId) { $this->sinceId = $sinceId; } + + /** + * @return int|null + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + * @return void + */ + public function setUntilId($untilId) + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/CommandsRequest.php b/src/Bot/Model/Request/CommandsRequest.php index a40ec76..ba600b6 100644 --- a/src/Bot/Model/Request/CommandsRequest.php +++ b/src/Bot/Model/Request/CommandsRequest.php @@ -31,6 +31,24 @@ class CommandsRequest implements ModelInterface */ private $name; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return string */ @@ -46,4 +64,36 @@ public function setName($name) { $this->name = $name; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId): void + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/CustomersRequest.php b/src/Bot/Model/Request/CustomersRequest.php index f15c2ea..9f8e77e 100644 --- a/src/Bot/Model/Request/CustomersRequest.php +++ b/src/Bot/Model/Request/CustomersRequest.php @@ -32,6 +32,24 @@ class CustomersRequest implements ModelInterface */ private $externalId; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return string */ @@ -47,4 +65,36 @@ public function setExternalId($externalId) { $this->externalId = $externalId; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId): void + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/DialogsRequest.php b/src/Bot/Model/Request/DialogsRequest.php index 771f809..1dee909 100644 --- a/src/Bot/Model/Request/DialogsRequest.php +++ b/src/Bot/Model/Request/DialogsRequest.php @@ -35,6 +35,15 @@ class DialogsRequest implements ModelInterface */ private $sinceId; + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @var int $chatId * @@ -96,6 +105,22 @@ public function setSinceId(int $sinceId) $this->sinceId = $sinceId; } + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId(int $untilId): void + { + $this->untilId = $untilId; + } + /** * @return int */ diff --git a/src/Bot/Model/Request/MembersRequest.php b/src/Bot/Model/Request/MembersRequest.php index b5546ce..6888817 100644 --- a/src/Bot/Model/Request/MembersRequest.php +++ b/src/Bot/Model/Request/MembersRequest.php @@ -52,6 +52,24 @@ class MembersRequest implements ModelInterface */ private $state; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return int */ @@ -99,4 +117,36 @@ public function setState(string $state) { $this->state = $state; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId(int $sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId(int $untilId): void + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/MessagesRequest.php b/src/Bot/Model/Request/MessagesRequest.php index 5679104..ed7b3cf 100644 --- a/src/Bot/Model/Request/MessagesRequest.php +++ b/src/Bot/Model/Request/MessagesRequest.php @@ -106,6 +106,24 @@ class MessagesRequest implements ModelInterface */ private $type; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty() + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty() + */ + private $untilId; + /** * @var int $limit * @@ -259,6 +277,38 @@ public function setType(string $type) $this->type = $type; } + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId(int $sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId(int $untilId): void + { + $this->untilId = $untilId; + } + /** * @return int */ diff --git a/src/Bot/Model/Request/UsersRequest.php b/src/Bot/Model/Request/UsersRequest.php index 73d4c3c..e603b54 100644 --- a/src/Bot/Model/Request/UsersRequest.php +++ b/src/Bot/Model/Request/UsersRequest.php @@ -46,6 +46,24 @@ class UsersRequest implements ModelInterface */ private $online; + /** + * @var int $sinceId + * + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @var int $untilId + * + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return string */ @@ -93,4 +111,36 @@ public function setOnline($online) { $this->online = $online; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId): void + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId): void + { + $this->untilId = $untilId; + } } diff --git a/tests/Bot/Tests/Model/ListEntityRequestTest.php b/tests/Bot/Tests/Model/ListEntityRequestTest.php index 28be51e..47409d0 100644 --- a/tests/Bot/Tests/Model/ListEntityRequestTest.php +++ b/tests/Bot/Tests/Model/ListEntityRequestTest.php @@ -7,14 +7,18 @@ use RetailCrm\Mg\Bot\Model\Request\BotsRequest; use RetailCrm\Mg\Bot\Model\Request\ChannelsRequest; use RetailCrm\Mg\Bot\Model\Request\ChatsRequest; +use RetailCrm\Mg\Bot\Model\Request\CommandsRequest; use RetailCrm\Mg\Bot\Model\Request\CustomersRequest; use RetailCrm\Mg\Bot\Model\Request\DialogsRequest; use RetailCrm\Mg\Bot\Model\Request\MembersRequest; +use RetailCrm\Mg\Bot\Model\Request\MessagesRequest; use RetailCrm\Mg\Bot\Model\Request\UsersRequest; class ListEntityRequestTest extends TestCase { private const LIMIT = 100; + private const SINCE_ID = 123; + private const UNTIL_ID = 456; public function testListRequestsWithLimit(): void { @@ -54,4 +58,60 @@ public function testListRequestsWithLimit(): void self::assertEquals($expected, Serializer::serialize($request)); } + + public function testListRequestsWithSinceAndUntilIds(): void + { + $expected = ['since_id' => self::SINCE_ID, 'until_id' => self::UNTIL_ID]; + + $request = new BotsRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + + $request = new ChannelsRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + + $request = new CommandsRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + + $request = new CustomersRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + + $request = new MembersRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + + $request = new UsersRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + + $request = new MessagesRequest(); + $request->setSinceId(self::SINCE_ID); + $request->setUntilId(self::UNTIL_ID); + self::assertEquals($expected, Serializer::serialize($request, Serializer::S_ARRAY)); + } + + public function testChatsRequestWithUntilId(): void + { + $request = new ChatsRequest(); + $request->setUntilId(self::UNTIL_ID); + + self::assertEquals(['until_id' => self::UNTIL_ID], Serializer::serialize($request, Serializer::S_ARRAY)); + } + + public function testDialogsRequestWithUntilId(): void + { + $request = new DialogsRequest(); + $request->setUntilId(self::UNTIL_ID); + + self::assertEquals(['until_id' => self::UNTIL_ID], Serializer::serialize($request, Serializer::S_ARRAY)); + } }