Skip to content

Commit 53951be

Browse files
authored
add support for subscription and sources (#3)
1 parent 50fd384 commit 53951be

4 files changed

Lines changed: 75 additions & 1 deletion

File tree

src/Api/Source.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace Convoy\Api;
4+
5+
class Source extends AbstractApi
6+
{
7+
public function all(array $parameters = [])
8+
{
9+
return $this->httpGet('/sources', $parameters);
10+
}
11+
12+
public function create(array $data, array $parameters = []): array
13+
{
14+
return $this->httpPost('/sources', $data, $parameters);
15+
}
16+
17+
public function find(string $id, array $parameters = []): array
18+
{
19+
return $this->httpGet(sprintf('/sources/%s', $id), $parameters);
20+
}
21+
22+
public function update(string $id, array $data, array $parameters = []): array
23+
{
24+
return $this->httpPut(sprintf("/sources/%s", $id), $data, $parameters);
25+
}
26+
27+
public function delete(string $id, array $data = [], array $parameters = []): array
28+
{
29+
return $this->httpDelete(sprintf('/sources/%s', $id), $data, $parameters);
30+
}
31+
}

src/Api/Subscription.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace Convoy\Api;
4+
5+
class Subscription extends AbstractApi
6+
{
7+
public function all(array $parameters = [])
8+
{
9+
return $this->httpGet('/subscriptions', $parameters);
10+
}
11+
12+
public function create(array $data, array $parameters = []): array
13+
{
14+
return $this->httpPost('/subscriptions', $data, $parameters);
15+
}
16+
17+
public function find(string $id, array $parameters = []): array
18+
{
19+
return $this->httpGet(sprintf('/subscriptions/%s', $id), $parameters);
20+
}
21+
22+
public function update(string $id, array $data, array $parameters = []): array
23+
{
24+
return $this->httpPut(sprintf("/subscriptions/%s", $id), $data, $parameters);
25+
}
26+
27+
public function delete(string $id, array $data = [], array $parameters = []): array
28+
{
29+
return $this->httpDelete(sprintf('/subscriptions/%s', $id), $data, $parameters);
30+
}
31+
}

src/Convoy.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
use Convoy\Api\Event;
99
use Convoy\Api\EventDelivery;
1010
use Convoy\Api\Group;
11+
use Convoy\Api\Source;
12+
use Convoy\Api\Subscription;
1113
use Convoy\HttpClient\ClientBuilder;
1214
use Convoy\HttpClient\Config;
1315
use Http\Client\Common\HttpMethodsClientInterface;
@@ -74,4 +76,14 @@ public function deliveryAttempts(): DeliveryAttempt
7476
{
7577
return new DeliveryAttempt($this->getHttpClient());
7678
}
79+
80+
public function sources(): Source
81+
{
82+
return new Source($this->getHttpClient());
83+
}
84+
85+
public function subscriptions(): Subscription
86+
{
87+
return new Subscription($this->getHttpClient());
88+
}
7789
}

src/HttpClient/Config.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class Config
1414
{
1515
private array $config;
1616

17-
public const URI = 'https://cloud.getconvoy.io/api/v1';
17+
public const URI = 'https://dashboard.getconvoy.io/api/v1';
1818

1919
public function __construct(array $config = [])
2020
{

0 commit comments

Comments
 (0)