Api.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\custom\dns\submodules\SimpleDNSV8;
  3. class Api
  4. {
  5. private $curl;
  6. public function __construct(Curl $curl)
  7. {
  8. $this->curl = $curl;
  9. }
  10. public function getZone($zone)
  11. {
  12. return $this->curl->get("/zones/$zone");
  13. }
  14. public function getZoneRecords($zone)
  15. {
  16. return $this->curl->get("/zones/$zone/records");
  17. }
  18. public function getZones()
  19. {
  20. return $this->curl->get("/zones");
  21. }
  22. public function createZone($zone, $data)
  23. {
  24. return $this->curl->put("/zones/$zone", $data);
  25. }
  26. public function deleteZone($zone)
  27. {
  28. return $this->curl->delete("/zones/$zone");
  29. }
  30. public function addRecord($zone, $data)
  31. {
  32. return $this->curl->patch("/zones/$zone/records", [$data]);
  33. }
  34. public function removeRecord($zone, $data)
  35. {
  36. return $this->curl->patch("/zones/$zone/records", [array_merge(['Remove' => true], $data)]);
  37. }
  38. public function getDNSSecKeys($zone)
  39. {
  40. return $this->curl->get("/zones/$zone/dnsseckeys");
  41. }
  42. public function dnsSecSign($zone, $expire)
  43. {
  44. return $this->curl->post("/zones/$zone/dnssecsign?expire=$expire", ['asd' => 'qwe']);
  45. }
  46. public function createOrUpdateDNSSECkey($zone, $keyId, $data)
  47. {
  48. return $this->curl->put("/zones/$zone/dnsseckeys/$keyId", $data);
  49. }
  50. public function deleteDNSSECkey($zone, $keyId)
  51. {
  52. return $this->curl->delete("/zones/$zone/dnsseckeys/$keyId");
  53. }
  54. }