diff --git a/application/Espo/Core/FieldProcessing/EmailAddress/AccessChecker.php b/application/Espo/Core/FieldProcessing/EmailAddress/AccessChecker.php index 2ae3e5869a..043bd64d82 100644 --- a/application/Espo/Core/FieldProcessing/EmailAddress/AccessChecker.php +++ b/application/Espo/Core/FieldProcessing/EmailAddress/AccessChecker.php @@ -69,7 +69,7 @@ class AccessChecker } if ( - $e->getEntityType() === 'User' && + $e instanceof User && $e->isPortal() && $excludeEntity->getEntityType() === 'Contact' && $e->get('contactId') === $excludeEntity->getEntityType() diff --git a/application/Espo/Core/FieldProcessing/PhoneNumber/AccessChecker.php b/application/Espo/Core/FieldProcessing/PhoneNumber/AccessChecker.php index 15468d053f..d22424aaa9 100644 --- a/application/Espo/Core/FieldProcessing/PhoneNumber/AccessChecker.php +++ b/application/Espo/Core/FieldProcessing/PhoneNumber/AccessChecker.php @@ -70,7 +70,7 @@ class AccessChecker } if ( - $e->getEntityType() === 'User' && + $e instanceof User && $e->isPortal() && $excludeEntity->getEntityType() === 'Contact' && $e->get('contactId') === $excludeEntity->getId() diff --git a/application/Espo/Core/Record/Service.php b/application/Espo/Core/Record/Service.php index dbccc06c01..bfffbc2024 100644 --- a/application/Espo/Core/Record/Service.php +++ b/application/Espo/Core/Record/Service.php @@ -1679,6 +1679,7 @@ class Service implements Crud, /** * @param TEntity $entity + * @param TEntity $duplicatingEntity */ protected function duplicateLinks(Entity $entity, Entity $duplicatingEntity): void { diff --git a/application/Espo/Modules/Crm/Entities/Call.php b/application/Espo/Modules/Crm/Entities/Call.php index f01fd6a3bf..2de1211bc0 100644 --- a/application/Espo/Modules/Crm/Entities/Call.php +++ b/application/Espo/Modules/Crm/Entities/Call.php @@ -57,5 +57,4 @@ class Call extends Entity { $this->setValueObject('dateEnd', $dateEnd); } - } diff --git a/application/Espo/Modules/Crm/EntryPoints/CampaignUrl.php b/application/Espo/Modules/Crm/EntryPoints/CampaignUrl.php index 495550adcd..fbab3154e4 100644 --- a/application/Espo/Modules/Crm/EntryPoints/CampaignUrl.php +++ b/application/Espo/Modules/Crm/EntryPoints/CampaignUrl.php @@ -211,7 +211,7 @@ class CampaignUrl implements EntryPoint foreach ($entityList as $target) { $this->hookManager->process('CampaignTrackingUrl', 'afterClick', $trackingUrl, [], [ - 'targetId' => $target->id, + 'targetId' => $target->getId(), 'targetType' => $target->getEntityType(), ]); } diff --git a/application/Espo/Modules/Crm/Services/Account.php b/application/Espo/Modules/Crm/Services/Account.php index e2302ab597..a812399e35 100644 --- a/application/Espo/Modules/Crm/Services/Account.php +++ b/application/Espo/Modules/Crm/Services/Account.php @@ -29,7 +29,12 @@ namespace Espo\Modules\Crm\Services; -class Account extends \Espo\Services\Record +use Espo\Services\Record; + +/** + * @extends Record<\Espo\Modules\Crm\Entities\Account> + */ +class Account extends Record { protected $linkMandatorySelectAttributeList = [ 'contacts' => ['accountIsInactive'], diff --git a/application/Espo/Modules/Crm/Services/Campaign.php b/application/Espo/Modules/Crm/Services/Campaign.php index 1588acd00d..527487c1c6 100644 --- a/application/Espo/Modules/Crm/Services/Campaign.php +++ b/application/Espo/Modules/Crm/Services/Campaign.php @@ -39,9 +39,14 @@ use Espo\Core\Exceptions\Error; use Espo\Core\Exceptions\Forbidden; use Espo\Core\Exceptions\BadRequest; +use \Espo\Services\Record; + use Espo\Core\Di; -class Campaign extends \Espo\Services\Record implements +/** + * @extends Record<\Espo\Modules\Crm\Entities\Campaign> + */ +class Campaign extends Record implements Di\DefaultLanguageAware { diff --git a/application/Espo/Modules/Crm/Services/CampaignLogRecord.php b/application/Espo/Modules/Crm/Services/CampaignLogRecord.php index 819817ff60..b4447f3cd4 100644 --- a/application/Espo/Modules/Crm/Services/CampaignLogRecord.php +++ b/application/Espo/Modules/Crm/Services/CampaignLogRecord.php @@ -29,7 +29,12 @@ namespace Espo\Modules\Crm\Services; -class CampaignLogRecord extends \Espo\Services\Record +use Espo\Services\Record; + +/** + * @extends Record<\Espo\Modules\Crm\Entities\CampaignLogRecord> + */ +class CampaignLogRecord extends Record { protected $forceSelectAllAttributes = true; } diff --git a/application/Espo/Modules/Crm/Services/CampaignTrackingUrl.php b/application/Espo/Modules/Crm/Services/CampaignTrackingUrl.php index dc384720bb..7e3d991a83 100644 --- a/application/Espo/Modules/Crm/Services/CampaignTrackingUrl.php +++ b/application/Espo/Modules/Crm/Services/CampaignTrackingUrl.php @@ -32,13 +32,19 @@ namespace Espo\Modules\Crm\Services; use Espo\Core\Exceptions\Forbidden; use Espo\ORM\Entity; -class CampaignTrackingUrl extends \Espo\Services\Record +use Espo\Services\Record; + +/** + * @extends Record<\Espo\Modules\Crm\Entities\CampaignTrackingUrl> + */ +class CampaignTrackingUrl extends Record { protected $mandatorySelectAttributeList = ['campaignId']; protected function beforeCreateEntity(Entity $entity, $data) { parent::beforeCreateEntity($entity, $data); + if (!$this->getAcl()->check($entity, 'edit')) { throw new Forbidden(); } diff --git a/application/Espo/Modules/Crm/Services/CaseObj.php b/application/Espo/Modules/Crm/Services/CaseObj.php index dc664e711a..3e571c8d06 100644 --- a/application/Espo/Modules/Crm/Services/CaseObj.php +++ b/application/Espo/Modules/Crm/Services/CaseObj.php @@ -37,6 +37,9 @@ use Espo\{ use stdClass; +/** + * @extends Record<\Espo\Modules\Crm\Entities\CaseObj> + */ class CaseObj extends Record { protected $noEditAccessRequiredLinkList = [ diff --git a/application/Espo/Modules/Crm/Services/Contact.php b/application/Espo/Modules/Crm/Services/Contact.php index 274136aab5..fcc180c8bc 100644 --- a/application/Espo/Modules/Crm/Services/Contact.php +++ b/application/Espo/Modules/Crm/Services/Contact.php @@ -33,6 +33,9 @@ use Espo\ORM\Entity; use Espo\Services\Record; +/** + * @extends Record<\Espo\Modules\Crm\Entities\Contact> + */ class Contact extends Record { protected $readOnlyAttributeList = [ diff --git a/application/Espo/Modules/Crm/Services/Document.php b/application/Espo/Modules/Crm/Services/Document.php index 1dd65dc8fa..8c0776cc65 100644 --- a/application/Espo/Modules/Crm/Services/Document.php +++ b/application/Espo/Modules/Crm/Services/Document.php @@ -34,7 +34,12 @@ use Espo\Core\Exceptions\NotFound; use Espo\Repositories\Attachment as AttachmentRepository; use Espo\Entities\Attachment; -class Document extends \Espo\Services\Record +use Espo\Services\Record; + +/** + * @extends Record<\Espo\Modules\Crm\Entities\Document> + */ +class Document extends Record { /** * @return \Espo\ORM\Collection diff --git a/application/Espo/Modules/Crm/Services/DocumentFolder.php b/application/Espo/Modules/Crm/Services/DocumentFolder.php index 916678491e..30ce1c325d 100644 --- a/application/Espo/Modules/Crm/Services/DocumentFolder.php +++ b/application/Espo/Modules/Crm/Services/DocumentFolder.php @@ -29,6 +29,9 @@ namespace Espo\Modules\Crm\Services; +/** + * @extends \Espo\Services\RecordTree<\Espo\Modules\Crm\Entities\DocumentFolder> + */ class DocumentFolder extends \Espo\Services\RecordTree { protected $subjectEntityType = 'Document'; diff --git a/application/Espo/Modules/Crm/Services/KnowledgeBaseArticle.php b/application/Espo/Modules/Crm/Services/KnowledgeBaseArticle.php index 7e2e5cdc1f..9ce2871d3b 100644 --- a/application/Espo/Modules/Crm/Services/KnowledgeBaseArticle.php +++ b/application/Espo/Modules/Crm/Services/KnowledgeBaseArticle.php @@ -34,6 +34,8 @@ use Espo\Core\Exceptions\Forbidden; use Espo\Core\Exceptions\NotFound; use Espo\Core\Exceptions\Error; +use Espo\Services\Record; + use Espo\Entities\Attachment; use Espo\Modules\Crm\Entities\KnowledgeBaseArticle as KnowledgeBaseArticleEntity; @@ -45,7 +47,10 @@ use Espo\Core\{ use stdClass; -class KnowledgeBaseArticle extends \Espo\Services\Record implements +/** + * @extends Record<\Espo\Modules\Crm\Entities\KnowledgeBaseArticle> + */ +class KnowledgeBaseArticle extends Record implements Di\FileStorageManagerAware { diff --git a/application/Espo/Modules/Crm/Services/KnowledgeBaseCategory.php b/application/Espo/Modules/Crm/Services/KnowledgeBaseCategory.php index b8200726c3..e6df99f0e5 100644 --- a/application/Espo/Modules/Crm/Services/KnowledgeBaseCategory.php +++ b/application/Espo/Modules/Crm/Services/KnowledgeBaseCategory.php @@ -29,8 +29,9 @@ namespace Espo\Modules\Crm\Services; -use Espo\ORM\Entity; - +/** + * @extends \Espo\Services\RecordTree<\Espo\Modules\Crm\Entities\KnowledgeBaseCategory> + */ class KnowledgeBaseCategory extends \Espo\Services\RecordTree { protected $subjectEntityType = 'KnowledgeBaseArticle'; diff --git a/application/Espo/Modules/Crm/Services/Lead.php b/application/Espo/Modules/Crm/Services/Lead.php index a02c374b25..848a816661 100644 --- a/application/Espo/Modules/Crm/Services/Lead.php +++ b/application/Espo/Modules/Crm/Services/Lead.php @@ -48,6 +48,9 @@ use Espo\Core\Di; use stdClass; +/** + * @extends Record<\Espo\Modules\Crm\Entities\Lead> + */ class Lead extends Record implements Di\FieldUtilAware diff --git a/application/Espo/Modules/Crm/Services/MassEmail.php b/application/Espo/Modules/Crm/Services/MassEmail.php index 19f386218b..c5f76b7303 100644 --- a/application/Espo/Modules/Crm/Services/MassEmail.php +++ b/application/Espo/Modules/Crm/Services/MassEmail.php @@ -40,12 +40,15 @@ use Espo\Core\{ use Espo\{ ORM\Entity, - Services\Record as RecordService, + Services\Record, Modules\Crm\Tools\MassEmail\Processor, Modules\Crm\Tools\MassEmail\Queue, }; -class MassEmail extends RecordService +/** + * @extends Record<\Espo\Modules\Crm\Entities\MassEmail> + */ +class MassEmail extends Record { protected $mandatorySelectAttributeList = [ 'campaignId', diff --git a/application/Espo/Modules/Crm/Services/Meeting.php b/application/Espo/Modules/Crm/Services/Meeting.php index 0d36ed627e..545d0c40de 100644 --- a/application/Espo/Modules/Crm/Services/Meeting.php +++ b/application/Espo/Modules/Crm/Services/Meeting.php @@ -41,18 +41,34 @@ use Espo\Core\Exceptions\BadRequest; use Espo\Core\Di; +/** + * @extends Record + */ class Meeting extends Record implements Di\HookManagerAware { use Di\HookManagerSetter; + /** + * @var string[] + */ protected $validateRequiredSkipFieldList = [ 'dateEnd', ]; + /** + * @var string[] + */ protected $exportSkipFieldList = ['duration']; - protected $duplicateIgnoreAttributeList = ['usersColumns', 'contactsColumns', 'leadsColumns']; + /** + * @var string[] + */ + protected $duplicateIgnoreAttributeList = [ + 'usersColumns', + 'contactsColumns', + 'leadsColumns', + ]; public function checkAssignment(Entity $entity): bool { @@ -102,7 +118,7 @@ class Meeting extends Record implements return true; } - protected function getInvitationManager(bool $useUserSmtp = true) + protected function getInvitationManager(bool $useUserSmtp = true): Invitations { $smtpParams = null; @@ -115,7 +131,7 @@ class Meeting extends Record implements ]); } - public function sendInvitations(CoreEntity $entity, bool $useUserSmtp = true) + public function sendInvitations(CoreEntity $entity, bool $useUserSmtp = true): bool { $invitationManager = $this->getInvitationManager($useUserSmtp); @@ -188,7 +204,10 @@ class Meeting extends Record implements return true; } - public function massSetHeld(array $ids) + /** + * @param string[] $ids + */ + public function massSetHeld(array $ids): bool { foreach ($ids as $id) { $entity = $this->getEntityManager()->getEntity($this->entityType, $id); @@ -202,7 +221,10 @@ class Meeting extends Record implements return true; } - public function massSetNotHeld(array $ids) + /** + * @param string[] $ids + */ + public function massSetNotHeld(array $ids): bool { foreach ($ids as $id) { $entity = $this->getEntityManager()->getEntity($this->entityType, $id); @@ -217,7 +239,7 @@ class Meeting extends Record implements return true; } - public function setAcceptanceStatus(string $id, string $status, ?string $userId = null) + public function setAcceptanceStatus(string $id, string $status, ?string $userId = null): bool { $userId = $userId ?? $this->getUser()->getId(); @@ -237,7 +259,7 @@ class Meeting extends Record implements assert($entity instanceof CoreEntity); if (!$entity->hasLinkMultipleId('users', $userId)) { - return; + return false; } $this->getEntityManager() diff --git a/application/Espo/Modules/Crm/Services/Target.php b/application/Espo/Modules/Crm/Services/Target.php index c3ff4b3501..1c6eefddd1 100644 --- a/application/Espo/Modules/Crm/Services/Target.php +++ b/application/Espo/Modules/Crm/Services/Target.php @@ -31,12 +31,15 @@ namespace Espo\Modules\Crm\Services; use Espo\Core\Exceptions\Forbidden; +use Espo\ORM\Entity; + /** * @deprecated + * @extends \Espo\Services\Record<\Espo\Modules\Crm\Entities\Target> */ class Target extends \Espo\Services\Record { - public function convert($id) + public function convert(string $id): Entity { $entityManager = $this->getEntityManager(); $target = $this->getEntity($id); diff --git a/application/Espo/Modules/Crm/Services/TargetList.php b/application/Espo/Modules/Crm/Services/TargetList.php index e60d92ee9d..f25a664ec4 100644 --- a/application/Espo/Modules/Crm/Services/TargetList.php +++ b/application/Espo/Modules/Crm/Services/TargetList.php @@ -41,6 +41,8 @@ use Espo\Core\Exceptions\Error; use Espo\Modules\Crm\Entities\TargetList as TargetListEntity; use Espo\Core\Record\Collection as RecordCollection; +use Espo\Services\Record; + use Espo\Core\Select\SearchParams; use Espo\Core\Utils\Metadata; @@ -49,7 +51,10 @@ use PDO; use Espo\Core\Di; -class TargetList extends \Espo\Services\Record implements +/** + * @extends Record<\Espo\Modules\Crm\Entities\TargetList> + */ +class TargetList extends Record implements Di\HookManagerAware { @@ -109,7 +114,7 @@ class TargetList extends \Espo\Services\Record implements } protected function populateFromCampaignLog( - Entity $entity, + TargetListEntity $entity, string $sourceCampaignId, array $includingActionList, array $excludingActionList diff --git a/application/Espo/Modules/Crm/Services/Task.php b/application/Espo/Modules/Crm/Services/Task.php index 5facbb5957..79723d3175 100644 --- a/application/Espo/Modules/Crm/Services/Task.php +++ b/application/Espo/Modules/Crm/Services/Task.php @@ -31,4 +31,7 @@ namespace Espo\Modules\Crm\Services; use Espo\Services\Record; +/** + * @extends Record<\Espo\Modules\Crm\Entities\Task> + */ class Task extends Record {} diff --git a/application/Espo/Modules/Crm/Tools/MassEmail/Processor.php b/application/Espo/Modules/Crm/Tools/MassEmail/Processor.php index 9cc0a4e1b3..e664f57f6b 100644 --- a/application/Espo/Modules/Crm/Tools/MassEmail/Processor.php +++ b/application/Espo/Modules/Crm/Tools/MassEmail/Processor.php @@ -50,6 +50,7 @@ use Espo\{ Modules\Crm\Entities\EmailQueueItem, Modules\Crm\Entities\Campaign, Modules\Crm\Entities\MassEmail, + Modules\Crm\Entities\CampaignTrackingUrl, Modules\Crm\Services\Campaign as CampaignService, Services\EmailTemplate as EmailTemplateService, ORM\Entity, @@ -75,11 +76,11 @@ class Processor protected const MAX_PER_HOUR_COUNT = 10000; - private $campaignService = null; + private ?CampaignService $campaignService = null; - private $emailTemplateService = null; + private ?EmailTemplateService $emailTemplateService = null; - protected $log; + protected Log $log; public function __construct( Config $config, @@ -228,6 +229,9 @@ class Processor } } + /** + * @param iterable $trackingUrlList + */ protected function getPreparedEmail( EmailQueueItem $queueItem, MassEmail $massEmail, @@ -311,6 +315,9 @@ class Processor return $email; } + /** + * @param array $params + */ protected function prepareQueueItemMessage( EmailQueueItem $queueItem, Sender $sender, @@ -369,6 +376,7 @@ class Processor /** * @param iterable<\Espo\Entities\Attachment> $attachmentList + * @param ?array $smtpParams */ protected function sendQueueItem( EmailQueueItem $queueItem, @@ -425,9 +433,11 @@ class Processor } } + /** @var CampaignTrackingUrl[] */ $trackingUrlList = []; if ($campaign) { + /** @var \Espo\ORM\Collection */ $trackingUrlList = $this->entityManager ->getRDBRepository('Campaign') ->getRelation($campaign, 'trackingUrls') diff --git a/application/Espo/Modules/Crm/Tools/MassEmail/Queue.php b/application/Espo/Modules/Crm/Tools/MassEmail/Queue.php index ca74f08742..233ac88634 100644 --- a/application/Espo/Modules/Crm/Tools/MassEmail/Queue.php +++ b/application/Espo/Modules/Crm/Tools/MassEmail/Queue.php @@ -79,6 +79,10 @@ class Queue $this->entityManager->getQueryExecutor()->execute($delete); } + /** + * @param iterable $additionalTargetList + * @throws Error + */ public function create(MassEmail $massEmail, bool $isTest = false, iterable $additionalTargetList = []): void { if (!$isTest && $massEmail->get('status') !== EmailQueueItem::STATUS_PENDING) { diff --git a/application/Espo/Repositories/Attachment.php b/application/Espo/Repositories/Attachment.php index 0db07f2729..95eb641de2 100644 --- a/application/Espo/Repositories/Attachment.php +++ b/application/Espo/Repositories/Attachment.php @@ -49,6 +49,9 @@ class Attachment extends Database implements use Di\FileStorageManagerSetter; use Di\ConfigSetter; + /** + * @var string[] + */ protected $imageTypeList = [ 'image/jpeg', 'image/png', @@ -56,6 +59,9 @@ class Attachment extends Database implements 'image/webp', ]; + /** + * @var string[] + */ protected $imageThumbList = [ 'xxx-small', 'xx-small', @@ -124,7 +130,7 @@ class Attachment extends Database implements } } - public function removeImageThumbs(AttachmentEntity $entity) + public function removeImageThumbs(AttachmentEntity $entity): void { foreach ($this->imageThumbList as $suffix) { $filePath = "data/upload/thumbs/" . $entity->getSourceId() . "_{$suffix}"; @@ -135,7 +141,7 @@ class Attachment extends Database implements } } - public function getCopiedAttachment(AttachmentEntity $entity, $role = null): AttachmentEntity + public function getCopiedAttachment(AttachmentEntity $entity, ?string $role = null): AttachmentEntity { $attachment = $this->get(); diff --git a/application/Espo/Repositories/Email.php b/application/Espo/Repositories/Email.php index 32a9aa5480..4c593c883f 100644 --- a/application/Espo/Repositories/Email.php +++ b/application/Espo/Repositories/Email.php @@ -193,6 +193,9 @@ class Email extends Database implements } } + /** + * @param string[] $fieldList + */ public function loadNameHash(EmailEntity $entity, array $fieldList = ['from', 'to', 'cc', 'bcc', 'replyTo']): void { $addressList = []; @@ -425,7 +428,7 @@ class Email extends Database implements } } - $filter = $this->getEmailFilterManager()->getMatchingFilter($entity, $userId); + $filter = $this->emailFilterManager->getMatchingFilter($entity, $userId); if ($filter) { $action = $filter->get('action'); @@ -491,11 +494,6 @@ class Email extends Database implements } } - protected function getEmailFilterManager() - { - return $this->emailFilterManager; - } - private function getEmailAddressRepository(): EmailAddressRepository { /** @var EmailAddressRepository */ diff --git a/application/Espo/Repositories/EmailAddress.php b/application/Espo/Repositories/EmailAddress.php index 64ef6bd133..4a7a21bd33 100644 --- a/application/Espo/Repositories/EmailAddress.php +++ b/application/Espo/Repositories/EmailAddress.php @@ -47,6 +47,10 @@ class EmailAddress extends \Espo\Core\Repositories\Database implements protected $hooksDisabled = true; + /** + * @param string[] $addressList + * @return string[] + */ public function getIdListFormAddressList(array $addressList = []): array { return $this->getIds($addressList); @@ -54,6 +58,8 @@ class EmailAddress extends \Espo\Core\Repositories\Database implements /** * @deprecated Use `getIdListFormAddressList`. + * @param string[] $addressList + * @return string[] */ public function getIds(array $addressList = []): array { @@ -104,6 +110,9 @@ class EmailAddress extends \Espo\Core\Repositories\Database implements return $ids; } + /** + * @return \stdClass[] + */ public function getEmailAddressData(Entity $entity): array { $dataList = []; @@ -146,6 +155,9 @@ class EmailAddress extends \Espo\Core\Repositories\Database implements return $this->where(['lower' => strtolower($address)])->findOne(); } + /** + * @return Entity[] + */ public function getEntityListByAddressId( string $emailAddressId, ?Entity $exceptionEntity = null, @@ -293,6 +305,9 @@ class EmailAddress extends \Espo\Core\Repositories\Database implements return null; } + /** + * @param string[] $order + */ public function getEntityByAddress( string $address, ?string $entityType = null, diff --git a/application/Espo/Repositories/PhoneNumber.php b/application/Espo/Repositories/PhoneNumber.php index 1b917ec046..b9c482a27f 100644 --- a/application/Espo/Repositories/PhoneNumber.php +++ b/application/Espo/Repositories/PhoneNumber.php @@ -52,6 +52,10 @@ class PhoneNumber extends Database implements const ERASED_PREFIX = 'ERASED:'; + /** + * @param string [] $numberList + * @return string[] + */ public function getIds($numberList = []): array { $ids = []; @@ -96,6 +100,9 @@ class PhoneNumber extends Database implements return $ids; } + /** + * @return array + */ public function getPhoneNumberData(Entity $entity): array { $dataList = []; @@ -138,6 +145,9 @@ class PhoneNumber extends Database implements return $this->where(['name' => $number])->findOne(); } + /** + * @return Entity[] + */ public function getEntityListByPhoneNumberId(string $phoneNumberId, ?Entity $exceptionEntity = null): array { $entityList = []; diff --git a/application/Espo/Repositories/Preferences.php b/application/Espo/Repositories/Preferences.php index 7f575d776b..a407db3794 100644 --- a/application/Espo/Repositories/Preferences.php +++ b/application/Espo/Repositories/Preferences.php @@ -68,6 +68,9 @@ class Preferences implements Repository, $this->entityManager = $entityManager; } + /** + * @var string[] + */ protected $defaultAttributeListFromSettings = [ 'decimalMark', 'thousandSeparator', @@ -75,6 +78,9 @@ class Preferences implements Repository, 'followCreatedEntities', ]; + /** + * @var array> + */ private $data = []; public function getNew(): Entity @@ -112,7 +118,7 @@ class Preferences implements Repository, return $this->getById($id); } - protected function loadData(string $id) + protected function loadData(string $id): void { $data = null; @@ -171,7 +177,7 @@ class Preferences implements Repository, $this->data[$id] = $defaults; } - protected function fetchAutoFollowEntityTypeList(PreferencesEntity $entity) + protected function fetchAutoFollowEntityTypeList(PreferencesEntity $entity): void { $id = $entity->getId(); @@ -194,7 +200,7 @@ class Preferences implements Repository, $entity->set('autoFollowEntityTypeList', $autoFollowEntityTypeList); } - protected function storeAutoFollowEntityTypeList(Entity $entity) + protected function storeAutoFollowEntityTypeList(Entity $entity): void { $id = $entity->getId();