*/ use HasFactory, Notifiable; protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function saveFiles(): HasMany { return $this->hasMany(\App\Features\Settings\Models\SaveFile::class); } public function settings(): HasMany { return $this->hasMany(UserSetting::class); } public function webDavAccounts(): HasMany { return $this->hasMany(WebDavAccountModel::class); } public function getSetting(string $key, mixed $default = null): mixed { $setting = $this->settings()->where('setting_key', $key)->first(); return $setting?->setting_value ?? $default; } public function setSetting(string $key, mixed $value): void { $this->settings()->updateOrCreate( ['setting_key' => $key], ['setting_value' => $value] ); } }