user.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. Email string `json:"email"` //validate:"required,email" email不强制
  9. //Password string `json:"password" validate:"required,gte=4,lte=20"`
  10. Nickname string `json:"nickname"`
  11. Avatar string `json:"avatar"`
  12. GroupId uint `json:"group_id" validate:"required"`
  13. IsAdmin *bool `json:"is_admin" `
  14. Status model.StatusCode `json:"status" validate:"required,gte=0"`
  15. }
  16. func (uf *UserForm) FromUser(user *model.User) *UserForm {
  17. uf.Id = user.Id
  18. uf.Username = user.Username
  19. uf.Nickname = user.Nickname
  20. uf.Email = user.Email
  21. uf.Avatar = user.Avatar
  22. uf.GroupId = user.GroupId
  23. uf.IsAdmin = user.IsAdmin
  24. uf.Status = user.Status
  25. return uf
  26. }
  27. func (uf *UserForm) ToUser() *model.User {
  28. user := &model.User{}
  29. user.Id = uf.Id
  30. user.Username = uf.Username
  31. user.Nickname = uf.Nickname
  32. user.Email = uf.Email
  33. user.Avatar = uf.Avatar
  34. user.GroupId = uf.GroupId
  35. user.IsAdmin = uf.IsAdmin
  36. user.Status = uf.Status
  37. return user
  38. }
  39. type PageQuery struct {
  40. Page uint `form:"page"`
  41. PageSize uint `form:"page_size"`
  42. }
  43. type UserQuery struct {
  44. PageQuery
  45. Username string `form:"username"`
  46. }
  47. type UserPasswordForm struct {
  48. Id uint `json:"id" validate:"required"`
  49. Password string `json:"password" validate:"required,gte=4,lte=20"`
  50. }
  51. type ChangeCurPasswordForm struct {
  52. OldPassword string `json:"old_password" validate:"required,gte=4,lte=20"`
  53. NewPassword string `json:"new_password" validate:"required,gte=4,lte=20"`
  54. }
  55. type GroupUsersQuery struct {
  56. IsMy int `json:"is_my"`
  57. UserId uint `json:"user_id"`
  58. }
  59. type RegisterForm struct {
  60. Username string `json:"username" validate:"required,gte=4,lte=10"`
  61. Email string `json:"email" validate:"required,email"`
  62. Password string `json:"password" validate:"required,gte=4,lte=20"`
  63. ConfirmPassword string `json:"confirm_password" validate:"required,gte=4,lte=20"`
  64. }