|
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