Servicios   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 52
ccs 0
cts 13
cp 0
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A obtenerDetalleServicio() 0 12 2
A listarServicios() 0 7 1
A __construct() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
/**
6
 * BHExpress
7
 * Copyright (C) SASCO SpA (https://sasco.cl)
8
 *
9
 * Este programa es software libre: usted puede redistribuirlo y/o modificarlo
10
 * bajo los términos de la GNU Lesser General Public License (LGPL) publicada
11
 * por la Fundación para el Software Libre, ya sea la versión 3 de la Licencia,
12
 * o (a su elección) cualquier versión posterior de la misma.
13
 *
14
 * Este programa se distribuye con la esperanza de que sea útil, pero SIN
15
 * GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
16
 * PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la GNU Lesser General
17
 * Public License (LGPL) para obtener una información más detallada.
18
 *
19
 * Debería haber recibido una copia de la GNU Lesser General Public License
20
 * (LGPL) junto a este programa. En caso contrario, consulte
21
 * <http://www.gnu.org/licenses/lgpl.html>.
22
 */
23
24
namespace bhexpress\api_client\bhe;
25
26
use bhexpress\api_client\ApiBase;
27
28
/**
29
 * Módulo que permite obtener información de servicios registrados que provees desde la cuenta de BHExpress.
30
 */
31
class Servicios extends ApiBase
32
{
33
    /**
34
     * Módulo que permite obtener información de servicios registrados que provees desde la cuenta de BHExpress.
35
     *
36
     * @param string $token Token de autenticación del usuario. Si no se
37
     * proporciona, se intentará obtener de una variable de entorno.
38
     * @param string $rut RUT del emisor de BHExpress. Si no se proporciona,
39
     * se intentará obtener de una variable de entorno.
40
     * @param string $url URL base de la API. Si no se proporciona, se
41
     * usará una URL por defecto.
42
     */
43
    public function __construct($token = null, $rut = null, $url = null)
44
    {
45
        parent::__construct($token, $rut, $url);
46
    }
47
48
    /**
49
     * Recurso que permite obtener una lista de servicios provistos por el usuario.
50
     *
51
     * @return \Psr\Http\Message\ResponseInterface Respuesta con el servicio
52
     * (o lista de servicios) provisto en BHExpress.
53
     */
54
    public function listarServicios()
55
    {
56
        $url = '/bhe/servicios';
57
58
        $response = $this->get($url);
59
60
        return $response;
61
    }
62
63
    /**
64
     * Recurso que permite obtener información de un servicio provisto específico.
65
     *
66
     * @param string $codigo Código del servicio prestado en BHExpress.
67
     * @param array $filtros Filtros adicionales.
68
     * @return \Psr\Http\Message\ResponseInterface Respuesta con el servicio
69
     * (o lista de servicios) provisto en BHExpress.
70
     */
71
    public function obtenerDetalleServicio(string $codigo, array $filtros)
72
    {
73
        $url = sprintf('/bhe/servicios/%s', $codigo);
74
75
        if (count($filtros) > 0) {
76
            $queryString = http_build_query($filtros);
77
            $url = sprintf('%s?%s', $url, $queryString);
78
        }
79
80
        $response = $this->get($url);
81
82
        return $response;
83
    }
84
}
85