Passed
Push — 1.x ( 620e46...adc598 )
by Pavel
02:02
created

EnvelopeRecipientAttachmentsEndpoint::list()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
c 0
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
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\Resource\Collection;
9
use DigitalCz\DigiSign\Resource\EnvelopeRecipient;
10
use DigitalCz\DigiSign\Resource\EnvelopeRecipientAttachment;
11
use DigitalCz\DigiSign\Stream\FileResponse;
12
13
/**
14
 * @extends ResourceEndpoint<EnvelopeRecipientAttachment>
15
 * @method EnvelopeRecipientAttachment get(string $id)
16
 */
17
final class EnvelopeRecipientAttachmentsEndpoint extends ResourceEndpoint
18
{
19
    use GetEndpointTrait;
20
21
    /**
22
     * @param EnvelopeRecipient|string $recipient
23
     */
24
    public function __construct(EnvelopeRecipientsEndpoint $parent, $recipient)
25
    {
26
        parent::__construct(
27
            $parent,
28
            '/{recipient}/attachments',
29
            EnvelopeRecipientAttachment::class,
30
            ['recipient' => $recipient]
31
        );
32
    }
33
34
    /**
35
     * @return Collection<EnvelopeRecipientAttachment>
36
     */
37
    public function list(): Collection
38
    {
39
        return $this->createCollectionResource($this->getRequest(), $this->getResourceClass());
40
    }
41
42
    /**
43
     * @param EnvelopeRecipientAttachment|string $id
44
     * @param mixed[] $query
45
     */
46
    public function download($id, array $query = []): FileResponse
47
    {
48
        return $this->stream(self::METHOD_GET, '/{id}/download', ['id' => $id, 'query' => $query]);
49
    }
50
}
51