Skip to content

Commit 9f52a77

Browse files
committed
- (API) Updated all service classes to use the new Postmaster_TransportResponseModel instead of the Craft\Plugins\Postmaster\Responses\TransportResponse class
1 parent 2ef386a commit 9f52a77

File tree

6 files changed

+84
-43
lines changed

6 files changed

+84
-43
lines changed

core/services/CraftService.php

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
use Craft\EmailModel;
55
use Craft\Postmaster_TransportModel;
66
use Craft\Plugins\Postmaster\Components\BaseService;
7-
use Craft\Plugins\Postmaster\Responses\TransportResponse;
87

98
class CraftService extends BaseService {
109

@@ -18,9 +17,20 @@ class CraftService extends BaseService {
1817

1918
public function send(Postmaster_TransportModel $model)
2019
{
21-
$response = $this->craft()->email->sendEmail($model->settings);
22-
23-
return new TransportResponse($model, $response);
20+
$emailModel = new EmailModel($model->settings->getAttributes());
21+
$emailModel->cc = explode(',', $model->settings->cc);
22+
$emailModel->bcc = explode(',', $model->settings->bcc);
23+
24+
$success = $this->craft()->email->sendEmail($emailModel);
25+
26+
if($success)
27+
{
28+
return $this->success($model);
29+
}
30+
else
31+
{
32+
return $this->failed($model, 400);
33+
}
2434
}
2535

2636
public function getInputHtml(Array $data = array())

core/services/HttpRequestService.php

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
use Craft\Postmaster_TransportModel;
55
use Craft\Plugins\Postmaster\Components\BaseService;
6-
use Craft\Plugins\Postmaster\Responses\TransportResponse;
76
use \Guzzle\Http\Client;
87

98
class HttpRequestService extends BaseService {
@@ -14,11 +13,10 @@ class HttpRequestService extends BaseService {
1413

1514
public function send(Postmaster_TransportModel $model)
1615
{
17-
$response = new TransportResponse($model);
18-
$headers = $this->settings->headers;
19-
2016
if(!empty($this->settings->url))
2117
{
18+
$headers = $this->settings->headers;
19+
2220
try
2321
{
2422
$client = new Client();
@@ -50,20 +48,16 @@ public function send(Postmaster_TransportModel $model)
5048
}
5149

5250
$request->send();
51+
52+
return $this->success($model);
5353
}
5454
catch(\Exception $e)
5555
{
56-
$response->addError($e->getMessage());
57-
$response->setSuccess(false);
56+
return $this->failed($model, 400, $e->getMessage());
5857
}
5958
}
60-
else
61-
{
62-
$response->setSuccess(false);
63-
$response->addError(\Craft::t('The ping url is empty.'));
64-
}
6559

66-
return $response;
60+
return $this->failed($model, 400, array(\Craft::t('The ping url is empty.')));
6761
}
6862

6963
public function getInputHtml(Array $data = array())

core/services/MailchimpService.php

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
namespace Craft\Plugins\Postmaster\Services;
33

44
use Craft\Postmaster_TransportModel;
5+
use Craft\Postmaster_TransportResponseModel;
56
use Craft\Postmaster_MailchimpCampaignModel;
67
use Craft\Postmaster_MailchimpSubscriberModel;
78
use Craft\Plugins\Postmaster\Components\BaseService;
8-
use Craft\Plugins\Postmaster\Responses\TransportResponse;
99
use Guzzle\Http\Client;
1010

1111
class MailchimpService extends BaseService {
@@ -95,7 +95,9 @@ public function createAndSendCampaign(Array $data = array())
9595

9696
public function send(Postmaster_TransportModel $model)
9797
{
98-
$response = new TransportResponse($model, true);
98+
$response = new Postmaster_TransportResponseModel(array(
99+
'model' => $model
100+
));
99101

100102
foreach($this->settings->listIds as $listId)
101103
{
@@ -108,7 +110,7 @@ public function send(Postmaster_TransportModel $model)
108110
$this->createAndSendCampaign(array(
109111
'apiKey' => $this->settings->apiKey,
110112
'type' => $this->settings->campaignType,
111-
'listId' => $listId,
113+
'listId' => $this->settings->listIds,
112114
'subject' => $model->settings->subject,
113115
'fromEmail' => $model->settings->fromEmail,
114116
'fromName' => $model->settings->fromName,
@@ -124,11 +126,19 @@ public function send(Postmaster_TransportModel $model)
124126
}
125127
catch(\Exception $e)
126128
{
127-
$errorResponse = json_decode($e->getResponse()->getBody());
128-
129129
$response->setSuccess(false);
130-
$response->setCode($errorResponse->code);
131-
$response->addError($errorResponse->error);
130+
131+
try
132+
{
133+
$errorResponse = json_decode($e->getResponse()->getBody());
134+
135+
$response->setCode($errorResponse->code);
136+
$response->addError($errorResponse->error);
137+
}
138+
catch(\Exception $e)
139+
{
140+
$response->addError($e->getMessage());
141+
}
132142
}
133143
}
134144
else if($this->settings->action == 'subscribe')
@@ -151,10 +161,19 @@ public function send(Postmaster_TransportModel $model)
151161
}
152162
catch(\Exception $e)
153163
{
154-
$errorResponse = json_decode($e->getResponse()->getBody());
164+
$response->setSuccess(false);
155165

156-
$response->setCode($errorResponse->code);
157-
$response->addError($errorResponse->error);
166+
try
167+
{
168+
$errorResponse = json_decode($e->getResponse()->getBody());
169+
170+
$response->setCode($errorResponse->code);
171+
$response->addError($errorResponse->error);
172+
}
173+
catch(\Exception $e)
174+
{
175+
$response->addError($e->getMessage());
176+
}
158177
}
159178
}
160179
}

core/services/MandrillService.php

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ class MandrillService extends BaseService {
2020

2121
public function send(Postmaster_TransportModel $model)
2222
{
23-
$response = new TransportResponse($model);
24-
2523
$client = new Client();
2624
$to = array();
2725
$headers = array();
@@ -92,16 +90,22 @@ public function send(Postmaster_TransportModel $model)
9290
{
9391
$request = $client->post($this->url, array(), json_encode($postData));
9492
$request->send();
93+
94+
return $this->success($model);
9595
}
9696
catch(\Exception $e)
9797
{
98-
$errorResponse = json_decode($e->getResponse()->getBody());
98+
try
99+
{
100+
$errorResponse = json_decode($e->getResponse()->getBody());
99101

100-
$response->addError($errorResponse->message);
101-
$response->setSuccess(false);
102+
return $this->failed($model, $errorResponse->code, array($errorResponse->message));
103+
}
104+
catch(\Exception $e)
105+
{
106+
return $this->failed($model, 400, array($e->getMessage()));
107+
}
102108
}
103-
104-
return $response;
105109
}
106110

107111
public function getInputHtml(Array $data = array())

core/services/TestService.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
use Craft\Postmaster_TransportModel;
55
use Craft\Plugins\Postmaster\Components\BaseService;
6-
use Craft\Plugins\Postmaster\Responses\TransportResponse;
76

87
class TestService extends BaseService {
98

@@ -13,7 +12,19 @@ class TestService extends BaseService {
1312

1413
public function send(Postmaster_TransportModel $model)
1514
{
16-
return new TransportResponse($model, true);
15+
if($this->settings->status == 'success')
16+
{
17+
return $this->success($model, $this->settings->code);
18+
}
19+
else
20+
{
21+
foreach($this->settings->errors as $error)
22+
{
23+
$errors[] = $error['error'];
24+
}
25+
26+
return $this->failed($model, $this->settings->code, $errors);
27+
}
1728
}
1829

1930
public function getInputHtml(Array $data = array())

core/services/TwilioService.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
use Craft\Postmaster_TransportModel;
55
use Craft\Plugins\Postmaster\Components\BaseService;
6-
use Craft\Plugins\Postmaster\Responses\TransportResponse;
76
use \Guzzle\Http\Client;
87

98
class TwilioService extends BaseService {
@@ -14,8 +13,6 @@ class TwilioService extends BaseService {
1413

1514
public function send(Postmaster_TransportModel $model)
1615
{
17-
$response = new TransportResponse($model);
18-
1916
try
2017
{
2118
$client = new Client();
@@ -34,16 +31,22 @@ public function send(Postmaster_TransportModel $model)
3431
$request = $client->post($this->getApiUrl('Messages'), array(), $data);
3532

3633
$request->send();
34+
35+
return $this->success($model);
3736
}
3837
catch(\Exception $e)
3938
{
40-
$errorResponse = json_decode($e->getResponse()->getBody());
39+
try
40+
{
41+
$errorResponse = json_decode($e->getResponse()->getBody());
4142

42-
$response->addError($errorResponse->message());
43-
$response->setSuccess(false);
43+
return $this->failed($model, $errorResponse->code, array($errorResponse->message));
44+
}
45+
catch(\Exception $e)
46+
{
47+
return $this->failed($model, 400, array($e->getMessage()));
48+
}
4449
}
45-
46-
return $response;
4750
}
4851

4952
public function getApiUrl($endpoint)

0 commit comments

Comments
 (0)