diff --git a/app/routes/api.php b/app/routes/api.php index bb81f265..2612236c 100644 --- a/app/routes/api.php +++ b/app/routes/api.php @@ -16,7 +16,7 @@ Route::api([ // Metrics Route::get('metrics', 'MetricController@getMetrics'); Route::get('metrics/{id}', 'MetricController@getMetric'); - Route::get('metrics/{id}/points', 'MetricPointController@getMetricPoint'); + Route::get('metrics/{id}/points', 'MetricController@getMetricPoints'); // Api protected Route::group(['protected' => true], function () { diff --git a/src/Http/Controllers/Api/MetricController.php b/src/Http/Controllers/Api/MetricController.php index c9d02198..cee1edd1 100644 --- a/src/Http/Controllers/Api/MetricController.php +++ b/src/Http/Controllers/Api/MetricController.php @@ -29,6 +29,7 @@ class MetricController extends Controller { $this->metric = $metric; } + /** * Get all metrics. * @@ -51,6 +52,18 @@ class MetricController extends Controller return $this->metric->findOrFail($id); } + /** + * Get all metric points. + * + * @param int $id + * + * @return \Illuminate\Database\Eloquent\Collection + */ + public function getMetricPoints($id) + { + return $this->metric->points($id); + } + /** * Create a new metric. * diff --git a/src/Http/Controllers/Api/MetricPointController.php b/src/Http/Controllers/Api/MetricPointController.php index aa3f0a0b..9609a627 100644 --- a/src/Http/Controllers/Api/MetricPointController.php +++ b/src/Http/Controllers/Api/MetricPointController.php @@ -29,15 +29,6 @@ class MetricPointController extends Controller { $this->metricPoint = $metricPoint; } - /** - * Get all metric points. - * - * @return \Illuminate\Database\Eloquent\Collection - */ - public function getMetricPoints() - { - return $this->metricPoint->all(); - } /** * Get a single metric point. @@ -46,7 +37,7 @@ class MetricPointController extends Controller * * @return \CachetHQ\Cachet\Models\MetricPoint */ - public function getMetricPoint($id) + public function getMetricPoints($id) { return $this->metricPoint->findOrFail($id); } diff --git a/src/Repositories/Metric/EloquentMetricRepository.php b/src/Repositories/Metric/EloquentMetricRepository.php index c72ab0f5..de6647dd 100644 --- a/src/Repositories/Metric/EloquentMetricRepository.php +++ b/src/Repositories/Metric/EloquentMetricRepository.php @@ -63,4 +63,18 @@ class EloquentMetricRepository extends EloquentRepository implements MetricRepos return $metric; } + + /** + * Returns all metric point models. + * + * @param int $id + * + * @return \Illuminate\Database\Eloquent\Collection + */ + public function points($id) + { + $metric = $this->model->findOrFail($id); + + return $metric->points; + } } diff --git a/src/Repositories/Metric/MetricRepository.php b/src/Repositories/Metric/MetricRepository.php index 0055c9db..5ee63924 100644 --- a/src/Repositories/Metric/MetricRepository.php +++ b/src/Repositories/Metric/MetricRepository.php @@ -11,6 +11,15 @@ interface MetricRepository */ public function all(); + /** + * Returns all metric point models. + * + * @param int $id + * + * @return \Illuminate\Database\Eloquent\Collection + */ + public function points($id); + /** * Create a new model. *