mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-22 20:21:04 -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)) {
|
if ( ! env(API_SECRET) || $request->api_secret !== env(API_SECRET)) {
|
||||||
sleep(ERROR_DELAY);
|
sleep(ERROR_DELAY);
|
||||||
return 'Invalid secret';
|
return $this->errorResponse(['message'=>'Invalid secret'],401);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
|
if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
|
||||||
return $this->processLogin($request);
|
return $this->processLogin($request);
|
||||||
} else {
|
} else {
|
||||||
sleep(ERROR_DELAY);
|
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);
|
return Response::make($response, 200, $headers);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function errorResponse($response)
|
protected function errorResponse($response, $httpErrorCode = 400)
|
||||||
{
|
{
|
||||||
$error['error'] = $response;
|
$error['error'] = $response;
|
||||||
$error = json_encode($error, JSON_PRETTY_PRINT);
|
$error = json_encode($error, JSON_PRETTY_PRINT);
|
||||||
$headers = Utils::getApiHeaders();
|
$headers = Utils::getApiHeaders();
|
||||||
|
|
||||||
return Response::make($error, 400, $headers);
|
return Response::make($error, $httpErrorCode, $headers);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
<?php namespace App\Http\Controllers;
|
<?php namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||||
use Utils;
|
use Utils;
|
||||||
use Response;
|
use Response;
|
||||||
use Input;
|
use Input;
|
||||||
@ -134,7 +135,13 @@ class ClientApiController extends BaseAPIController
|
|||||||
public function update(UpdateClientRequest $request, $publicId)
|
public function update(UpdateClientRequest $request, $publicId)
|
||||||
{
|
{
|
||||||
if ($request->action == ACTION_ARCHIVE) {
|
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);
|
$this->clientRepo->archive($client);
|
||||||
|
|
||||||
$transformer = new ClientTransformer(Auth::user()->account, Input::get('serializer'));
|
$transformer = new ClientTransformer(Auth::user()->account, Input::get('serializer'));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user