Fix model validations

This commit is contained in:
James Brooks
2016-10-19 12:29:16 +01:00
parent a7e8ba3697
commit ebf3c8656f
12 changed files with 53 additions and 54 deletions
+10 -7
View File
@@ -75,9 +75,12 @@ class Component extends Model implements HasPresenter
* @var string[] * @var string[]
*/ */
public $rules = [ public $rules = [
'name' => 'required|string', 'name' => 'required|string',
'status' => 'int|required', 'status' => 'required|int',
'link' => 'url', 'order' => 'nullable|int',
'group_id' => 'nullable|int',
'link' => 'nullable|url',
'enabled' => 'required|bool',
]; ];
/** /**
@@ -148,7 +151,7 @@ class Component extends Model implements HasPresenter
*/ */
public function scopeStatus(Builder $query, $status) public function scopeStatus(Builder $query, $status)
{ {
return $query->where('status', $status); return $query->where('status', '=', $status);
} }
/** /**
@@ -173,7 +176,7 @@ class Component extends Model implements HasPresenter
*/ */
public function scopeEnabled(Builder $query) public function scopeEnabled(Builder $query)
{ {
return $query->where('enabled', true); return $query->where('enabled', '=', true);
} }
/** /**
@@ -185,7 +188,7 @@ class Component extends Model implements HasPresenter
*/ */
public function scopeDisabled(Builder $query) public function scopeDisabled(Builder $query)
{ {
return $query->where('enabled', false); return $query->where('enabled', '=', false);
} }
/** /**
@@ -198,7 +201,7 @@ class Component extends Model implements HasPresenter
public function scopeUngrouped(Builder $query) public function scopeUngrouped(Builder $query)
{ {
return $query->enabled() return $query->enabled()
->where('group_id', 0) ->where('group_id', '=', 0)
->orderBy('order') ->orderBy('order')
->orderBy('created_at'); ->orderBy('created_at');
} }
+4 -4
View File
@@ -75,9 +75,9 @@ class ComponentGroup extends Model implements HasPresenter
*/ */
public $rules = [ public $rules = [
'name' => 'required|string', 'name' => 'required|string',
'order' => 'int', 'order' => 'required|int',
'collapsed' => 'int', 'collapsed' => 'required|int',
'visible' => 'bool', 'visible' => 'required|bool',
]; ];
/** /**
@@ -172,7 +172,7 @@ class ComponentGroup extends Model implements HasPresenter
*/ */
public function scopeVisible(Builder $query) public function scopeVisible(Builder $query)
{ {
return $query->where('visible', self::VISIBLE_GUEST); return $query->where('visible', '=', self::VISIBLE_GUEST);
} }
/** /**
+9 -9
View File
@@ -69,7 +69,7 @@ class Incident extends Model implements HasPresenter
*/ */
protected $casts = [ protected $casts = [
'visible' => 'int', 'visible' => 'int',
'stickied' => 'int', 'stickied' => 'bool',
'scheduled_at' => 'date', 'scheduled_at' => 'date',
'deleted_at' => 'date', 'deleted_at' => 'date',
]; ];
@@ -97,12 +97,12 @@ class Incident extends Model implements HasPresenter
* @var string[] * @var string[]
*/ */
public $rules = [ public $rules = [
'component_id' => 'int', 'component_id' => 'nullable|int',
'name' => 'required', 'name' => 'required|string',
'status' => 'required|int', 'status' => 'required|int',
'visible' => 'required|bool', 'visible' => 'required|bool',
'stickied' => 'bool', 'stickied' => 'required|bool',
'message' => 'required', 'message' => 'required|string',
]; ];
/** /**
@@ -169,7 +169,7 @@ class Incident extends Model implements HasPresenter
*/ */
public function scopeVisible(Builder $query) public function scopeVisible(Builder $query)
{ {
return $query->where('visible', 1); return $query->where('visible', '=', 1);
} }
/** /**
@@ -181,7 +181,7 @@ class Incident extends Model implements HasPresenter
*/ */
public function scopeStickied(Builder $query) public function scopeStickied(Builder $query)
{ {
return $query->where('stickied', true); return $query->where('stickied', '=', true);
} }
/** /**
@@ -193,7 +193,7 @@ class Incident extends Model implements HasPresenter
*/ */
public function scopeScheduled(Builder $query) public function scopeScheduled(Builder $query)
{ {
return $query->where('status', 0)->where('scheduled_at', '>=', Carbon::now()); return $query->where('status', '=', 0)->where('scheduled_at', '>=', Carbon::now());
} }
/** /**
@@ -206,7 +206,7 @@ class Incident extends Model implements HasPresenter
public function scopeNotScheduled(Builder $query) public function scopeNotScheduled(Builder $query)
{ {
return $query->where('status', '>', 0)->orWhere(function ($query) { return $query->where('status', '>', 0)->orWhere(function ($query) {
$query->where('status', 0)->where(function ($query) { $query->where('status', '=', 0)->where(function ($query) {
$query->whereNull('scheduled_at')->orWhere('scheduled_at', '<=', Carbon::now()); $query->whereNull('scheduled_at')->orWhere('scheduled_at', '<=', Carbon::now());
}); });
}); });
+2 -2
View File
@@ -44,7 +44,7 @@ class IncidentTemplate extends Model
*/ */
public $rules = [ public $rules = [
'name' => 'required|string', 'name' => 'required|string',
'slug' => 'string', 'slug' => 'required|string',
'template' => 'required|string', 'template' => 'required|string',
]; ];
@@ -72,7 +72,7 @@ class IncidentTemplate extends Model
*/ */
public static function forSlug($slug, $columns = ['*']) public static function forSlug($slug, $columns = ['*'])
{ {
$template = static::where('slug', $slug)->firstOrFail($columns); $template = static::where('slug', '=', $slug)->firstOrFail($columns);
return $template; return $template;
} }
+1 -1
View File
@@ -56,7 +56,7 @@ class IncidentUpdate extends Model implements HasPresenter
* @var string[] * @var string[]
*/ */
public $rules = [ public $rules = [
'incident_id' => 'int', 'incident_id' => 'required|int',
'status' => 'required|int', 'status' => 'required|int',
'message' => 'required|string', 'message' => 'required|string',
'user_id' => 'required|int', 'user_id' => 'required|int',
+7 -8
View File
@@ -94,12 +94,11 @@ class Metric extends Model implements HasPresenter
public $rules = [ public $rules = [
'name' => 'required', 'name' => 'required',
'suffix' => 'required', 'suffix' => 'required',
'display_chart' => 'bool', 'display_chart' => 'required|bool',
'default_value' => 'numeric', 'default_value' => 'required|numeric',
'places' => 'numeric|between:0,4', 'places' => 'required|numeric|between:0,4',
'default_view' => 'numeric|between:0,3', 'default_view' => 'required|numeric|between:0,3',
'threshold' => 'numeric|between:0,10', 'threshold' => 'required|numeric|between:0,10',
'threshold' => 'int',
]; ];
/** /**
@@ -135,7 +134,7 @@ class Metric extends Model implements HasPresenter
*/ */
public function scopeDisplayable(Builder $query) public function scopeDisplayable(Builder $query)
{ {
return $query->where('display_chart', 1); return $query->where('display_chart', '=', true);
} }
/** /**
@@ -145,7 +144,7 @@ class Metric extends Model implements HasPresenter
*/ */
public function getShouldDisplayAttribute() public function getShouldDisplayAttribute()
{ {
return $this->display_chart === 1; return $this->display_chart;
} }
/** /**
+1 -1
View File
@@ -59,7 +59,7 @@ class MetricPoint extends Model implements HasPresenter
* @var string[] * @var string[]
*/ */
public $rules = [ public $rules = [
'value' => 'numeric|required', 'value' => 'required|numeric',
]; ];
/** /**
+2 -2
View File
@@ -101,7 +101,7 @@ class Subscriber extends Model implements HasPresenter
*/ */
public function scopeIsGlobal(Builder $query) public function scopeIsGlobal(Builder $query)
{ {
return $query->where('global', true); return $query->where('global', '=', true);
} }
/** /**
@@ -116,7 +116,7 @@ class Subscriber extends Model implements HasPresenter
{ {
return $query->select('subscribers.*') return $query->select('subscribers.*')
->join('subscriptions', 'subscribers.id', '=', 'subscriptions.subscriber_id') ->join('subscriptions', 'subscribers.id', '=', 'subscriptions.subscriber_id')
->where('subscriptions.component_id', $component_id); ->where('subscriptions.component_id', '=', $component_id);
} }
/** /**
+5 -5
View File
@@ -45,8 +45,8 @@ class Subscription extends Model
* @var string[] * @var string[]
*/ */
public $rules = [ public $rules = [
'subscriber_id' => 'int|required', 'subscriber_id' => 'required|int',
'component_id' => 'int', 'component_id' => 'nullable|int',
]; ];
/** /**
@@ -79,7 +79,7 @@ class Subscription extends Model
*/ */
public function scopeForSubscriber(Builder $query, $subscriber_id) public function scopeForSubscriber(Builder $query, $subscriber_id)
{ {
return $query->where('subscriber_id', $subscriber_id); return $query->where('subscriber_id', '=', $subscriber_id);
} }
/** /**
@@ -92,7 +92,7 @@ class Subscription extends Model
*/ */
public function scopeForComponent(Builder $query, $component_id) public function scopeForComponent(Builder $query, $component_id)
{ {
return $query->where('component_id', $component_id); return $query->where('component_id', '=', $component_id);
} }
/** /**
@@ -108,7 +108,7 @@ class Subscription extends Model
return $query->select('subscriptions.*') return $query->select('subscriptions.*')
->join('subscribers', 'subscriptions.subscriber_id', '=', 'subscribers.id') ->join('subscribers', 'subscriptions.subscriber_id', '=', 'subscribers.id')
->where(function ($query) { ->where(function ($query) {
$query->where('subscriptions.component_id', $component_id) $query->where('subscriptions.component_id', '=', $component_id)
->orWhere('subscribers.global'); ->orWhere('subscribers.global');
}) })
->whereNotNull('subscribers.verified_at'); ->whereNotNull('subscribers.verified_at');
+6 -9
View File
@@ -12,10 +12,8 @@
namespace CachetHQ\Cachet\Models; namespace CachetHQ\Cachet\Models;
use AltThree\Validator\ValidatingTrait; use AltThree\Validator\ValidatingTrait;
use Illuminate\Auth\Authenticatable; use Illuminate\Notifications\Notifiable;
use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@@ -25,10 +23,9 @@ use Illuminate\Support\Facades\Hash;
* *
* @author James Brooks <james@alt-three.com> * @author James Brooks <james@alt-three.com>
*/ */
class User extends Model implements AuthenticatableContract, CanResetPasswordContract class User extends Authenticatable
{ {
use Notifiable; use Notifiable, ValidatingTrait;
use Authenticatable, CanResetPassword, ValidatingTrait;
/** /**
* The admin level of user. * The admin level of user.
@@ -134,7 +131,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*/ */
public function scopeAdmins(Builder $query) public function scopeAdmins(Builder $query)
{ {
return $query->where('level', self::LEVEL_ADMIN); return $query->where('level', '=', self::LEVEL_ADMIN);
} }
/** /**
@@ -146,7 +143,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
*/ */
public function scopeActive(Builder $query) public function scopeActive(Builder $query)
{ {
return $query->where('active', true); return $query->where('active', '=', true);
} }
/** /**
+4 -4
View File
@@ -34,7 +34,7 @@ abstract class AbstractTestCase extends TestCase
/** /**
* Test actor. * Test actor.
* *
* @var User * @var \CachetHQ\Cachet\Models\User
*/ */
protected $user; protected $user;
@@ -57,7 +57,7 @@ abstract class AbstractTestCase extends TestCase
* *
* @param User|null $user * @param User|null $user
* *
* @return AbstractTestCase * @return \CachetHQ\Tests\Cachet\AbstractTestCase
*/ */
protected function signIn(User $user = null) protected function signIn(User $user = null)
{ {
@@ -73,7 +73,7 @@ abstract class AbstractTestCase extends TestCase
* *
* @param array $properties * @param array $properties
* *
* @return User * @return \CachetHQ\Cachet\Models\User
*/ */
protected function createUser($properties = []) protected function createUser($properties = [])
{ {
@@ -83,7 +83,7 @@ abstract class AbstractTestCase extends TestCase
/** /**
* Set up the needed configuration to be able to run the tests. * Set up the needed configuration to be able to run the tests.
* *
* @return AbstractTestCase * @return \CachetHQ\Tests\Cachet\AbstractTestCase
*/ */
protected function setupConfig() protected function setupConfig()
{ {
+2 -2
View File
@@ -46,7 +46,7 @@ class ManagerTest extends AbstractTestCase
$manager = m::mock('CachetHQ\Cachet\Services\Modules\Manager[groupModules]'); $manager = m::mock('CachetHQ\Cachet\Services\Modules\Manager[groupModules]');
$manager->shouldReceive('groupModules')->once()->passthru(); $manager->shouldReceive('groupModules')->once()->passthru();
$grouped = $manager->groupModules($this->getModules(), $this->getGroups()); $grouped = $manager->groupModules($this->getModules(), $this->getModuleGroups());
$this->assertSame($this->getGroupedModulesWithOrders(), $grouped); $this->assertSame($this->getGroupedModulesWithOrders(), $grouped);
} }
@@ -84,7 +84,7 @@ class ManagerTest extends AbstractTestCase
]; ];
} }
protected function getGroups() protected function getModuleGroups()
{ {
return [ return [
'one' => 1, 'one' => 1,