use Notifiable;
/
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/ * The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/
* Checks if user is a super admin
*
* @return boolean
*/
public function isSuperAdmin() : bool
{
return (bool) $this->is_super_admin;
}
/@return boolean
*/
public function isSuperAdmin() : bool
{
return (bool) $this->is_super_admin;
}
/
* Create admin.
*
*
@param array $details
*
@return array
*/
public function createSuperAdmin(array $details) : self
{
$user = new self($details);
if (! $this->superAdminExists()) {
$user->is_super_admin = 1;
}
$user->save();
return $user;
}
/**
* Checks if super admin exists
*
*
@return integer
*/
public function superAdminExists() : int
{
return self::where('is_super_admin', 1)->count();
}