File: /var/www/console.fixgini.com/app/Models/User.php
<?php
namespace App\Models;
use App\Models\Session;
use Illuminate\Support\Str;
use Laravel\Sanctum\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use HasApiTokens, HasFactory, Notifiable, SoftDeletes;
public function receivesBroadcastNotificationsOn(): string
{
return 'users.' . $this->id;
}
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
if (empty($model->uuid)) {
$model->uuid = (string) Str::uuid();
}
});
}
public $incrementing = true;
protected $keyType = 'int';
protected $fillable = [
'name',
'lastname',
'profile_photo_url',
'role',
'email',
'phone',
'status',
'nationality_id',
'city',
'state',
'latitude',
'longitude',
'is_fingerprint',
'is_pin',
'address',
'google_id',
'fcm_token',
'email_verified_at',
'uuid',
'password',
];
protected $hidden = [
'password',
'remember_token',
];
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
}
public function bank_detail()
{
return $this->hasOne(BankDetail::class);
}
public function shop()
{
return $this->hasOne(Shop::class);
}
public function session()
{
return $this->hasOne(Session::class, 'user_id');
}
public function country()
{
return $this->hasOne(Country::class, 'id', 'nationality_id');
}
public function wallet()
{
return $this->hasOne(Wallet::class);
}
public function profile()
{
return $this->hasOne(Profile::class);
}
public function activity()
{
return $this->hasOne(UserActivity::class);
}
public function certificate()
{
return $this->hasMany(SellerCertificate::class);
}
}