user.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package admin
  2. import (
  3. "Gwen/model"
  4. )
  5. type UserForm struct {
  6. Id uint `json:"id"`
  7. Username string `json:"username" validate:"required,gte=4,lte=10"`
  8. //Password string `json:"password" validate:"required,gte=4,lte=20"`
  9. Nickname string `json:"nickname" validate:"required"`
  10. Avatar string `json:"avatar"`
  11. GroupId uint `json:"group_id" validate:"required"`
  12. IsAdmin *bool `json:"is_admin" `
  13. Status model.StatusCode `json:"status" validate:"required,gte=0"`
  14. }
  15. func (uf *UserForm) FromUser(user *model.User) *UserForm {
  16. uf.Id = user.Id
  17. uf.Username = user.Username
  18. uf.Nickname = user.Nickname
  19. uf.Avatar = user.Avatar
  20. uf.GroupId = user.GroupId
  21. uf.IsAdmin = user.IsAdmin
  22. uf.Status = user.Status
  23. return uf
  24. }
  25. func (uf *UserForm) ToUser() *model.User {
  26. user := &model.User{}
  27. user.Id = uf.Id
  28. user.Username = uf.Username
  29. user.Nickname = uf.Nickname
  30. user.Avatar = uf.Avatar
  31. user.GroupId = uf.GroupId
  32. user.IsAdmin = uf.IsAdmin
  33. user.Status = uf.Status
  34. return user
  35. }
  36. type PageQuery struct {
  37. Page uint `form:"page"`
  38. PageSize uint `form:"page_size"`
  39. }
  40. type UserQuery struct {
  41. PageQuery
  42. Username string `form:"username"`
  43. }
  44. type UserPasswordForm struct {
  45. Id uint `json:"id" validate:"required"`
  46. Password string `json:"password" validate:"required,gte=4,lte=20"`
  47. }
  48. type ChangeCurPasswordForm struct {
  49. OldPassword string `json:"old_password" validate:"required,gte=4,lte=20"`
  50. NewPassword string `json:"new_password" validate:"required,gte=4,lte=20"`
  51. }