You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
1.9 KiB
86 lines
1.9 KiB
<?php |
|
|
|
namespace App\Models; |
|
|
|
// use Illuminate\Contracts\Auth\MustVerifyEmail; |
|
use App\Traits\UUID; |
|
use Laravel\Sanctum\HasApiTokens; |
|
use Illuminate\Notifications\Notifiable; |
|
use PHPOpenSourceSaver\JWTAuth\Contracts\JWTSubject; |
|
use Illuminate\Database\Eloquent\Factories\HasFactory; |
|
use Illuminate\Database\Eloquent\SoftDeletes; |
|
use Illuminate\Foundation\Auth\User as Authenticatable; |
|
|
|
class User extends Authenticatable implements JWTSubject |
|
{ |
|
use HasApiTokens, HasFactory, Notifiable, SoftDeletes; |
|
|
|
/** |
|
* The attributes that are mass assignable. |
|
* |
|
* @var array<int, string> |
|
*/ |
|
protected $fillable = [ |
|
'username', |
|
'fullname', |
|
'nip', |
|
'email', |
|
'no_hp', |
|
'divisi', |
|
'tgl_lahir', |
|
'jenis_kelamin', |
|
'agama', |
|
'foto', |
|
'role_id', |
|
'warehouse_id', |
|
'address', |
|
'password', |
|
'created_by', |
|
'updated_by', |
|
]; |
|
|
|
public function warehouse() |
|
{ |
|
return $this->belongsTo(m_warehouse::class, 'warehouse_id')->withTrashed(); |
|
} |
|
|
|
/** |
|
* The attributes that should be hidden for serialization. |
|
* |
|
* @var array<int, string> |
|
*/ |
|
protected $hidden = [ |
|
'password', |
|
'remember_token', |
|
]; |
|
|
|
/** |
|
* The attributes that should be cast. |
|
* |
|
* @var array<string, string> |
|
*/ |
|
protected $casts = [ |
|
'email_verified_at' => 'datetime', |
|
'password' => 'hashed', |
|
]; |
|
|
|
/** |
|
* Get the identifier that will be stored in the subject claim of the JWT. |
|
* |
|
* @return mixed |
|
*/ |
|
public function getJWTIdentifier() |
|
{ |
|
return $this->getKey(); |
|
} |
|
|
|
/** |
|
* Return a key value array, containing any custom claims to be added to the JWT. |
|
* |
|
* @return array |
|
*/ |
|
public function getJWTCustomClaims() |
|
{ |
|
return []; |
|
} |
|
}
|
|
|