added API/Error class to hold error keys as constants

- re-added Setting::getAll() to API/Setting::set() in response
- updated settings/setup tests
This commit is contained in:
Jonathan Labreuille
2016-08-03 15:04:25 +02:00
parent 6675d5a20d
commit 5d2800bc25
6 changed files with 31 additions and 16 deletions

View File

@ -17,7 +17,7 @@ abstract class Endpoint {
) {
if(empty($errors)) {
$errors = array(
'unknown' => __('An unknown error occurred.')
Error::UNKNOWN => __('An unknown error occurred.')
);
}
return new ErrorResponse($errors, $meta, $status);
@ -26,7 +26,7 @@ abstract class Endpoint {
function badRequest($errors = array(), $meta = array()) {
if(empty($errors)) {
$errors = array(
'bad_request' => __('Invalid request parameters.')
Error::BAD_REQUEST => __('Invalid request parameters.')
);
}
return new ErrorResponse($errors, $meta, Response::STATUS_BAD_REQUEST);

View File

@ -1,6 +1,7 @@
<?php
namespace MailPoet\API\Endpoints;
use \MailPoet\API\Endpoint as APIEndpoint;
use \MailPoet\API\Error as APIError;
use \MailPoet\Models\Setting;
if(!defined('ABSPATH')) exit;
@ -10,18 +11,20 @@ class Settings extends APIEndpoint {
}
function get() {
$settings = Setting::getAll();
return $this->successResponse($settings);
return $this->successResponse(Setting::getAll());
}
function set($settings = array()) {
if(empty($settings)) {
return $this->badRequest();
return $this->badRequest(array(
APIError::BAD_REQUEST =>
__("You have not specified any settings to be saved.")
));
} else {
foreach($settings as $name => $value) {
Setting::setValue($name, $value);
}
return $this->successResponse();
return $this->successResponse(Setting::getAll());
}
}
}

View File

@ -17,7 +17,7 @@ class Setup extends APIEndpoint {
return $this->successResponse();
} catch(\Exception $e) {
return $this->errorResponse(array(
$e->getMessage()
$e->getCode() => $e->getMessage()
));
}
}

11
lib/API/Error.php Normal file
View File

@ -0,0 +1,11 @@
<?php
namespace MailPoet\API;
if(!defined('ABSPATH')) exit;
final class Error {
const UNKNOWN = 'unknown';
const BAD_REQUEST = 'bad_request';
private function __construct() {}
}