Completed
Push — master ( e8241e...60d0c3 )
by
unknown
04:24 queued 02:47
created

User   A

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