Viewing file: User.php (2.05 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Webkul\User\Models;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Support\Facades\Storage; use Laravel\Sanctum\HasApiTokens; use Webkul\User\Contracts\User as UserContract;
class User extends Authenticatable implements UserContract { use HasApiTokens, Notifiable;
/** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'image', 'password', 'api_token', 'role_id', 'status', 'view_permission', ];
/** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'api_token', 'remember_token', ];
/** * Get image url for the product image. */ public function image_url() { if (! $this->image) { return; }
return Storage::url($this->image); }
/** * Get image url for the product image. */ public function getImageUrlAttribute() { return $this->image_url(); }
/** * @return array */ public function toArray() { $array = parent::toArray();
$array['image_url'] = $this->image_url;
return $array; }
/** * Get the role that owns the user. */ public function role() { return $this->belongsTo(RoleProxy::modelClass()); }
/** * The groups that belong to the user. */ public function groups() { return $this->belongsToMany(GroupProxy::modelClass(), 'user_groups'); }
/** * Checks if user has permission to perform certain action. * * @param string $permission * @return bool */ public function hasPermission($permission) { if ($this->role->permission_type == 'custom' && ! $this->role->permissions) { return false; }
return in_array($permission, $this->role->permissions); } }
|