*/ protected $fillable = [ 'name', 'email', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var array */ 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', 'type' => UserTypeSource::class, 'language' => UserLanguageSource::class, ]; } public function isAdmin(): bool { return $this->type === UserTypeSource::Admin; } public function permissions(): BelongsToMany { return $this->belongsToMany(Permission::class, 'user_type_permissions', 'user_type', 'permission_id'); } }