Ctrl K
ComunidadGuías…

model/setting_api.go

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package model

import "github.com/nezhahq/nezha/pkg/frontend"

type SettingForm struct {
	NATMemberDomains            []string `json:"nat_member_domains,omitempty" validate:"optional"`
	DNSServers                  string   `json:"dns_servers,omitempty" validate:"optional"`
	IgnoredIPNotification       string   `json:"ignored_ip_notification,omitempty" validate:"optional"`
	IPChangeNotificationGroupID uint64   `json:"ip_change_notification_group_id,omitempty"` // IP变更提醒的通知组
	Cover                       uint8    `json:"cover,omitempty"`
	SiteName                    string   `json:"site_name,omitempty" minLength:"1"`
	Language                    string   `json:"language,omitempty" minLength:"2"`
	InstallHost                 string   `json:"install_host,omitempty" validate:"optional"`
	DashboardHost               string   `json:"dashboard_host,omitempty" validate:"optional"`
	ReservedHosts               string   `json:"reserved_hosts,omitempty" validate:"optional"`
	CustomCode                  string   `json:"custom_code,omitempty" validate:"optional"`
	CustomCodeDashboard         string   `json:"custom_code_dashboard,omitempty" validate:"optional"`
	WebRealIPHeader             string   `json:"web_real_ip_header,omitempty" validate:"optional"`   // 前端真实IP
	AgentRealIPHeader           string   `json:"agent_real_ip_header,omitempty" validate:"optional"` // Agent真实IP
	UserTemplate                string   `json:"user_template,omitempty" validate:"optional"`

	AgentTLS                    bool  `json:"tls,omitempty" validate:"optional"`
	EnableIPChangeNotification  bool  `json:"enable_ip_change_notification,omitempty" validate:"optional"`
	EnablePlainIPInNotification bool  `json:"enable_plain_ip_in_notification,omitempty" validate:"optional"`
	AllowJWTIPChange            *bool `json:"allow_jwt_ip_change,omitempty" validate:"optional"`
	EnableMCP                   *bool `json:"enable_mcp,omitempty" validate:"optional"`

	OnlineStatsDays *int `json:"online_stats_days,omitempty" validate:"optional"` // 在线统计范围(天),nil=保留现值
}

type Setting struct {
	NATMemberDomains []string `json:"nat_member_domains,omitempty"`
	ConfigForGuests
	ConfigDashboard

	IgnoredIPNotificationServerIDs map[uint64]bool `json:"ignored_ip_notification_server_ids,omitempty"`
	Oauth2Providers                []string        `json:"oauth2_providers,omitempty"`
}

type FrontendTemplate = frontend.Template

type SettingResponse struct {
	Config Setting `json:"config"`

	Version           string             `json:"version,omitempty"`
	FrontendTemplates []FrontendTemplate `json:"frontend_templates,omitempty"`
	TSDBEnabled       bool               `json:"tsdb_enabled"`
}