globalLimit.go 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. package v1
  2. type GlobalLimitRequest struct {
  3. Uid int `json:"uid" form:"uid" binding:"required"`
  4. HostId int `json:"host_id" form:"host_id" binding:"required"`
  5. Comment string `json:"comment" form:"comment" binding:"required"`
  6. }
  7. type GlobalLimitEditRequest struct {
  8. Uid int `json:"uid" form:"uid" binding:"required"`
  9. HostId int `json:"host_id" form:"host_id" binding:"required"`
  10. RuleId int `json:"rule_id" form:"rule_id" binding:"required"`
  11. Comment string `json:"comment" form:"comment" binding:"required"`
  12. ExpiredAt int64 `json:"expired_at" form:"expired_at" binding:"required"`
  13. }
  14. type GlobalLimitSendRequest struct {
  15. Tag string `json:"tag" form:"tag" binding:"required"`
  16. Bps string `form:"bps" json:"bps" default:"0"`
  17. MaxBytesMonth string `form:"max_bytes_month" json:"max_bytes_month" default:"0"`
  18. ExpiredAt string `form:"expired_at" json:"expired_at omitempty"`
  19. Comment string `form:"comment" json:"comment"`
  20. }
  21. type GlobalLimitRequireResponse struct {
  22. ExpiredAt string
  23. GlobalLimitName string
  24. Bps string
  25. MaxBytesMonth string
  26. IpCount int
  27. Operator int
  28. }
  29. type GeneralLimitRequireRequest struct {
  30. Uid int `json:"uid" form:"uid" binding:"required"`
  31. HostId int `json:"host_id" form:"host_id" binding:"required"`
  32. Tag string `json:"tag" form:"tag" binding:"required"`
  33. RuleId int `json:"rule_id" form:"rule_id" binding:"required"`
  34. }
  35. type AccessRules struct {
  36. Mode string `json:"mode" form:"mode" default:"deny"`
  37. Default string `json:"default" form:"default" default:"allow"`
  38. Rules []AccessRuleRules `json:"rules" form:"rules"`
  39. }
  40. type AccessRuleRules struct {
  41. Rule string `json:"rule" form:"rule"`
  42. Action string `json:"action" form:"action" default:"deny"`
  43. }
  44. type GlobalLimitExpired struct {
  45. HostId int `json:"host_id" form:"host_id" gorm:"column:host_id"`
  46. RuleId int `json:"rule_id" form:"rule_id" gorm:"column:rule_id"`
  47. Comment string `json:"comment" form:"comment" gorm:"column:comment"`
  48. }
  49. type GlobalLimitExpiredByHost struct {
  50. Id int `json:"id" form:"id"`
  51. Nextduedate int64 `json:"nextduedate" form:"nextduedate"`
  52. Uid int64 `json:"uid" form:"uid"`
  53. }
  54. type GlobalLimitExpiredBySnail struct {
  55. HostId int `json:"host_id" form:"host_id" gorm:"column:waf_common_limit_id"`
  56. ExpiredAt int64 `json:"expired_at" form:"expired_at" gorm:"column:expired_at"`
  57. }