From 2d95b3832deb7e8a209c03b5e43ea2650bd54f66 Mon Sep 17 00:00:00 2001 From: Joseph Cohen Date: Wed, 14 Jan 2015 01:50:58 -0600 Subject: [PATCH] Implement API deletes --- app/routes/api.php | 4 ++++ src/Http/Controllers/Api/ComponentController.php | 14 ++++++++++++++ src/Http/Controllers/Api/IncidentController.php | 14 ++++++++++++++ src/Http/Controllers/Api/MetricController.php | 14 ++++++++++++++ src/Repositories/EloquentRepository.php | 2 +- 5 files changed, 47 insertions(+), 1 deletion(-) diff --git a/app/routes/api.php b/app/routes/api.php index e2baef3d..f5d2c52b 100644 --- a/app/routes/api.php +++ b/app/routes/api.php @@ -25,5 +25,9 @@ Route::api(['after' => 'allowed_domains', 'namespace' => 'CachetHQ\Cachet\Http\C Route::put('components/{id}', 'ComponentController@putComponent'); Route::put('incidents/{id}', 'IncidentController@putIncident'); Route::put('metrics/{id}', 'MetricController@putMetric'); + + Route::delete('components/{id}', 'ComponentController@deleteComponent'); + Route::delete('incidents/{id}', 'IncidentController@deleteIncident'); + Route::delete('metrics/{id}', 'MetricController@deleteMetric'); }); }); diff --git a/src/Http/Controllers/Api/ComponentController.php b/src/Http/Controllers/Api/ComponentController.php index d6afb7ab..3d157b0a 100644 --- a/src/Http/Controllers/Api/ComponentController.php +++ b/src/Http/Controllers/Api/ComponentController.php @@ -73,4 +73,18 @@ class ComponentController extends Controller { return $this->component->create($this->auth->user()->id, Binput::all()); } + + /** + * Delete an existing component. + * + * @param int $id + * + * @return \Dingo\Api\Http\Response + */ + public function deleteComponent($id) + { + $this->component->destroy($id); + + return $this->response->noContent(); + } } diff --git a/src/Http/Controllers/Api/IncidentController.php b/src/Http/Controllers/Api/IncidentController.php index 8b98a729..07c90089 100644 --- a/src/Http/Controllers/Api/IncidentController.php +++ b/src/Http/Controllers/Api/IncidentController.php @@ -73,4 +73,18 @@ class IncidentController extends Controller { return $this->incident->update($id, Binput::all()); } + + /** + * Delete an existing incident. + * + * @param int $id + * + * @return \Dingo\Api\Http\Response + */ + public function deleteIncident($id) + { + $this->incident->destroy($id); + + return $this->response->noContent(); + } } diff --git a/src/Http/Controllers/Api/MetricController.php b/src/Http/Controllers/Api/MetricController.php index 3273c9f9..c9d02198 100644 --- a/src/Http/Controllers/Api/MetricController.php +++ b/src/Http/Controllers/Api/MetricController.php @@ -72,4 +72,18 @@ class MetricController extends Controller { return $this->metric->update($id, Binput::all()); } + + /** + * Delete an existing metric. + * + * @param int $id + * + * @return \Dingo\Api\Http\Response + */ + public function deleteMetric($id) + { + $this->metric->destroy($id); + + return $this->response->noContent(); + } } diff --git a/src/Repositories/EloquentRepository.php b/src/Repositories/EloquentRepository.php index 7d4e11d3..772ccfce 100644 --- a/src/Repositories/EloquentRepository.php +++ b/src/Repositories/EloquentRepository.php @@ -121,7 +121,7 @@ abstract class EloquentRepository */ public function destroy($id) { - $this->model->delete($id); + $this->model->destroy($id); } /**