user.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. package validators
  2. type User struct {
  3. ID int64 `json:"id" form:"id" binding:"omitempty,numeric"`
  4. Account string `json:"account" form:"account" binding:"required,alphanum,min=4,max=20"`
  5. Nickname string `json:"nickname" form:"nickname" binding:"required"`
  6. Status int `json:"status" form:"status" binding:"omitempty,oneof=1 2"`
  7. IsSuper int `json:"isSuper" form:"isSuper" binding:"omitempty,oneof=1 2"`
  8. Permissions []string `json:"permissions" form:"-" binding:"-"`
  9. Remark string `json:"remark" form:"remark" binding:"omitempty,max=255"`
  10. RoleIds []int64 `json:"roleIds" form:"roleIds" binding:"omitempty,dive,numeric"`
  11. Roles []*Role `json:"roles" form:"-" binding:"-"`
  12. }
  13. // 用户权限组
  14. type UserPermissionGroup struct {
  15. Label string `json:"label"` // 权限组名称
  16. Children []UserPermission `json:"children"` // 权限组下的权限
  17. }
  18. // 用户权限
  19. type UserPermission struct {
  20. Label string `json:"label"` // 权限名称
  21. Value string `json:"value"` // 权限值
  22. RequiredValues []string `json:"requiredValues"` // 必须勾选的其他权限
  23. }
  24. type Role struct {
  25. ID int64 `json:"id" form:"id" binding:"omitempty,numeric"`
  26. Name string `json:"name" form:"name" binding:"required"`
  27. Permissions []string `json:"permissions" form:"permissions" binding:"omitempty,dive"`
  28. UserTotal int `json:"userTotal" form:"-" binding:"-"`
  29. CreatedAt string `json:"createdAt" form:"-" binding:"-"`
  30. }