User   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 82
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 36.84%

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 1
dl 0
loc 82
ccs 7
cts 19
cp 0.3684
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getUrl() 0 31 5
1
<?php
2
/**
3
 * Class User
4
 *
5
 * @author       Denis Shestakov <[email protected]>
6
 * @copyright    Copyright (c) 2017, Lan Publishing
7
 * @license      MIT
8
 */
9
10
namespace Lan\Ebs\Sdk\Model;
11
12
use Exception;
13
use Lan\Ebs\Sdk\Classes\Model;
14
use Lan\Ebs\Sdk\Client;
15
16
/**
17
 * Модель пользователя
18
 *
19
 * @property mixed login
20
 * @property mixed email
21
 * @property mixed fio
22
 * @property mixed registeredAt
23
 *
24
 * @package      Lan\Ebs
25
 * @subpackage   Sdk
26
 * @category     Model
27
 */
28
class User extends Model
29
{
30
    /**
31
     * Логин пользователя
32
     */
33
    const FIELD_LOGIN = 'login';
34
35
    /**
36
     * ФИО пользователя
37
     */
38
    const FIELD_FIO = 'fio';
39
40
    /**
41
     * Email пользователя
42
     */
43
    const FIELD_EMAIL = 'email';
44
45
    /**
46
     * Дата и время регистрации
47
     */
48
    const FIELD_REGISTERED = 'registeredAt';
49
50
    /**
51
     * Пароль пользователя
52
     */
53
    const FIELD_PASSWORD = 'password';
54
55
    /**
56
     * Конструктор модели пользователя
57
     *
58
     * @param Client $client Инстанс клиента
59
     * @param array $fields Поля для выборки
60
     *
61
     * @throws Exception
62
     */
63 3
    public function __construct(Client $client, array $fields = array())
64
    {
65 3
        parent::__construct($client, $fields);
66 3
    }
67
68
    /**
69
     * Получение данных для запроса через API
70
     *
71
     * @param string $method Http-метод запроса
72
     * @param array $params Параметры для формирования урла
73
     *
74
     * @return array
75
     *
76
     * @throws Exception
77
     */
78 1
    public function getUrl($method, array $params = array())
79
    {
80
        switch ($method) {
81 1
            case 'get':
82
                return array(
83
                    'url' => vsprintf('/1.0/security/user/get/%d', $params),
84
                    'method' => 'GET',
85
                    'code' => 200
86
                );
87 1
            case 'post':
88
                return array(
89 1
                    'url' => '/1.0/security/user/post',
90
                    'method' => 'POST',
91
                    'code' => 201
92
                );
93
            case 'put':
94
                return array(
95
                    'url' => vsprintf('/1.0/security/user/put/%d', $params),
96
                    'method' => 'PUT',
97
                    'code' => 200
98
                );
99
            case 'delete':
100
                return array(
101
                    'url' => vsprintf('/1.0/security/user/delete/%d', $params),
102
                    'method' => 'DELETE',
103
                    'code' => 200
104
                );
105
            default:
106
                throw new Exception('Route for ' . $method . ' not found');
107
        }
108
    }
109
}