1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
factory.php
См. документацию.
1<?php
3
5
6class Factory
7{
8 public function getRuleBySharingLink(Link\Joint\JointLink $sharingLink): ?Rule
9 {
10 $linkObjectRule = $this->getLinkObjectRuleByLink($sharingLink);
11
12 if (!is_null($linkObjectRule))
13 {
14 return (new Mapper())->getFromLinkObjectRule($linkObjectRule);
15 }
16
17 return null;
18 }
19
21 {
22 $rule = match (true)
23 {
24 $sharingLink instanceof Link\CrmDealLink => new Link\Rule\UserCrmDealRule($sharingLink->getOwnerId()),
25 $sharingLink instanceof Link\UserLink => new Link\Rule\UserRule($sharingLink->getUserId()),
26 $sharingLink instanceof Link\GroupLink => new Link\Rule\GroupRule($sharingLink->getGroupId()),
27 default => null,
28 };
29
30 return $rule?->setLinkId($sharingLink->getId());
31 }
32}