package param import "wireguard-dashboard/model/template_data" // ClientList // @description: 客户端列表 type ClientList struct { Name string `json:"name" form:"name"` Email string `json:"email" form:"email"` Ip string `json:"ip" form:"ip"` CreateUser string `json:"createUser" form:"createUser"` Enabled *int `json:"enabled" form:"enabled"` page } // ClientStatusList // @description: 客户端状态列表 type ClientStatusList struct { page } // SaveClient // @description: 新增/编辑客户端 type SaveClient struct { Id string `json:"id" form:"id" binding:"omitempty"` ServerId string `json:"serverId" form:"serverId" binding:"required"` Name string `json:"name" form:"name" binding:"required"` Email string `json:"email" form:"email" binding:"omitempty"` SubnetRange string `json:"subnetRange" form:"subnetRange" binding:"omitempty"` IpAllocation []string `json:"ipAllocation" form:"ipAllocation" binding:"required"` AllowedIPS []string `json:"allowedIPS" form:"allowedIPS" binding:"required"` ExtraAllowedIPS []string `json:"extraAllowedIPS" form:"extraAllowedIPS" binding:"omitempty"` Endpoint string `json:"endpoint" form:"endpoint" binding:"omitempty"` UseServerDNS *int `json:"useServerDNS" form:"useServerDNS" binding:"required,oneof=1 0"` EnabledAfterCreation *int `json:"enableAfterCreation" form:"enableAfterCreation" binding:"required,oneof=1 0"` Keys *template_data.Keys `json:"keys" form:"keys" binding:"omitempty"` Enabled *int `json:"enabled" form:"enabled" binding:"required,oneof=1 0"` OfflineMonitoring *int `json:"offlineMonitoring" form:"offlineMonitoring" binding:"required,oneof=1 0"` } // ControlServer // @description: 服务端控制 type ControlServer struct { Status string `json:"status" form:"status" binding:"required,oneof=START STOP RESTART"` } // AssignIPAndAllowedIP // @description: 分配IP和允许访问的IP段 type AssignIPAndAllowedIP struct { Rule string `json:"rule" form:"rule" binding:"required,oneof=RANDOM AUTO"` // 分配IP的规则 RANDOM - 固定 | AUTO - 自动生成 }