|
2 | 2 |
|
3 | 3 | namespace DutchCodingCompany\HetznerDnsClient\RequestCollections; |
4 | 4 |
|
| 5 | +use DutchCodingCompany\HetznerDnsClient\Enums\RecordType; |
| 6 | +use DutchCodingCompany\HetznerDnsClient\Objects\BulkCreatedRecords; |
| 7 | +use DutchCodingCompany\HetznerDnsClient\Objects\BulkUpdatedRecords; |
| 8 | +use DutchCodingCompany\HetznerDnsClient\Objects\Record; |
| 9 | +use DutchCodingCompany\HetznerDnsClient\Objects\Records; |
5 | 10 | use DutchCodingCompany\HetznerDnsClient\Requests\Records\BulkCreateRecords; |
6 | 11 | use DutchCodingCompany\HetznerDnsClient\Requests\Records\BulkUpdateRecords; |
7 | 12 | use DutchCodingCompany\HetznerDnsClient\Requests\Records\CreateRecord; |
|
13 | 18 |
|
14 | 19 | class RecordCollection extends RequestCollection |
15 | 20 | { |
16 | | - public function all(...$arguments): array |
| 21 | + public function all(?int $page = null, ?int $per_page = null, ?string $zone_id = null): Records |
17 | 22 | { |
18 | | - return $this->connector->request(new ListRecords(...$arguments))->send()->throw()->json(); |
| 23 | + return $this->connector->request(new ListRecords(page: $page, per_page: $per_page, zone_id: $zone_id))->send()->throw()->dto(); |
19 | 24 | } |
20 | 25 |
|
21 | | - public function create(...$arguments): array |
| 26 | + public function create(string $zone_id, RecordType $type, string $name, string $value, ?int $ttl = null): Record |
22 | 27 | { |
23 | | - return $this->connector->request(new CreateRecord(...$arguments))->send()->throw()->json(); |
| 28 | + return $this->connector->request(new CreateRecord(zone_id: $zone_id, type: $type, name: $name, value: $value, ttl: $ttl))->send()->throw()->dto(); |
24 | 29 | } |
25 | 30 |
|
26 | | - public function get(...$arguments): array |
| 31 | + public function get(string $record_id): Record |
27 | 32 | { |
28 | | - return $this->connector->request(new GetRecord(...$arguments))->send()->throw()->json(); |
| 33 | + return $this->connector->request(new GetRecord(record_id: $record_id))->send()->throw()->dto(); |
29 | 34 | } |
30 | 35 |
|
31 | | - public function update(...$arguments): array |
| 36 | + public function update(string $record_id, string $zone_id, RecordType $type, string $name, string $value, ?int $ttl = null): Record |
32 | 37 | { |
33 | | - return $this->connector->request(new UpdateRecord(...$arguments))->send()->throw()->json(); |
| 38 | + return $this->connector->request(new UpdateRecord(record_id: $record_id, zone_id: $zone_id, type: $type, name: $name, value: $value, ttl: $ttl))->send()->throw()->dto(); |
34 | 39 | } |
35 | 40 |
|
36 | | - public function delete(...$arguments): array |
| 41 | + public function delete(string $record_id): void |
37 | 42 | { |
38 | | - return $this->connector->request(new DeleteRecord(...$arguments))->send()->throw()->json(); |
| 43 | + $this->connector->request(new DeleteRecord($record_id))->send()->throw(); |
39 | 44 | } |
40 | 45 |
|
41 | | - public function bulkCreate(...$arguments): array |
| 46 | + public function bulkCreate(array $records): BulkCreatedRecords |
42 | 47 | { |
43 | | - return $this->connector->request(new BulkCreateRecords(...$arguments))->send()->throw()->json(); |
| 48 | + return $this->connector->request(new BulkCreateRecords($records))->send()->throw()->dto(); |
44 | 49 | } |
45 | 50 |
|
46 | | - public function bulkUpdate(...$arguments): array |
| 51 | + public function bulkUpdate(array $records): BulkUpdatedRecords |
47 | 52 | { |
48 | | - return $this->connector->request(new BulkUpdateRecords(...$arguments))->send()->throw()->json(); |
| 53 | + return $this->connector->request(new BulkUpdateRecords($records))->send()->throw()->dto(); |
49 | 54 | } |
50 | 55 | } |
0 commit comments