Issues (49)

src/Endpoint/AccountUsersEndpoint.php (2 issues)

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\Endpoint\Traits\UpdateEndpointTrait;
10
use DigitalCz\DigiSign\Resource\User;
11
12
/**
13
 * @extends ResourceEndpoint<User>
14
 * @method User get(string $id)
15
 * @method User update(string $id, array $body)
16
 */
17
final class AccountUsersEndpoint extends ResourceEndpoint
18
{
19
    /** @use ListEndpointTrait<User> */
20
    use ListEndpointTrait;
21
    use GetEndpointTrait;
22
    use UpdateEndpointTrait;
23
24
    public function __construct(AccountEndpoint $parent)
25
    {
26
        parent::__construct($parent, '/users', User::class);
27
    }
28
29
    public function activate(string $id): void
30
    {
31
        $this->postRequest('/{id}/activate', ['id' => $id]);
32
    }
33
34
    public function deactivate(string $id): void
35
    {
36
        $this->postRequest('/{id}/deactivate', ['id' => $id]);
37
    }
38
39
    public function disinvite(string $id): void
40
    {
41
        $this->postRequest('/{id}/disinvite', ['id' => $id]);
42
    }
43
44
    /**
45
     * @param mixed[] $body
46
     */
47
    public function invite(array $body): User
48
    {
49
        return $this->makeCreateRequest($body);
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->makeCreateRequest($body) returns the type DigitalCz\DigiSign\Resource\ResourceInterface which includes types incompatible with the type-hinted return DigitalCz\DigiSign\Resource\User.
Loading history...
50
    }
51
52
    public function reinvite(string $id): User
53
    {
54
        return $this->makeResource($this->postRequest('/{id}/reinvite', ['id' => $id]));
0 ignored issues
show
Bug Best Practice introduced by
The expression return $this->makeResour...', array('id' => $id))) returns the type DigitalCz\DigiSign\Resource\ResourceInterface which includes types incompatible with the type-hinted return DigitalCz\DigiSign\Resource\User.
Loading history...
55
    }
56
}
57