*/ use HasFactory, Notifiable, HasApiTokens, HasUlids; /** * The attributes that are mass assignable. * * @var list */ protected $fillable = [ 'name', 'email', 'password', 'avatar_url' ]; /** * The attributes that should be hidden for serialization. * * @var list */ protected $hidden = [ 'password', 'remember_token', ]; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function todos(): HasMany { return $this->hasMany(Todo::class); } public function conversations(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany(Conversation::class, 'participants') ->withTimestamps() ->using(Participant::class); } public function messages(): HasMany { return $this->hasMany(Message::class); } public function isAdmin() { return true; // return $this->role === 'admin'; } public function canAccessPanel(Panel $panel): bool { return true; } }