Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7aa3a118af | ||
|
|
ae2c680e85 | ||
|
|
78eadb9a47 | ||
|
|
e1c2539d9a | ||
|
|
471a42d554 | ||
|
|
d9c0a27b7d | ||
|
|
8182aa8810 | ||
|
|
df12f7ba6f | ||
|
|
9d434a23b3 | ||
|
|
f105d38d85 | ||
|
|
910644f88d | ||
|
|
68b9fa3353 | ||
|
|
c394f5ac4d | ||
|
|
e94ab8ddbe | ||
|
|
2b25365988 | ||
|
|
bd92b2a4c0 | ||
|
|
6acf09ba82 | ||
|
|
6410f50f6d | ||
|
|
d6f0eada8c | ||
|
|
6f1ac605f5 | ||
|
|
9311583f43 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
/.idea
|
||||
/vendor/
|
||||
@@ -5,7 +5,8 @@
|
||||
"require": {
|
||||
"guzzlehttp/guzzle": "^6.2.2",
|
||||
"php": ">=7.0.0",
|
||||
"psr/http-message": "~1.0"
|
||||
"psr/http-message": "~1.0",
|
||||
"ext-json": "*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "5.7.5",
|
||||
@@ -28,5 +29,10 @@
|
||||
"classmap": [
|
||||
"tests/"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"preferred-install": "dist",
|
||||
"sort-packages": true,
|
||||
"optimize-autoloader": true
|
||||
}
|
||||
}
|
||||
|
||||
BIN
phpcbf.phar
Normal file
BIN
phpcbf.phar
Normal file
Binary file not shown.
BIN
phpcs.phar
Normal file
BIN
phpcs.phar
Normal file
Binary file not shown.
@@ -21,6 +21,11 @@ class AccessRules implements Configurations
|
||||
$this->config = ['target' => 'country', 'value' => $value];
|
||||
}
|
||||
|
||||
public function setASN(string $value)
|
||||
{
|
||||
$this->config = ['target' => 'asn', 'value' => $value];
|
||||
}
|
||||
|
||||
public function getArray(): array
|
||||
{
|
||||
return $this->config;
|
||||
|
||||
83
src/Endpoints/Membership.php
Normal file
83
src/Endpoints/Membership.php
Normal file
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace Cloudflare\API\Endpoints;
|
||||
|
||||
use Cloudflare\API\Adapter\Adapter;
|
||||
use Cloudflare\API\Traits\BodyAccessorTrait;
|
||||
|
||||
/* A list of memberships of accounts this user can access */
|
||||
|
||||
class Membership implements API
|
||||
{
|
||||
use BodyAccessorTrait;
|
||||
|
||||
private $adapter;
|
||||
|
||||
public function __construct(Adapter $adapter)
|
||||
{
|
||||
$this->adapter = $adapter;
|
||||
}
|
||||
|
||||
|
||||
public function listMemberships(
|
||||
string $name = '',
|
||||
string $status = '',
|
||||
int $page = 1,
|
||||
int $perPage = 20,
|
||||
string $order = '',
|
||||
string $direction = ''
|
||||
): \stdClass {
|
||||
$query = [
|
||||
'page' => $page,
|
||||
'per_page' => $perPage
|
||||
];
|
||||
|
||||
if (!empty($name)) {
|
||||
$query['account.name'] = $name;
|
||||
}
|
||||
|
||||
if (!empty($status) && in_array($status, ['accepted', 'pending', 'rejected'], true)) {
|
||||
$query['status'] = $status;
|
||||
}
|
||||
|
||||
if (!empty($order) && in_array($order, ['id', 'account.name', 'status'], true)) {
|
||||
$query['order'] = $order;
|
||||
}
|
||||
|
||||
if (!empty($direction) && in_array($direction, ['asc', 'desc'], true)) {
|
||||
$query['direction'] = $direction;
|
||||
}
|
||||
|
||||
$memberships = $this->adapter->get('memberships', $query);
|
||||
$this->body = json_decode($memberships->getBody());
|
||||
|
||||
return (object)['result' => $this->body->result, 'result_info' => $this->body->result_info];
|
||||
}
|
||||
|
||||
public function getMembershipDetails(string $membershipId): \stdClass
|
||||
{
|
||||
$membership = $this->adapter->get(sprintf('memberships/%s', $membershipId));
|
||||
$this->body = json_decode($membership->getBody());
|
||||
return $this->body->result;
|
||||
}
|
||||
|
||||
public function updateMembershipStatus(string $membershipId, string $status): \stdClass
|
||||
{
|
||||
$response = $this->adapter->put(sprintf('memberships/%s', $membershipId), ['status' => $status]);
|
||||
$this->body = json_decode($response->getBody());
|
||||
return $this->body;
|
||||
}
|
||||
|
||||
public function deleteMembership(string $membershipId): bool
|
||||
{
|
||||
$response = $this->adapter->delete(sprintf('memberships/%s', $membershipId));
|
||||
|
||||
$this->body = json_decode($response->getBody());
|
||||
|
||||
if (isset($this->body->result->id)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ class TLS implements API
|
||||
'zones/' . $zoneID . '/settings/tls_1_3',
|
||||
['value' => 'on']
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
@@ -40,7 +40,7 @@ class TLS implements API
|
||||
'zones/' . $zoneID . '/settings/tls_1_3',
|
||||
['value' => 'off']
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
@@ -50,16 +50,77 @@ class TLS implements API
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function changeMinimumTLSVersion($zoneID, $minimumVersion)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/min_tls_version',
|
||||
[
|
||||
'value' => $minimumVersion
|
||||
'value' => $minimumVersion,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getHTTPSRedirectSetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/always_use_https'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getHTTPSRewritesSetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/automatic_https_rewrites'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateHTTPSRedirectStatus($zoneID, $value)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/always_use_https',
|
||||
[
|
||||
'value' => $value,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateHTTPSRewritesStatus($zoneID, $value)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/automatic_https_rewrites',
|
||||
[
|
||||
'value' => $value,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
|
||||
180
src/Endpoints/ZoneSettings.php
Normal file
180
src/Endpoints/ZoneSettings.php
Normal file
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: paul.adams
|
||||
* Date: 2019-02-22
|
||||
* Time: 23:28
|
||||
*/
|
||||
|
||||
namespace Cloudflare\API\Endpoints;
|
||||
|
||||
use Cloudflare\API\Adapter\Adapter;
|
||||
|
||||
class ZoneSettings implements API
|
||||
{
|
||||
private $adapter;
|
||||
|
||||
public function __construct(Adapter $adapter)
|
||||
{
|
||||
$this->adapter = $adapter;
|
||||
}
|
||||
|
||||
public function getMinifySetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/minify'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getRocketLoaderSetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/rocket_loader'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getAlwaysOnlineSetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/always_online'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getEmailObfuscationSetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/email_obfuscation'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getHotlinkProtectionSetting($zoneID)
|
||||
{
|
||||
$return = $this->adapter->get(
|
||||
'zones/' . $zoneID . '/settings/hotlink_protection'
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return $body->result->value;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateMinifySetting($zoneID, $html, $css, $javascript)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/minify',
|
||||
[
|
||||
'value' => [
|
||||
'html' => $html,
|
||||
'css' => $css,
|
||||
'js' => $javascript,
|
||||
],
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateRocketLoaderSetting($zoneID, $value)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/rocket_loader',
|
||||
[
|
||||
'value' => $value,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateAlwaysOnlineSetting($zoneID, $value)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/always_online',
|
||||
[
|
||||
'value' => $value,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateEmailObfuscationSetting($zoneID, $value)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/email_obfuscation',
|
||||
[
|
||||
'value' => $value,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function updateHotlinkProtectionSetting($zoneID, $value)
|
||||
{
|
||||
$return = $this->adapter->patch(
|
||||
'zones/' . $zoneID . '/settings/hotlink_protection',
|
||||
[
|
||||
'value' => $value,
|
||||
]
|
||||
);
|
||||
$body = json_decode($return->getBody());
|
||||
|
||||
if ($body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -58,6 +58,15 @@ class Zones implements API
|
||||
return false;
|
||||
}
|
||||
|
||||
public function getZoneById(
|
||||
string $zoneId
|
||||
): \stdClass {
|
||||
$user = $this->adapter->get('zones/' . $zoneId);
|
||||
$this->body = json_decode($user->getBody());
|
||||
|
||||
return (object)['result' => $this->body->result];
|
||||
}
|
||||
|
||||
public function listZones(
|
||||
string $name = '',
|
||||
string $status = '',
|
||||
@@ -144,6 +153,38 @@ class Zones implements API
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return caching level settings
|
||||
* @param string $zoneID
|
||||
* @return string
|
||||
*/
|
||||
public function getCachingLevel(string $zoneID): string
|
||||
{
|
||||
$response = $this->adapter->get('zones/' . $zoneID . '/settings/cache_level');
|
||||
|
||||
$this->body = json_decode($response->getBody());
|
||||
|
||||
return $this->body->result->value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Change caching level settings
|
||||
* @param string $zoneID
|
||||
* @param string $level (aggressive | basic | simplified)
|
||||
* @return bool
|
||||
*/
|
||||
public function setCachingLevel(string $zoneID, string $level = 'aggressive'): bool
|
||||
{
|
||||
$response = $this->adapter->patch('zones/' . $zoneID . '/settings/cache_level', ['value' => $level]);
|
||||
|
||||
$this->body = json_decode($response->getBody());
|
||||
|
||||
if ($this->body->success) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Purge Everything
|
||||
|
||||
93
tests/Endpoints/MembershipTest.php
Normal file
93
tests/Endpoints/MembershipTest.php
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
|
||||
class MembershipTest extends TestCase
|
||||
{
|
||||
public function testListMemberships()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/listMemberships.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('get')
|
||||
->with(
|
||||
$this->equalTo('memberships'),
|
||||
$this->equalTo([
|
||||
'page' => 1,
|
||||
'per_page' => 20,
|
||||
'account.name' => 'Demo Account',
|
||||
'status' => 'accepted',
|
||||
'order' => 'status',
|
||||
'direction' => 'desc',
|
||||
])
|
||||
);
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Membership($mock);
|
||||
$result = $zones->listMemberships('Demo Account', 'accepted', 1, 20, 'status', 'desc');
|
||||
|
||||
$this->assertObjectHasAttribute('result', $result);
|
||||
$this->assertObjectHasAttribute('result_info', $result);
|
||||
|
||||
$this->assertEquals('4536bcfad5faccb111b47003c79917fa', $result->result[0]->id);
|
||||
$this->assertEquals(1, $result->result_info->page);
|
||||
$this->assertEquals('4536bcfad5faccb111b47003c79917fa', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testGetMembershipDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getMembershipDetails.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$membership = new \Cloudflare\API\Endpoints\Membership($mock);
|
||||
$details = $membership->getMembershipDetails('4536bcfad5faccb111b47003c79917fa');
|
||||
|
||||
$this->assertObjectHasAttribute('id', $details);
|
||||
$this->assertEquals('4536bcfad5faccb111b47003c79917fa', $details->id);
|
||||
$this->assertObjectHasAttribute('code', $details);
|
||||
$this->assertEquals('05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0', $details->code);
|
||||
$this->assertEquals('4536bcfad5faccb111b47003c79917fa', $membership->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testUpdateMembershipDetails()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/updateMembershipStatus.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('put')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('put')
|
||||
->with(
|
||||
$this->equalTo('memberships/4536bcfad5faccb111b47003c79917fa'),
|
||||
$this->equalTo([
|
||||
'status' => 'accepted'
|
||||
])
|
||||
);
|
||||
|
||||
$membership = new \Cloudflare\API\Endpoints\Membership($mock);
|
||||
$membership->updateMembershipStatus('4536bcfad5faccb111b47003c79917fa', 'accepted');
|
||||
$this->assertEquals('4536bcfad5faccb111b47003c79917fa', $membership->getBody()->result->id);
|
||||
}
|
||||
|
||||
public function testDeleteMembership()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/deleteMembership.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('delete')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('delete')
|
||||
->with($this->equalTo('memberships/4536bcfad5faccb111b47003c79917fa'));
|
||||
|
||||
$membership = new \Cloudflare\API\Endpoints\Membership($mock);
|
||||
|
||||
$membership->deleteMembership('4536bcfad5faccb111b47003c79917fa');
|
||||
|
||||
$this->assertEquals('4536bcfad5faccb111b47003c79917fa', $membership->getBody()->result->id);
|
||||
}
|
||||
}
|
||||
@@ -102,6 +102,25 @@ class ZonesTest extends TestCase
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result[0]->id);
|
||||
}
|
||||
|
||||
public function testGetZoneByID()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getZoneById.json');
|
||||
|
||||
$mock = $this->getMockBuilder(\Cloudflare\API\Adapter\Adapter::class)->getMock();
|
||||
$mock->method('get')->willReturn($response);
|
||||
|
||||
$mock->expects($this->once())
|
||||
->method('get')
|
||||
->with($this->equalTo('zones/023e105f4ecef8ad9ca31a8372d0c353'));
|
||||
|
||||
$zones = new \Cloudflare\API\Endpoints\Zones($mock);
|
||||
$result = $zones->getZoneById('023e105f4ecef8ad9ca31a8372d0c353');
|
||||
|
||||
$this->assertInstanceOf(\stdClass::class, $result);
|
||||
$this->assertEquals('023e105f4ecef8ad9ca31a8372d0c353', $zones->getBody()->result->id);
|
||||
$this->assertEquals('example.com', $zones->getBody()->result->name);
|
||||
}
|
||||
|
||||
public function testGetZoneID()
|
||||
{
|
||||
$response = $this->getPsr7JsonResponseForFixture('Endpoints/getZoneId.json');
|
||||
|
||||
8
tests/Fixtures/Endpoints/deleteMembership.json
Normal file
8
tests/Fixtures/Endpoints/deleteMembership.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"success": true,
|
||||
"errors": [],
|
||||
"messages": [],
|
||||
"result": {
|
||||
"id": "4536bcfad5faccb111b47003c79917fa"
|
||||
}
|
||||
}
|
||||
70
tests/Fixtures/Endpoints/getMembershipDetails.json
Normal file
70
tests/Fixtures/Endpoints/getMembershipDetails.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"success": true,
|
||||
"errors": [],
|
||||
"messages": [],
|
||||
"result": {
|
||||
"id": "4536bcfad5faccb111b47003c79917fa",
|
||||
"code": "05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0",
|
||||
"status": "accepted",
|
||||
"account": {
|
||||
"id": "01a7362d577a6c3019a474fd6f485823",
|
||||
"name": "Demo Account",
|
||||
"settings": {
|
||||
"enforce_twofactor": false
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
"Account Administrator"
|
||||
],
|
||||
"permissions": {
|
||||
"analytics": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"billing": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"cache_purge": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"dns": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"dns_records": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"lb": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"logs": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"organization": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"ssl": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"waf": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"zones": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"zone_settings": {
|
||||
"read": true,
|
||||
"write": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
59
tests/Fixtures/Endpoints/getZoneById.json
Normal file
59
tests/Fixtures/Endpoints/getZoneById.json
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
"success": true,
|
||||
"errors": [],
|
||||
"messages": [],
|
||||
"result": {
|
||||
"id": "023e105f4ecef8ad9ca31a8372d0c353",
|
||||
"name": "example.com",
|
||||
"development_mode": 7200,
|
||||
"original_name_servers": [
|
||||
"ns1.originaldnshost.com",
|
||||
"ns2.originaldnshost.com"
|
||||
],
|
||||
"original_registrar": "GoDaddy",
|
||||
"original_dnshost": "NameCheap",
|
||||
"created_on": "2014-01-01T05:20:00.12345Z",
|
||||
"modified_on": "2014-01-01T05:20:00.12345Z",
|
||||
"activated_on": "2014-01-02T00:01:00.12345Z",
|
||||
"owner": {
|
||||
"id": "7c5dae5552338874e5053f2534d2767a",
|
||||
"email": "user@example.com",
|
||||
"type": "user"
|
||||
},
|
||||
"account": {
|
||||
"id": "01a7362d577a6c3019a474fd6f485823",
|
||||
"name": "Demo Account"
|
||||
},
|
||||
"permissions": [
|
||||
"#zone:read",
|
||||
"#zone:edit"
|
||||
],
|
||||
"plan": {
|
||||
"id": "e592fd9519420ba7405e1307bff33214",
|
||||
"name": "Pro Plan",
|
||||
"price": 20,
|
||||
"currency": "USD",
|
||||
"frequency": "monthly",
|
||||
"legacy_id": "pro",
|
||||
"is_subscribed": true,
|
||||
"can_subscribe": true
|
||||
},
|
||||
"plan_pending": {
|
||||
"id": "e592fd9519420ba7405e1307bff33214",
|
||||
"name": "Pro Plan",
|
||||
"price": 20,
|
||||
"currency": "USD",
|
||||
"frequency": "monthly",
|
||||
"legacy_id": "pro",
|
||||
"is_subscribed": true,
|
||||
"can_subscribe": true
|
||||
},
|
||||
"status": "active",
|
||||
"paused": false,
|
||||
"type": "full",
|
||||
"name_servers": [
|
||||
"tony.ns.cloudflare.com",
|
||||
"woz.ns.cloudflare.com"
|
||||
]
|
||||
}
|
||||
}
|
||||
78
tests/Fixtures/Endpoints/listMemberships.json
Normal file
78
tests/Fixtures/Endpoints/listMemberships.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"success": true,
|
||||
"errors": [],
|
||||
"messages": [],
|
||||
"result": [
|
||||
{
|
||||
"id": "4536bcfad5faccb111b47003c79917fa",
|
||||
"code": "05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0",
|
||||
"status": "accepted",
|
||||
"account": {
|
||||
"id": "01a7362d577a6c3019a474fd6f485823",
|
||||
"name": "Demo Account",
|
||||
"settings": {
|
||||
"enforce_twofactor": false
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
"Account Administrator"
|
||||
],
|
||||
"permissions": {
|
||||
"analytics": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"billing": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"cache_purge": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"dns": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"dns_records": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"lb": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"logs": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"organization": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"ssl": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"waf": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"zones": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"zone_settings": {
|
||||
"read": true,
|
||||
"write": true
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"result_info": {
|
||||
"page": 1,
|
||||
"per_page": 20,
|
||||
"count": 1,
|
||||
"total_count": 2000
|
||||
}
|
||||
}
|
||||
70
tests/Fixtures/Endpoints/updateMembershipStatus.json
Normal file
70
tests/Fixtures/Endpoints/updateMembershipStatus.json
Normal file
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"success": true,
|
||||
"errors": [],
|
||||
"messages": [],
|
||||
"result": {
|
||||
"id": "4536bcfad5faccb111b47003c79917fa",
|
||||
"code": "05dd05cce12bbed97c0d87cd78e89bc2fd41a6cee72f27f6fc84af2e45c0fac0",
|
||||
"status": "accepted",
|
||||
"account": {
|
||||
"id": "01a7362d577a6c3019a474fd6f485823",
|
||||
"name": "Demo Account",
|
||||
"settings": {
|
||||
"enforce_twofactor": false
|
||||
}
|
||||
},
|
||||
"roles": [
|
||||
"Account Administrator"
|
||||
],
|
||||
"permissions": {
|
||||
"analytics": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"billing": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"cache_purge": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"dns": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"dns_records": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"lb": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"logs": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"organization": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"ssl": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"waf": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"zones": {
|
||||
"read": true,
|
||||
"write": true
|
||||
},
|
||||
"zone_settings": {
|
||||
"read": true,
|
||||
"write": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user