getKey(); } public function getJWTCustomClaims(): array { return []; } public function serverResources(): BelongsToMany { return $this->belongsToMany(ServerResource::class, 'user_server_permissions') ->withPivot(['can_ssh', 'can_sftp', 'can_rdp']) ->withTimestamps(); } public function opsSoftwarePreferences(): HasMany { return $this->hasMany(UserOpsSoftwarePreference::class); } public function isAdmin(): bool { return $this->hasRole('admin', 'api'); } protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', 'force_password_change' => 'boolean', ]; } }