<?php declare(strict_types=1); namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; final class User extends Authenticatable { use HasApiTokens, HasFactory, Notifiable, SoftDeletes; /** * The model's default values for attributes. * * @var array */ protected $attributes = [ 'is_active' => true, ]; /** * The attributes that are mass assignable. * * @var array<int, string> */ protected $fillable = [ 'name', 'email', 'password', 'timezone', 'is_active', 'locale', ]; /** * 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', 'is_active' => 'boolean' ]; /** * Return the user's roles */ public function roles(): belongsToMany { return $this->belongsToMany(Role::class); } }