|
2 | 2 |
|
3 | 3 | namespace CodeGreenCreative\Freshworks\Api; |
4 | 4 |
|
| 5 | +use Psr\Http\Message\ResponseInterface; |
5 | 6 | use CodeGreenCreative\Freshworks\Client; |
6 | | -use Illuminate\Support\Str; |
| 7 | +use CodeGreenCreative\Freshworks\Traits\HasFields; |
| 8 | +use CodeGreenCreative\Freshworks\Traits\HasFilters; |
| 9 | +use CodeGreenCreative\Freshworks\Traits\CanBeForgotten; |
| 10 | +use CodeGreenCreative\Freshworks\Traits\CanBulkDestroy; |
| 11 | +use CodeGreenCreative\Freshworks\Traits\CanCloneItself; |
| 12 | +use CodeGreenCreative\Freshworks\Traits\PerformsCrudOperations; |
7 | 13 |
|
8 | 14 | class Contacts extends Client |
9 | 15 | { |
10 | | - public function create(array $payload) |
11 | | - { |
12 | | - return $this->client->request('POST', 'contacts', json_encode($payload)); |
13 | | - } |
14 | | - |
15 | | - public function read(int $id) |
16 | | - { |
17 | | - return $this->client->request('GET', 'contacts/{$id}'); |
18 | | - } |
19 | | - |
20 | | - public function update(int $id, array $payload) |
21 | | - { |
22 | | - return $this->client->request('PUT', 'contacts/{$id}', json_encode($payload)); |
23 | | - } |
24 | | - |
25 | | - public function delete(int $id) |
26 | | - { |
27 | | - return $this->client->request('DELETE', 'contacts/{$id}'); |
28 | | - } |
| 16 | + use PerformsCrudOperations; |
| 17 | + use CanCloneItself; |
| 18 | + use CanBulkDestroy; |
| 19 | + use HasFilters; |
| 20 | + use HasFields; |
| 21 | + use CanBeForgotten; |
29 | 22 |
|
30 | | - public function clone(int $id) |
31 | | - { |
32 | | - return $this->client->request('POST', 'contacts/{$id}/clone'); |
33 | | - } |
34 | | - |
35 | | - public function forget(int $id) |
36 | | - { |
37 | | - return $this->client->request('DELETE', 'contacts/{$id}/forget'); |
38 | | - } |
39 | | - |
40 | | - public function bulkDelete(array $ids, array $payload) |
41 | | - { |
42 | | - return $this->client->request('DELETE', 'contacts/bulk_destroy', json_encode($payload)); |
43 | | - } |
44 | | - |
45 | | - public function fields() |
46 | | - { |
47 | | - return $this->client->request('GET', 'settings/contacts/fields'); |
48 | | - } |
| 23 | + private $resource = 'contacts'; |
49 | 24 |
|
50 | | - public function activities(int $id) |
| 25 | + public function activities(int $id): ResponseInterface |
51 | 26 | { |
52 | | - return $this->client->request('GET', 'contacts/{$id}/activities'); |
| 27 | + return $this->client->request('GET', '{$this->resource}/{$id}/activities'); |
53 | 28 | } |
54 | 29 | } |
0 commit comments