package apps import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/httpdns/httpdnsutils" "github.com/iwind/TeaGo/actions" ) type AppSettingsAction struct { actionutils.ParentAction } func (this *AppSettingsAction) Init() { this.Nav("httpdns", "app", "") } func (this *AppSettingsAction) RunGet(params struct { AppId int64 }) { httpdnsutils.AddLeftMenu(this.Parent()) app := pickApp(params.AppId) settings := loadAppSettings(app) this.Data["app"] = app this.Data["settings"] = settings this.Show() } func (this *AppSettingsAction) RunPost(params struct { AppId int64 AppStatus bool Must *actions.Must CSRF *actionutils.CSRF }) { params.Must.Field("appId", params.AppId).Gt(0, "please select app") app := pickApp(params.AppId) settings := loadAppSettings(app) settings["appStatus"] = params.AppStatus // SNI strategy is fixed to level2 empty. settings["sniPolicy"] = "level2" settings["level2Mode"] = "empty" settings["publicSniDomain"] = "" settings["echFallbackPolicy"] = "level2" settings["ecsMode"] = "off" settings["ecsIPv4Prefix"] = 24 settings["ecsIPv6Prefix"] = 56 settings["pinningMode"] = "off" settings["sanMode"] = "off" saveAppSettings(app.GetInt64("id"), settings) this.Success() }