mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-22 17:10:56 -04:00
Merge pull request #722 from turbo124/api_errors
Improve error handling in API
This commit is contained in:
commit
cacc24ede4
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -107,13 +107,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);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
<?php namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
use Utils;
|
||||
use Response;
|
||||
use Input;
|
||||
@ -134,7 +135,13 @@ class ClientApiController extends BaseAPIController
|
||||
public function update(UpdateClientRequest $request, $publicId)
|
||||
{
|
||||
if ($request->action == ACTION_ARCHIVE) {
|
||||
$client = Client::scope($publicId)->firstOrFail();
|
||||
|
||||
try {
|
||||
$client = Client::scope($publicId)->firstOrFail();
|
||||
} catch (ModelNotFoundException $e) {
|
||||
return $this->errorResponse(['message'=>'Record not found'], 400);
|
||||
}
|
||||
|
||||
$this->clientRepo->archive($client);
|
||||
|
||||
$transformer = new ClientTransformer(Auth::user()->account, Input::get('serializer'));
|
||||
|
Loading…
x
Reference in New Issue
Block a user