Passed
Pull Request — 1.x (#117)
by Filip
02:00
created

MyEnvelopesEndpoint::info()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DigitalCz\DigiSign\Endpoint;
6
7
use DigitalCz\DigiSign\Endpoint\Traits\GetEndpointTrait;
8
use DigitalCz\DigiSign\Endpoint\Traits\ListEndpointTrait;
9
use DigitalCz\DigiSign\Resource\ListResource;
10
use DigitalCz\DigiSign\Resource\MyEnvelope;
11
use DigitalCz\DigiSign\Resource\MyEnvelopeInfo;
12
13
/**
14
 * @extends ResourceEndpoint<MyEnvelope>
15
 */
16
final class MyEnvelopesEndpoint extends ResourceEndpoint
17
{
18
    /** @use ListEndpointTrait<MyEnvelope> */
19
    use ListEndpointTrait;
20
    use GetEndpointTrait;
21
22
    public function __construct(MyEndpoint $parent)
23
    {
24
        parent::__construct($parent, '/envelopes', MyEnvelope::class);
25
    }
26
27
    /**
28
     * @param mixed[] $query
29
     * @return ListResource<MyEnvelope>
30
     */
31
    public function listToSign(array $query): ListResource
32
    {
33
        return $this->makeListResource($this->getRequest('/to-sign', ['query' => $query]));
34
    }
35
36
    /**
37
     * @param mixed[] $query
38
     * @return ListResource<MyEnvelope>
39
     */
40
    public function listWaitingForOthers(array $query = []): ListResource
41
    {
42
        return $this->makeListResource($this->getRequest('/waiting-for-others', ['query' => $query]));
43
    }
44
45
    public function info(string $id): MyEnvelopeInfo
46
    {
47
        return $this->createResource($this->postRequest('/{id}/info', ['id' => $id]), MyEnvelopeInfo::class);
48
    }
49
}
50