package model import "gorm.io/datatypes" type Website struct { Base Comment string `gorm:"comment" json:"comment"` ServerNames datatypes.JSON `gorm:"server_names" json:"server_names"` Ports datatypes.JSON `gorm:"ports" json:"ports"` Upstreams datatypes.JSON `gorm:"upstreams" json:"upstreams"` CertFilename string `gorm:"cert_filename" json:"cert_filename"` KeyFilename string `gorm:"key_filename" json:"key_filename"` IsEnabled bool `gorm:"is_enabled;default=true" json:"is_enabled"` // Rate limiting (nginx limit_req) RateLimitEnabled bool `gorm:"rate_limit_enabled;default:false" json:"rate_limit_enabled"` RateLimitRPS int `gorm:"rate_limit_rps;default:100" json:"rate_limit_rps"` RateLimitBurst int `gorm:"rate_limit_burst;default:200" json:"rate_limit_burst"` RateLimitAction string `gorm:"rate_limit_action;default:reject" json:"rate_limit_action"` // JS Challenge (human verification) ChallengeEnabled bool `gorm:"challenge_enabled;default:false" json:"challenge_enabled"` }