Add back API key deletion

This commit is contained in:
Dane Everitt
2017-02-16 12:57:48 -05:00
parent d3e4f944f7
commit 516e2dc5ee
5 changed files with 53 additions and 3 deletions

View File

@@ -79,6 +79,7 @@ class APIController extends Controller
return response('', 204);
} catch (\Exception $ex) {
Log::error($ex);
return response()->json([
'error' => 'An error occured while attempting to remove this key.',
], 503);

View File

@@ -89,6 +89,7 @@ class BaseRoutes
]);
$router->delete('/revoke/{key}', [
'as' => 'account.api.revoke',
'uses' => 'Base\APIController@revoke',
]);
});

View File

@@ -224,8 +224,11 @@ class APIRepository
DB::beginTransaction();
try {
$model = Models\APIKey::where('public', $key)->where('user', $this->user->id)->firstOrFail();
Models\APIPermission::where('key_id', $model->id)->delete();
$model = Models\APIKey::with('permissions')->where('public', $key)->where('user_id', $this->user->id)->firstOrFail();
foreach($model->permissions as &$permission) {
$permission->delete();
}
$model->delete();
DB::commit();