globalLimit.go 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package v1
  2. type GlobalLimitRequest struct {
  3. Uid int `json:"uid" form:"uid" binding:"required"`
  4. HostId int `json:"hostId" form:"hostId" 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:"hostId" form:"hostId" binding:"required"`
  10. RuleId int `json:"ruleId" form:"ruleId" 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 GlobalLimitRequireResponse struct {
  15. ExpiredAt string
  16. GlobalLimitName string
  17. HostName string
  18. Bps string
  19. MaxBytesMonth string
  20. IpCount int
  21. Operator int
  22. NodeArea string
  23. ConfigMaxProtection string
  24. }
  25. type GeneralLimitRequireRequest struct {
  26. Uid int `json:"uid" form:"uid" binding:"required"`
  27. HostId int `json:"hostId" form:"hostId" binding:"required"`
  28. Tag string `json:"tag" form:"tag" binding:"required"`
  29. RuleId int `json:"ruleId" form:"ruleId" binding:"required"`
  30. }
  31. type AccessRules struct {
  32. Mode string `json:"mode" form:"mode" default:"deny"`
  33. Default string `json:"default" form:"default" default:"allow"`
  34. Rules []AccessRuleRules `json:"rules" form:"rules"`
  35. }
  36. type AccessRuleRules struct {
  37. Rule string `json:"rule" form:"rule"`
  38. Action string `json:"action" form:"action" default:"deny"`
  39. }
  40. type GlobalLimitExpired struct {
  41. HostId int `json:"hostId" form:"hostId" gorm:"column:host_id"`
  42. RuleId int `json:"ruleId" form:"ruleId" gorm:"column:rule_id"`
  43. Comment string `json:"comment" form:"comment" gorm:"column:comment"`
  44. }
  45. type GlobalLimitExpiredByHost struct {
  46. Id int `json:"id" form:"id"`
  47. Nextduedate int64 `json:"nextduedate" form:"nextduedate"`
  48. Uid int64 `json:"uid" form:"uid"`
  49. }
  50. type UserInfo struct {
  51. Username string `json:"username" form:"username"`
  52. Email string `json:"email" form:"email"`
  53. PhoneNumber string `json:"phonenumber" form:"phonenumber"`
  54. }