diff --git a/src/Repositories/Component/ComponentRepository.php b/src/Repositories/Component/ComponentRepository.php index f2fd58e1..94038765 100644 --- a/src/Repositories/Component/ComponentRepository.php +++ b/src/Repositories/Component/ComponentRepository.php @@ -4,11 +4,43 @@ namespace CachetHQ\Cachet\Repositories\Component; interface ComponentRepository { + /** + * Returns all models. + * + * @return \Illuminate\Database\Eloquent\Collection + */ public function all(); - public function create($id, array $array); + /** + * Create a new model. + * + * @param int $userId + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create($userId, array $data); + /** + * Finds a model by id. + * + * @param int $id + * + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model + */ public function findOrFail($id); + /** + * Returns an object with related relationships. + * + * @param int $id + * @param array $with + * + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model + */ public function with($id, array $with); } diff --git a/src/Repositories/Component/EloquentComponentRepository.php b/src/Repositories/Component/EloquentComponentRepository.php index 3f85a391..e443f0e1 100644 --- a/src/Repositories/Component/EloquentComponentRepository.php +++ b/src/Repositories/Component/EloquentComponentRepository.php @@ -7,17 +7,37 @@ use Component; class EloquentComponentRepository extends EloquentRepository implements ComponentRepository { + /** + * The eloquent model instance. + * + * @var \Component + */ protected $model; + /** + * Create a new eloquent component repository instance. + * + * @param \Component $model + * + * @return void + */ public function __construct(Component $model) { $this->model = $model; } - public function create($user_id, array $array) + /** + * Create a new model. + * + * @param int $userId + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create($userId, array $data) { - $component = new $this->model($array); - $component->user_id = $user_id; + $component = new $this->model($data); + $component->user_id = $userId; $this->validate($component); diff --git a/src/Repositories/EloquentRepository.php b/src/Repositories/EloquentRepository.php index 4f68bfc5..cbd2b12d 100644 --- a/src/Repositories/EloquentRepository.php +++ b/src/Repositories/EloquentRepository.php @@ -2,7 +2,7 @@ namespace CachetHQ\Cachet\Repositories; -use Exception; +use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\ModelNotFoundException; abstract class EloquentRepository @@ -10,7 +10,7 @@ abstract class EloquentRepository /** * Returns all models. * - * @return object + * @return \Illuminate\Database\Eloquent\Collection */ public function all() { @@ -20,10 +20,12 @@ abstract class EloquentRepository /** * Returns an object with related relationships. * - * @param id $id - * @param array $with Array of model relationships + * @param int $id + * @param array $with * - * @return object|ModelNotFoundException + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model */ public function with($id, array $with = []) { @@ -50,7 +52,7 @@ abstract class EloquentRepository * * @param int $id * - * @return object + * @return \Illuminate\Database\Eloquent\Model */ public function find($id) { @@ -58,11 +60,13 @@ abstract class EloquentRepository } /** - * Finds a model by ID. + * Finds a model by id. * * @param int $id * - * @return object|ModelNotFoundException + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model */ public function findOrFail($id) { @@ -76,38 +80,44 @@ abstract class EloquentRepository * @param string $value * @param array $columns * - * @return object|ModelNotFoundException + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model */ public function findByOrFail($key, $value, $columns = ['*']) { - if (! is_null($item = $this->model->where($key, $value)->first($columns))) { - return $item; + $model = $this->model->where($key, $value)->first($columns) + + if ($model === null) { + throw new ModelNotFoundException(); } - throw new ModelNotFoundException(); + return $model; } /** * Counts the number of rows returned. * - * @param string $key - * @param string $value + * @param string|null $key + * @param string|null $value * * @return int */ public function count($key = null, $value = null) { - if (is_null($key) || is_null($value)) { - return $this->model->where($key, $value)->count(); + if ($key === null || $value === null) { + return $this->model->count(); } - return $this->model->count(); + return $this->model->where($key, $value)->count(); } /** - * Deletes a model by ID. + * Deletes a model by id. * - * @param inetegr $id + * @param int $id + * + * @return void */ public function destroy($id) { @@ -117,14 +127,16 @@ abstract class EloquentRepository /** * Validate a given model with Watson validation. * - * @param object $model + * @param \Illuminate\Database\Eloquent\Model $model * - * @return Exception + * @throws \CachetHQ\Cachet\Repositories\InvalidModelValidationException + * + * @return $this */ - public function validate($model) + public function validate(Model $model) { if ($model->isInvalid()) { - throw new Exception('Invalid model validation'); + throw new InvalidModelValidationException('Validation failed on the model.'); } return $this; @@ -133,15 +145,17 @@ abstract class EloquentRepository /** * Validate whether a model has a correct relationship. * - * @param object $model - * @param string $relationship Name of the relationship to validate against + * @param \Illuminate\Database\Eloquent\Model $model + * @param string $relationship * - * @return Exception + * @throws \CachetHQ\Cachet\Repositories\InvalidRelationshipException + * + * @return $this */ - public function hasRelationship($model, $relationship) + public function hasRelationship(Model $model, $relationship) { - if (! $model->$relationship) { - throw new Exception('Invalid relationship exception'); + if ($model->$relationship === null) { + throw new InvalidRelationshipException('The relationship was not valid.'); } return $this; diff --git a/src/Repositories/Incident/EloquentIncidentRepository.php b/src/Repositories/Incident/EloquentIncidentRepository.php index 8edcb1ff..38b77120 100644 --- a/src/Repositories/Incident/EloquentIncidentRepository.php +++ b/src/Repositories/Incident/EloquentIncidentRepository.php @@ -7,20 +7,40 @@ use Incident; class EloquentIncidentRepository extends EloquentRepository implements IncidentRepository { + /** + * The eloquent model instance. + * + * @var \Incident + */ protected $model; + /** + * Create a new eloquent incident repository instance. + * + * @param \Incident $model + * + * @return void + */ public function __construct(Incident $model) { $this->model = $model; } - public function create($user_id, array $array) + /** + * Create a new model. + * + * @param int $userId + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create($userId, array $data) { - $incident = new $this->model($array); - $incident->user_id = $user_id; + $incident = new $this->model($data); + $incident->user_id = $userId; $this->validate($incident); - if (isset($array['component_id'])) { + if (isset($data['component_id'])) { $this->hasRelationship($incident, 'component'); } @@ -29,17 +49,25 @@ class EloquentIncidentRepository extends EloquentRepository implements IncidentR return $incident; } - public function update($id, array $array) + /** + * Update a model by id. + * + * @param int $id + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function update($id, array $data) { $incident = $this->model->findOrFail($id); - $incident->fill($array); + $incident->fill($data); $this->validate($incident); - if (isset($array['component_id'])) { + if (isset($data['component_id'])) { $this->hasRelationship($incident, 'component'); } - $incident->update($array); + $incident->update($data); return $incident; } diff --git a/src/Repositories/Incident/IncidentRepository.php b/src/Repositories/Incident/IncidentRepository.php index 40b4eae1..2affb747 100644 --- a/src/Repositories/Incident/IncidentRepository.php +++ b/src/Repositories/Incident/IncidentRepository.php @@ -4,11 +4,41 @@ namespace CachetHQ\Cachet\Repositories\Incident; interface IncidentRepository { + /** + * Returns all models. + * + * @return \Illuminate\Database\Eloquent\Collection + */ public function all(); - public function create($id, array $array); + /** + * Create a new model. + * + * @param int $userId + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create($userId, array $data); + /** + * Finds a model by id. + * + * @param int $id + * + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model + */ public function findOrFail($id); - public function update($id, array $with); + /** + * Update a model by id. + * + * @param int $id + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function update($id, array $data); } diff --git a/src/Repositories/InvalidModelValidationException.php b/src/Repositories/InvalidModelValidationException.php new file mode 100644 index 00000000..7b7663b4 --- /dev/null +++ b/src/Repositories/InvalidModelValidationException.php @@ -0,0 +1,10 @@ +model = $model; } - public function create(array $array) + /** + * Create a new model. + * + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create(array $data) { - $metric = new $this->model($array); + $metric = new $this->model($data); $this->validate($metric); @@ -25,14 +44,22 @@ class EloquentMetricRepository extends EloquentRepository implements MetricRepos return $metric; } - public function update($id, array $array) + /** + * Update a model by id. + * + * @param int $id + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function update($id, array $data) { $metric = $this->model->findOrFail($id); - $metric->fill($array); + $metric->fill($data); $this->validate($metric); - $metric->update($array); + $metric->update($data); return $metric; } diff --git a/src/Repositories/Metric/MetricRepository.php b/src/Repositories/Metric/MetricRepository.php index 870c74fd..0055c9db 100644 --- a/src/Repositories/Metric/MetricRepository.php +++ b/src/Repositories/Metric/MetricRepository.php @@ -4,11 +4,40 @@ namespace CachetHQ\Cachet\Repositories\Metric; interface MetricRepository { + /** + * Returns all models. + * + * @return \Illuminate\Database\Eloquent\Collection + */ public function all(); - public function create(array $array); + /** + * Create a new model. + * + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create(array $data); + /** + * Finds a model by id. + * + * @param int $id + * + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model + */ public function findOrFail($id); - public function update($id, array $with); + /** + * Update a model by id. + * + * @param int $id + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function update($id, array $data); } diff --git a/src/Repositories/MetricPoint/EloquentMetricPointRepository.php b/src/Repositories/MetricPoint/EloquentMetricPointRepository.php index cbce41a1..17d54779 100644 --- a/src/Repositories/MetricPoint/EloquentMetricPointRepository.php +++ b/src/Repositories/MetricPoint/EloquentMetricPointRepository.php @@ -7,16 +7,35 @@ use MetricPoint; class EloquentMetricPointRepository extends EloquentRepository implements MetricPointRepository { + /** + * The eloquent model instance. + * + * @var \MetricPoint + */ protected $model; + /** + * Create a new eloquent metric point repository instance. + * + * @param \MetricPoint $model + * + * @return void + */ public function __construct(MetricPoint $model) { $this->model = $model; } - public function create(array $array) + /** + * Create a new model. + * + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create(array $data) { - $metric = new $this->model($array); + $metric = new $this->model($data); $this->validate($metric); @@ -25,14 +44,22 @@ class EloquentMetricPointRepository extends EloquentRepository implements Metric return $metric; } - public function update($id, array $array) + /** + * Update a model by id. + * + * @param int $id + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function update($id, array $data) { $metric = $this->model->findOrFail($id); - $metric->fill($array); + $metric->fill($data); $this->validate($metric); - $metric->update($array); + $metric->update($data); return $metric; } diff --git a/src/Repositories/MetricPoint/MetricPointRepository.php b/src/Repositories/MetricPoint/MetricPointRepository.php index c64bb516..65359942 100644 --- a/src/Repositories/MetricPoint/MetricPointRepository.php +++ b/src/Repositories/MetricPoint/MetricPointRepository.php @@ -4,11 +4,40 @@ namespace CachetHQ\Cachet\Repositories\MetricPoint; interface MetricPointRepository { + /** + * Returns all models. + * + * @return \Illuminate\Database\Eloquent\Collection + */ public function all(); - public function create(array $array); + /** + * Create a new model. + * + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function create(array $data); + /** + * Finds a model by id. + * + * @param int $id + * + * @throws \Illuminate\Database\Eloquent\ModelNotFoundException + * + * @return \Illuminate\Database\Eloquent\Model + */ public function findOrFail($id); - public function update($id, array $with); + /** + * Update a model by id. + * + * @param int $id + * @param array $data + * + * @return \Illuminate\Database\Eloquent\Model + */ + public function update($id, array $data); }