package dto

type (

	// SettingsRequest is the JSON request body for updating system settings.
	SettingsRequest struct {
		Host         string      `json:"host"`
		Port         *int        `json:"port,omitempty"`
		PIDFile      string      `json:"pidFile,omitempty"`
		Language     string      `json:"language,omitempty"`
		DefaultAgent string      `json:"defaultAgent,omitempty"`
		UI           SettingsUI  `json:"ui,omitempty"`
		Log          SettingsLog `json:"log,omitempty"`
	}

	// SettingsUI holds UI-related settings (theme, language, resource optimization).
	SettingsUI struct {
		Theme                       string `json:"theme,omitempty"`
		ColorScheme                 string `json:"colorScheme,omitempty"`
		Language                    string `json:"language,omitempty"`
		OptimizeBackgroundResources *bool  `json:"optimizeBackgroundResources,omitempty"`
	}

	// SettingsLog holds logging configuration (directory and filename).
	SettingsLog struct {
		Dir   string `json:"dir,omitempty"`
		File  string `json:"file,omitempty"`
		Level string `json:"level,omitempty"`
	}

	// SettingsResponse is the JSON response for the GET /settings endpoint.
	SettingsResponse struct {
		Host         string      `json:"host"`
		Port         int         `json:"port"`
		PIDFile      string      `json:"pidFile,omitempty"`
		Language     string      `json:"language,omitempty"`
		DefaultAgent string      `json:"defaultAgent,omitempty"`
		UI           SettingsUI  `json:"ui,omitempty"`
		Log          SettingsLog `json:"log,omitempty"`
	}
)
