From f67916a44cd7410e3632e5e68b41ebc4f37d1195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=83=D1=85=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=BB=D0=B0?= Date: Tue, 7 Apr 2026 17:53:21 +0300 Subject: [PATCH 1/2] since_id and until_id fields --- src/Bot/Model/Request/BotsRequest.php | 46 ++++++++++++++ src/Bot/Model/Request/ChannelsRequest.php | 46 ++++++++++++++ src/Bot/Model/Request/ChatsRequest.php | 26 ++++++++ src/Bot/Model/Request/CommandsRequest.php | 46 ++++++++++++++ src/Bot/Model/Request/CustomersRequest.php | 46 ++++++++++++++ src/Bot/Model/Request/DialogsRequest.php | 25 ++++++++ src/Bot/Model/Request/MembersRequest.php | 50 ++++++++++++++++ src/Bot/Model/Request/MessagesRequest.php | 50 ++++++++++++++++ src/Bot/Model/Request/UsersRequest.php | 46 ++++++++++++++ .../Bot/Tests/Model/ListEntityRequestTest.php | 60 +++++++++++++++++++ 10 files changed, 441 insertions(+) diff --git a/src/Bot/Model/Request/BotsRequest.php b/src/Bot/Model/Request/BotsRequest.php index 3f94194..bee5dd2 100644 --- a/src/Bot/Model/Request/BotsRequest.php +++ b/src/Bot/Model/Request/BotsRequest.php @@ -46,6 +46,20 @@ class BotsRequest implements ModelInterface */ private $roles; + /** + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return int */ @@ -93,4 +107,36 @@ public function setRoles($roles) { $this->roles = $roles; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId) + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/ChannelsRequest.php b/src/Bot/Model/Request/ChannelsRequest.php index 97b15d8..696b832 100644 --- a/src/Bot/Model/Request/ChannelsRequest.php +++ b/src/Bot/Model/Request/ChannelsRequest.php @@ -39,6 +39,20 @@ class ChannelsRequest implements ModelInterface */ private $active; + /** + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return array */ @@ -70,4 +84,36 @@ public function setActive($active) { $this->active = $active; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId) + { + $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..994106b 100644 --- a/src/Bot/Model/Request/CommandsRequest.php +++ b/src/Bot/Model/Request/CommandsRequest.php @@ -31,6 +31,20 @@ class CommandsRequest implements ModelInterface */ private $name; + /** + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return string */ @@ -46,4 +60,36 @@ public function setName($name) { $this->name = $name; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId) + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/CustomersRequest.php b/src/Bot/Model/Request/CustomersRequest.php index f15c2ea..7277b8b 100644 --- a/src/Bot/Model/Request/CustomersRequest.php +++ b/src/Bot/Model/Request/CustomersRequest.php @@ -32,6 +32,20 @@ class CustomersRequest implements ModelInterface */ private $externalId; + /** + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return string */ @@ -47,4 +61,36 @@ public function setExternalId($externalId) { $this->externalId = $externalId; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId) + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/DialogsRequest.php b/src/Bot/Model/Request/DialogsRequest.php index 771f809..664bafc 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) + { + $this->untilId = $untilId; + } + /** * @return int */ diff --git a/src/Bot/Model/Request/MembersRequest.php b/src/Bot/Model/Request/MembersRequest.php index b5546ce..1b9f12f 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) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId(int $untilId) + { + $this->untilId = $untilId; + } } diff --git a/src/Bot/Model/Request/MessagesRequest.php b/src/Bot/Model/Request/MessagesRequest.php index 5679104..faacb68 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) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId(int $untilId) + { + $this->untilId = $untilId; + } + /** * @return int */ diff --git a/src/Bot/Model/Request/UsersRequest.php b/src/Bot/Model/Request/UsersRequest.php index 73d4c3c..d5a2158 100644 --- a/src/Bot/Model/Request/UsersRequest.php +++ b/src/Bot/Model/Request/UsersRequest.php @@ -46,6 +46,20 @@ class UsersRequest implements ModelInterface */ private $online; + /** + * @Type("int") + * @Accessor(getter="getSinceId",setter="setSinceId") + * @SkipWhenEmpty + */ + private $sinceId; + + /** + * @Type("int") + * @Accessor(getter="getUntilId",setter="setUntilId") + * @SkipWhenEmpty + */ + private $untilId; + /** * @return string */ @@ -93,4 +107,36 @@ public function setOnline($online) { $this->online = $online; } + + /** + * @return int + */ + public function getSinceId() + { + return $this->sinceId; + } + + /** + * @param int $sinceId + */ + public function setSinceId($sinceId) + { + $this->sinceId = $sinceId; + } + + /** + * @return int + */ + public function getUntilId() + { + return $this->untilId; + } + + /** + * @param int $untilId + */ + public function setUntilId($untilId) + { + $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)); + } } From 71b62c370a52f7c6b6522a485591c6fb9ecbf586 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D1=83=D1=85=D0=B0=D0=BD=D0=BE=D0=B2=20=D0=94=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=BB=D0=B0?= Date: Wed, 8 Apr 2026 10:00:18 +0300 Subject: [PATCH 2/2] phpstan fix --- .codex | 0 src/Bot/Model/Request/BotsRequest.php | 8 ++++++-- src/Bot/Model/Request/ChannelsRequest.php | 8 ++++++-- src/Bot/Model/Request/CommandsRequest.php | 8 ++++++-- src/Bot/Model/Request/CustomersRequest.php | 8 ++++++-- src/Bot/Model/Request/DialogsRequest.php | 2 +- src/Bot/Model/Request/MembersRequest.php | 4 ++-- src/Bot/Model/Request/MessagesRequest.php | 4 ++-- src/Bot/Model/Request/UsersRequest.php | 8 ++++++-- 9 files changed, 35 insertions(+), 15 deletions(-) create mode 100644 .codex 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 bee5dd2..28d5b3e 100644 --- a/src/Bot/Model/Request/BotsRequest.php +++ b/src/Bot/Model/Request/BotsRequest.php @@ -47,6 +47,8 @@ class BotsRequest implements ModelInterface private $roles; /** + * @var int $sinceId + * * @Type("int") * @Accessor(getter="getSinceId",setter="setSinceId") * @SkipWhenEmpty @@ -54,6 +56,8 @@ class BotsRequest implements ModelInterface private $sinceId; /** + * @var int $untilId + * * @Type("int") * @Accessor(getter="getUntilId",setter="setUntilId") * @SkipWhenEmpty @@ -119,7 +123,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId($sinceId) + public function setSinceId($sinceId): void { $this->sinceId = $sinceId; } @@ -135,7 +139,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId($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 696b832..15dd1f8 100644 --- a/src/Bot/Model/Request/ChannelsRequest.php +++ b/src/Bot/Model/Request/ChannelsRequest.php @@ -40,6 +40,8 @@ class ChannelsRequest implements ModelInterface private $active; /** + * @var int $sinceId + * * @Type("int") * @Accessor(getter="getSinceId",setter="setSinceId") * @SkipWhenEmpty @@ -47,6 +49,8 @@ class ChannelsRequest implements ModelInterface private $sinceId; /** + * @var int $untilId + * * @Type("int") * @Accessor(getter="getUntilId",setter="setUntilId") * @SkipWhenEmpty @@ -96,7 +100,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId($sinceId) + public function setSinceId($sinceId): void { $this->sinceId = $sinceId; } @@ -112,7 +116,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId($untilId) + public function setUntilId($untilId): void { $this->untilId = $untilId; } diff --git a/src/Bot/Model/Request/CommandsRequest.php b/src/Bot/Model/Request/CommandsRequest.php index 994106b..ba600b6 100644 --- a/src/Bot/Model/Request/CommandsRequest.php +++ b/src/Bot/Model/Request/CommandsRequest.php @@ -32,6 +32,8 @@ class CommandsRequest implements ModelInterface private $name; /** + * @var int $sinceId + * * @Type("int") * @Accessor(getter="getSinceId",setter="setSinceId") * @SkipWhenEmpty @@ -39,6 +41,8 @@ class CommandsRequest implements ModelInterface private $sinceId; /** + * @var int $untilId + * * @Type("int") * @Accessor(getter="getUntilId",setter="setUntilId") * @SkipWhenEmpty @@ -72,7 +76,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId($sinceId) + public function setSinceId($sinceId): void { $this->sinceId = $sinceId; } @@ -88,7 +92,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId($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 7277b8b..9f8e77e 100644 --- a/src/Bot/Model/Request/CustomersRequest.php +++ b/src/Bot/Model/Request/CustomersRequest.php @@ -33,6 +33,8 @@ class CustomersRequest implements ModelInterface private $externalId; /** + * @var int $sinceId + * * @Type("int") * @Accessor(getter="getSinceId",setter="setSinceId") * @SkipWhenEmpty @@ -40,6 +42,8 @@ class CustomersRequest implements ModelInterface private $sinceId; /** + * @var int $untilId + * * @Type("int") * @Accessor(getter="getUntilId",setter="setUntilId") * @SkipWhenEmpty @@ -73,7 +77,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId($sinceId) + public function setSinceId($sinceId): void { $this->sinceId = $sinceId; } @@ -89,7 +93,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId($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 664bafc..1dee909 100644 --- a/src/Bot/Model/Request/DialogsRequest.php +++ b/src/Bot/Model/Request/DialogsRequest.php @@ -116,7 +116,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId(int $untilId) + public function setUntilId(int $untilId): void { $this->untilId = $untilId; } diff --git a/src/Bot/Model/Request/MembersRequest.php b/src/Bot/Model/Request/MembersRequest.php index 1b9f12f..6888817 100644 --- a/src/Bot/Model/Request/MembersRequest.php +++ b/src/Bot/Model/Request/MembersRequest.php @@ -129,7 +129,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId(int $sinceId) + public function setSinceId(int $sinceId): void { $this->sinceId = $sinceId; } @@ -145,7 +145,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId(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 faacb68..ed7b3cf 100644 --- a/src/Bot/Model/Request/MessagesRequest.php +++ b/src/Bot/Model/Request/MessagesRequest.php @@ -288,7 +288,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId(int $sinceId) + public function setSinceId(int $sinceId): void { $this->sinceId = $sinceId; } @@ -304,7 +304,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId(int $untilId) + public function setUntilId(int $untilId): void { $this->untilId = $untilId; } diff --git a/src/Bot/Model/Request/UsersRequest.php b/src/Bot/Model/Request/UsersRequest.php index d5a2158..e603b54 100644 --- a/src/Bot/Model/Request/UsersRequest.php +++ b/src/Bot/Model/Request/UsersRequest.php @@ -47,6 +47,8 @@ class UsersRequest implements ModelInterface private $online; /** + * @var int $sinceId + * * @Type("int") * @Accessor(getter="getSinceId",setter="setSinceId") * @SkipWhenEmpty @@ -54,6 +56,8 @@ class UsersRequest implements ModelInterface private $sinceId; /** + * @var int $untilId + * * @Type("int") * @Accessor(getter="getUntilId",setter="setUntilId") * @SkipWhenEmpty @@ -119,7 +123,7 @@ public function getSinceId() /** * @param int $sinceId */ - public function setSinceId($sinceId) + public function setSinceId($sinceId): void { $this->sinceId = $sinceId; } @@ -135,7 +139,7 @@ public function getUntilId() /** * @param int $untilId */ - public function setUntilId($untilId) + public function setUntilId($untilId): void { $this->untilId = $untilId; }