Added
- ContactPersons support (main feature of 0.4.0)
- Added
ApplicationInstallations\UseCase\InstallContactPerson\Command / Handler to create and link a ContactPerson to an ApplicationInstallation- Added
ApplicationInstallations\UseCase\UnlinkContactPerson\Command / Handler to unlink a contact person from an installation- Added
ContactPersons\UseCase\ChangeProfile\Command / Handler to update FullName, email, and mobile phone- Added
ContactPersons\UseCase\MarkEmailAsVerified\Command / Handler to confirm email ownership- Added
ContactPersons\UseCase\MarkMobilePhoneAsVerified\Command / Handler to confirm mobile phone ownership- `ContactPersonType` enum (`personal` |
partner`) in `Bitrix24\Lib\ContactPersons\EnumChanged
- `ContactPerson` entity
- Constructor accepts optional
$createdAt / $updatedAt parameters so SDK contract tests can assert stable timestamps-
$isEmailVerified and $isMobilePhoneVerified are initialized from $emailVerifiedAt / $mobilePhoneVerifiedAt in constructor-
getBitrix24UserId() return type narrowed from ?int to int to match ContactPersonInterface-
markAsDeleted() now throws InvalidArgumentException (was `LogicException`) to satisfy the SDK contract- `ApplicationInstallation` entity
-
unlinkContactPerson() and unlinkBitrix24PartnerContactPerson() now return early when the respective ID is already null to avoid unnecessary updatedAt mutation- `OnAppInstall\Handler`
- Now throws
ApplicationInstallationNotFoundException when installation cannot be found by member ID (instead of silent no-op)Fixed
- SDK contract compatibility after `bitrix24/b24phpsdk` update
- Updated
createContactPersonImplementation() signatures in ContactPersonTest and ContactPersonRepositoryTest (`int $bitrix24UserId` moved to position 5 and made non-nullable)- Narrowed
ContactPersonBuilder::$bitrix24UserId from ?int to int- Restored green unit test suite (`170` tests)
https://github.com/mesilov/bitrix24-php-lib/releases
Спасибо Кириллу и Андрею за огромный вклад в разработку
следующий шаг — попробовать собрать реальное тиражное приложение поверх всего этого добра и обновить AI-стартер