|
6 | 6 | use Coderflex\LaravelSendy\DTOs\Subscribers\SubscribeDTO; |
7 | 7 | use Coderflex\LaravelSendy\DTOs\Subscribers\SubscriberStatusDTO; |
8 | 8 | use Coderflex\LaravelSendy\DTOs\Subscribers\UnsubscribeDTO; |
9 | | -use Coderflex\LaravelSendy\Facades\Sendy; |
| 9 | +use Coderflex\LaravelSendy\Sendy; |
| 10 | +use Illuminate\Http\Client\Response; |
10 | 11 |
|
11 | 12 | class Subscribers |
12 | 13 | { |
13 | | - public function subscribe(array $data, bool $async = false) |
| 14 | + public function __construct( |
| 15 | + protected Sendy $sendy |
| 16 | + ) {} |
| 17 | + |
| 18 | + public function subscribe(array $data, bool $async = false): Response |
14 | 19 | { |
15 | 20 | $data = SubscribeDTO::validate($data); |
16 | 21 |
|
17 | | - return Sendy::post('subscribe', $data, $async); |
| 22 | + return $this->sendy->post('subscribe', $data, $async); |
18 | 23 | } |
19 | 24 |
|
20 | | - public function unsubscribe(array $data, bool $async = false) |
| 25 | + public function unsubscribe(array $data, bool $async = false): Response |
21 | 26 | { |
22 | 27 | $data = UnsubscribeDTO::validate($data); |
23 | 28 |
|
24 | | - return Sendy::post('api/subscribers/unsubscribe.php', $data, $async); |
| 29 | + return $this->sendy->post('api/subscribers/unsubscribe.php', $data, $async); |
25 | 30 | } |
26 | 31 |
|
27 | | - public function delete(array $data, bool $async = false) |
| 32 | + public function delete(array $data, bool $async = false): Response |
28 | 33 | { |
29 | 34 | $data = DeleteSubscriberDTO::validate($data); |
30 | 35 |
|
31 | | - return Sendy::post('api/subscribers/delete.php', $data, $async); |
| 36 | + return $this->sendy->post('api/subscribers/delete.php', $data, $async); |
32 | 37 | } |
33 | 38 |
|
34 | | - public function status(array $data, bool $async = false) |
| 39 | + public function status(array $data, bool $async = false): Response |
35 | 40 | { |
36 | 41 | $data = SubscriberStatusDTO::validate($data); |
37 | 42 |
|
38 | | - return Sendy::post('api/subscribers/subscription-status.php', $data, $async); |
| 43 | + return $this->sendy->post('api/subscribers/subscription-status.php', $data, $async); |
39 | 44 | } |
40 | 45 |
|
41 | | - public function count(int $listId, bool $async = false) |
| 46 | + public function count(int $listId, bool $async = false): Response |
42 | 47 | { |
43 | 48 | $data = [ |
44 | 49 | 'list_id' => $listId, |
45 | 50 | ]; |
46 | 51 |
|
47 | | - return Sendy::post('api/subscribers/subscriber-count.php', $data, $async); |
| 52 | + return $this->sendy->post('api/subscribers/subscriber-count.php', $data, $async); |
48 | 53 | } |
49 | 54 | } |
0 commit comments