From 6e31c591bdcbc325ba2172c7cc7c4128e014d076 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Thu, 4 Nov 2021 16:16:22 +0200 Subject: [PATCH] types --- application/Espo/Core/Repositories/Database.php | 2 +- application/Espo/Entities/Email.php | 2 ++ application/Espo/Entities/Sms.php | 1 + application/Espo/Entities/User.php | 2 +- application/Espo/Hooks/Sms/Numbers.php | 1 + application/Espo/Modules/Crm/Controllers/Call.php | 1 + .../Espo/Modules/Crm/Controllers/Campaign.php | 1 + application/Espo/Modules/Crm/Controllers/CaseObj.php | 1 + .../Espo/Modules/Crm/Controllers/Document.php | 1 + .../Modules/Crm/Controllers/KnowledgeBaseArticle.php | 1 + application/Espo/Modules/Crm/Controllers/Lead.php | 1 + application/Espo/Modules/Crm/Controllers/Meeting.php | 1 + .../Espo/Modules/Crm/Controllers/Opportunity.php | 1 + .../Espo/Modules/Crm/Controllers/TargetList.php | 1 + application/Espo/Modules/Crm/Services/Document.php | 1 + application/Espo/Modules/Crm/Services/Lead.php | 12 ++++++++++++ application/Espo/ORM/Repository/RDBRepository.php | 2 ++ 17 files changed, 30 insertions(+), 2 deletions(-) diff --git a/application/Espo/Core/Repositories/Database.php b/application/Espo/Core/Repositories/Database.php index bf4ce6de75..0af4389f66 100644 --- a/application/Espo/Core/Repositories/Database.php +++ b/application/Espo/Core/Repositories/Database.php @@ -51,7 +51,7 @@ use Espo\Core\{ /** * @template T of \Espo\Core\ORM\Entity - * @extends RDBRepository<\Espo\Core\ORM\Entity> + * @extends RDBRepository */ class Database extends RDBRepository { diff --git a/application/Espo/Entities/Email.php b/application/Espo/Entities/Email.php index 56e5240e27..cb21695f9a 100644 --- a/application/Espo/Entities/Email.php +++ b/application/Espo/Entities/Email.php @@ -294,6 +294,7 @@ class Email extends Entity $idList[] = $id; + /** @var Attachment */ $attachment = $this->entityManager->getEntity('Attachment', $id); if ($attachment) { @@ -510,6 +511,7 @@ class Email extends Entity private function getEmailRepository(): EmailRepository { + /** @var EmailRepository */ return $this->entityManager->getRepository(self::ENTITY_TYPE); } } diff --git a/application/Espo/Entities/Sms.php b/application/Espo/Entities/Sms.php index 97bcb93c7d..3062f64f55 100644 --- a/application/Espo/Entities/Sms.php +++ b/application/Espo/Entities/Sms.php @@ -137,6 +137,7 @@ class Sms extends Entity implements SmsInterface private function getSmsRepository(): SmsRepository { + /** @var SmsRepository */ return $this->entityManager->getRepository(self::ENTITY_TYPE); } } diff --git a/application/Espo/Entities/User.php b/application/Espo/Entities/User.php index c8c5040a5e..a58edf01fe 100644 --- a/application/Espo/Entities/User.php +++ b/application/Espo/Entities/User.php @@ -152,7 +152,7 @@ class User extends Person } } - public function setTitle(?string $title): ?string + public function setTitle(?string $title): self { $this->set('title', $title); diff --git a/application/Espo/Hooks/Sms/Numbers.php b/application/Espo/Hooks/Sms/Numbers.php index c36ecef705..d77107aba8 100644 --- a/application/Espo/Hooks/Sms/Numbers.php +++ b/application/Espo/Hooks/Sms/Numbers.php @@ -106,6 +106,7 @@ class Numbers private function getPhoneNumberRepository(): PhoneNumberRepository { + /** @var PhoneNumberRepository */ return $this->entityManager->getRepository(PhoneNumber::ENTITY_TYPE); } } diff --git a/application/Espo/Modules/Crm/Controllers/Call.php b/application/Espo/Modules/Crm/Controllers/Call.php index 733770af82..0548c28799 100644 --- a/application/Espo/Modules/Crm/Controllers/Call.php +++ b/application/Espo/Modules/Crm/Controllers/Call.php @@ -99,6 +99,7 @@ class Call extends \Espo\Core\Controllers\Record private function getCallService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/Campaign.php b/application/Espo/Modules/Crm/Controllers/Campaign.php index d7eb48818e..6d0bc792ce 100644 --- a/application/Espo/Modules/Crm/Controllers/Campaign.php +++ b/application/Espo/Modules/Crm/Controllers/Campaign.php @@ -61,6 +61,7 @@ class Campaign extends \Espo\Core\Controllers\Record private function getCampaignService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/CaseObj.php b/application/Espo/Modules/Crm/Controllers/CaseObj.php index 2d6dac2115..b9d730ef53 100644 --- a/application/Espo/Modules/Crm/Controllers/CaseObj.php +++ b/application/Espo/Modules/Crm/Controllers/CaseObj.php @@ -55,6 +55,7 @@ class CaseObj extends \Espo\Core\Controllers\Record private function getCaseService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/Document.php b/application/Espo/Modules/Crm/Controllers/Document.php index 4fd28e6b35..3e36cbf5d4 100644 --- a/application/Espo/Modules/Crm/Controllers/Document.php +++ b/application/Espo/Modules/Crm/Controllers/Document.php @@ -59,6 +59,7 @@ class Document extends \Espo\Core\Controllers\Record private function getDocumentService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/KnowledgeBaseArticle.php b/application/Espo/Modules/Crm/Controllers/KnowledgeBaseArticle.php index b84333598e..e8fc3d4a00 100644 --- a/application/Espo/Modules/Crm/Controllers/KnowledgeBaseArticle.php +++ b/application/Espo/Modules/Crm/Controllers/KnowledgeBaseArticle.php @@ -132,6 +132,7 @@ class KnowledgeBaseArticle extends \Espo\Core\Controllers\Record private function getArticleService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/Lead.php b/application/Espo/Modules/Crm/Controllers/Lead.php index fe449161fc..f5179e60a8 100644 --- a/application/Espo/Modules/Crm/Controllers/Lead.php +++ b/application/Espo/Modules/Crm/Controllers/Lead.php @@ -76,6 +76,7 @@ class Lead extends \Espo\Core\Controllers\Record private function getLeadService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/Meeting.php b/application/Espo/Modules/Crm/Controllers/Meeting.php index 9ac04d2e97..7cfce21508 100644 --- a/application/Espo/Modules/Crm/Controllers/Meeting.php +++ b/application/Espo/Modules/Crm/Controllers/Meeting.php @@ -99,6 +99,7 @@ class Meeting extends \Espo\Core\Controllers\Record private function getMeetingService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/Opportunity.php b/application/Espo/Modules/Crm/Controllers/Opportunity.php index 53372da520..e08f86e733 100644 --- a/application/Espo/Modules/Crm/Controllers/Opportunity.php +++ b/application/Espo/Modules/Crm/Controllers/Opportunity.php @@ -116,6 +116,7 @@ class Opportunity extends \Espo\Core\Controllers\Record private function getOpportunityService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Controllers/TargetList.php b/application/Espo/Modules/Crm/Controllers/TargetList.php index c4ffdd1fd4..e0d3c106c9 100644 --- a/application/Espo/Modules/Crm/Controllers/TargetList.php +++ b/application/Espo/Modules/Crm/Controllers/TargetList.php @@ -97,6 +97,7 @@ class TargetList extends Record private function getTargetListService(): Service { + /** @var Service */ return $this->getRecordService(); } } diff --git a/application/Espo/Modules/Crm/Services/Document.php b/application/Espo/Modules/Crm/Services/Document.php index 606fbbf3c2..6f9e379567 100644 --- a/application/Espo/Modules/Crm/Services/Document.php +++ b/application/Espo/Modules/Crm/Services/Document.php @@ -75,6 +75,7 @@ class Document extends \Espo\Services\Record private function getAttachmentRepository(): AttachmentRepository { + /** @var AttachmentRepository */ return $this->entityManager->getRepository(Attachment::ENTITY_TYPE); } } diff --git a/application/Espo/Modules/Crm/Services/Lead.php b/application/Espo/Modules/Crm/Services/Lead.php index dde61f1f97..5b37fa6e6a 100644 --- a/application/Espo/Modules/Crm/Services/Lead.php +++ b/application/Espo/Modules/Crm/Services/Lead.php @@ -40,6 +40,9 @@ use Espo\Services\Record; use Espo\Repositories\Attachment as AttachmentRepository; use Espo\Entities\Attachment; +use Espo\Modules\Crm\Entities\Account; +use Espo\Modules\Crm\Entities\Opportunity; +use Espo\Modules\Crm\Entities\Contact; use Espo\Core\Di; @@ -88,6 +91,7 @@ class Lead extends Record implements public function getConvertAttributes(string $id): array { + /** @var LeadEntity */ $lead = $this->getEntity($id); if (!$this->getAcl()->check($lead, 'read')) { @@ -219,6 +223,7 @@ class Lead extends Record implements public function convert(string $id, object $recordsData, ?object $additionalData = null): LeadEntity { + /** @var LeadEntity */ $lead = $this->getEntity($id); $additionalData = $additionalData ?? (object) []; @@ -239,6 +244,8 @@ class Lead extends Record implements $account->set(get_object_vars($recordsData->Account)); if ($duplicateCheck) { + /** @var Account[] */ + /** @var iterable */ $rDuplicateList = $this->recordServiceContainer ->get('Account') ->findDuplicates($account); @@ -269,6 +276,8 @@ class Lead extends Record implements } if ($duplicateCheck) { + /** @var Contact[] */ + /** @var iterable */ $rDuplicateList = $this->recordServiceContainer ->get('Contact') ->findDuplicates($contact); @@ -305,6 +314,8 @@ class Lead extends Record implements } if ($duplicateCheck) { + /** @var Opportunity[] */ + /** @var iterable */ $rDuplicateList = $this->recordServiceContainer ->get('Opportunity') ->findDuplicates($opportunity); @@ -450,6 +461,7 @@ class Lead extends Record implements private function getAttachmentRepository(): AttachmentRepository { + /** @var AttachmentRepository */ return $this->entityManager->getRepository(Attachment::ENTITY_TYPE); } } diff --git a/application/Espo/ORM/Repository/RDBRepository.php b/application/Espo/ORM/Repository/RDBRepository.php index e7f45a7c79..7f4930a510 100644 --- a/application/Espo/ORM/Repository/RDBRepository.php +++ b/application/Espo/ORM/Repository/RDBRepository.php @@ -208,6 +208,8 @@ class RDBRepository implements Repository /** * Get an access point for a specific relation of a record. + * + * @phpstan-param T $entity */ public function getRelation(Entity $entity, string $relationName): RDBRelation {