Improving error reporting API

This commit is contained in:
David Bomba 2016-02-17 08:48:10 +11:00
commit 1ab4bb636f
3 changed files with 9 additions and 6 deletions

View File

@ -36,14 +36,14 @@ class AccountApiController extends BaseAPIController
{
if ( ! env(API_SECRET) || $request->api_secret !== env(API_SECRET)) {
sleep(ERROR_DELAY);
return 'Invalid secret';
return $this->errorResponse(['message'=>'Invalid secret'],401);
}
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
return $this->processLogin($request);
} else {
sleep(ERROR_DELAY);
return 'Invalid credentials';
return $this->errorResponse(['message'=>'Invalid credentials'],401);
}
}

View File

@ -113,13 +113,13 @@ class BaseAPIController extends Controller
return Response::make($response, 200, $headers);
}
protected function errorResponse($response)
protected function errorResponse($response, $httpErrorCode = 400)
{
$error['error'] = $response;
$error = json_encode($error, JSON_PRETTY_PRINT);
$headers = Utils::getApiHeaders();
return Response::make($error, 400, $headers);
return Response::make($error, $httpErrorCode, $headers);
}

View File

@ -1,5 +1,6 @@
<?php namespace App\Http\Controllers;
use Illuminate\Database\Eloquent\ModelNotFoundException;
use Utils;
use Response;
use Input;
@ -134,11 +135,13 @@ class ClientApiController extends BaseAPIController
public function update(UpdateClientRequest $request, $publicId)
{
if ($request->action == ACTION_ARCHIVE) {
$client = Client::scope($publicId)->withTrashed()->first();
if(!$client)
return $this->errorResponse(['message'=>'Client not found.']);
$this->clientRepo->archive($client);
$transformer = new ClientTransformer(Auth::user()->account, Input::get('serializer'));
@ -151,7 +154,7 @@ class ClientApiController extends BaseAPIController
$client = Client::scope($publicId)->withTrashed()->first();
if(!$client)
return $this->errorResponse(['message'=>'Client not found.']);
return $this->errorResponse(['message'=>'Client not found.'], 400);
$this->clientRepo->restore($client);
@ -170,7 +173,7 @@ class ClientApiController extends BaseAPIController
->first();
if(!$client)
return $this->errorResponse(['message'=>'Client not found.']);
return $this->errorResponse(['message'=>'Client not found.'],400);
$transformer = new ClientTransformer(Auth::user()->account, Input::get('serializer'));
$data = $this->createItem($client, $transformer, ENTITY_CLIENT);