Code Duplication    Length = 69-75 lines in 2 locations

src/entities/Contact.php 1 location

@@ 12-80 (lines=69) @@
9
 * Class Contact
10
 * @package linkprofit\AmoCRM\entities
11
 */
12
class Contact extends CustomizableEntity implements LinkableElement
13
{
14
    /**
15
     * Контакт
16
     */
17
    const ELEMENT_TYPE = 1;
18
19
    /**
20
     * @var string Название контакта
21
     */
22
    public $name;
23
24
    /**
25
     * @var integer id пользователя создавшего контакт
26
     */
27
    public $created_by;
28
29
    /**
30
     * @var string Название новой компании. Параметр указывается для создания новой компании и привязке к ней контакта. Для привязки контакта к уже существующей компании, необходимо использовать параметр company_id
31
     */
32
    public $company_name;
33
34
    /**
35
     * @var string Теги, привязываемые к контакту. Задаются целостной строковой переменной, внутри строки перечисляются через запятую
36
     */
37
    public $tags;
38
39
    /**
40
     * @var string Покупатели, привязываемые к контакту. Перечисляются через запятую.
41
     */
42
    public $customers_id;
43
44
    /**
45
     * @var array
46
     */
47
    protected $fieldList = [
48
        'id', 'name', 'created_at', 'updated_at',
49
        'responsible_user_id', 'created_by', 'company_name',
50
        'tags', 'leads_id', 'customers_id', 'company_id',
51
    ];
52
53
    use CompanyLinkable,
54
        LeadsLinkable;
55
56
    /**
57
     * @param $entityClass
58
     *
59
     * @return bool
60
     */
61
    public function supports($entityClass)
62
    {
63
        $supportedClasses = [Task::class, Note::class];
64
65
        return in_array($entityClass, $supportedClasses, 1) && !empty($this->id);
66
    }
67
68
    /**
69
     * @param LinkElementCapableEntity $entity
70
     *
71
     * @return LinkElementCapableEntity
72
     */
73
    public function linkSelf(LinkElementCapableEntity $entity)
74
    {
75
        $entity->element_type = self::ELEMENT_TYPE;
76
        $entity->element_id = $this->id;
77
78
        return $entity;
79
    }
80
}

src/entities/Lead.php 1 location

@@ 12-86 (lines=75) @@
9
 * Class Lead
10
 * @package linkprofit\AmoCRM\entities
11
 */
12
class Lead extends CustomizableEntity implements LinkableElement
13
{
14
    /**
15
     * Сделка
16
     */
17
    const ELEMENT_TYPE = 2;
18
19
    /**
20
     * @var string Название сделки
21
     */
22
    public $name;
23
24
    /**
25
     * @var integer Статус сделки (id этапа продаж см. Воронки и этапы продаж) Чтобы перенести сделку в другую воронку, необходимо установить ей статус из нужной воронки
26
     */
27
    public $status_id;
28
29
    /**
30
     * @var integer ID воронки. Указывается в том случае, если выбраны статусы id 142 или 143, т.к. эти статусы не уникальны и обязательны для всех цифровых воронок.
31
     */
32
    public $pipeline_id;
33
34
    /**
35
     * @var integer Бюджет сделки
36
     */
37
    public $sale;
38
39
    /**
40
     * @var string Если вы хотите задать новые теги, перечислите их внутри строковой переменной через запятую
41
     */
42
    public $tags;
43
44
    /**
45
     * @var int Id пользователя изменившего сущность, если 0, то робот
46
     */
47
    public $modified_user_id;
48
49
    /**
50
     * @var array
51
     */
52
    protected $fieldList = [
53
        'id', 'name', 'created_at', 'updated_at',
54
        'status_id', 'pipeline_id', 'responsible_user_id',
55
        'sale', 'tags', 'contacts_id', 'company_id',
56
        'modified_user_id'
57
    ];
58
59
    use CompanyLinkable,
60
        ContactsLinkable;
61
62
    /**
63
     * @param $entityClass
64
     *
65
     * @return bool
66
     */
67
    public function supports($entityClass)
68
    {
69
        $supportedClasses = [Task::class, Note::class];
70
71
        return in_array($entityClass, $supportedClasses, 1) && !empty($this->id);
72
    }
73
74
    /**
75
     * @param LinkElementCapableEntity $entity
76
     *
77
     * @return LinkElementCapableEntity
78
     */
79
    public function linkSelf(LinkElementCapableEntity $entity)
80
    {
81
        $entity->element_type = self::ELEMENT_TYPE;
82
        $entity->element_id = $this->id;
83
84
        return $entity;
85
    }
86
}