user.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package admin
  2. import (
  3. "github.com/lejianwen/rustdesk-api/v2/model"
  4. )
  5. type UserForm struct {
  6. Id uint `json:"id"`
  7. Username string `json:"username" validate:"required,gte=2,lte=32"`
  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. Remark string `json:"remark"`
  16. }
  17. func (uf *UserForm) FromUser(user *model.User) *UserForm {
  18. uf.Id = user.Id
  19. uf.Username = user.Username
  20. uf.Nickname = user.Nickname
  21. uf.Email = user.Email
  22. uf.Avatar = user.Avatar
  23. uf.GroupId = user.GroupId
  24. uf.IsAdmin = user.IsAdmin
  25. uf.Status = user.Status
  26. uf.Remark = user.Remark
  27. return uf
  28. }
  29. func (uf *UserForm) ToUser() *model.User {
  30. user := &model.User{}
  31. user.Id = uf.Id
  32. user.Username = uf.Username
  33. user.Nickname = uf.Nickname
  34. user.Email = uf.Email
  35. user.Avatar = uf.Avatar
  36. user.GroupId = uf.GroupId
  37. user.IsAdmin = uf.IsAdmin
  38. user.Status = uf.Status
  39. user.Remark = uf.Remark
  40. return user
  41. }
  42. type PageQuery struct {
  43. Page uint `form:"page"`
  44. PageSize uint `form:"page_size"`
  45. }
  46. type UserQuery struct {
  47. PageQuery
  48. Username string `form:"username"`
  49. }
  50. type UserPasswordForm struct {
  51. Id uint `json:"id" validate:"required"`
  52. Password string `json:"password" validate:"required,gte=4,lte=32"`
  53. }
  54. type ChangeCurPasswordForm struct {
  55. OldPassword string `json:"old_password" validate:"required,gte=4,lte=32"`
  56. NewPassword string `json:"new_password" validate:"required,gte=4,lte=32"`
  57. }
  58. type GroupUsersQuery struct {
  59. IsMy int `json:"is_my"`
  60. UserId uint `json:"user_id"`
  61. }
  62. type RegisterForm struct {
  63. Username string `json:"username" validate:"required,gte=2,lte=32"`
  64. Email string `json:"email"` // validate:"required,email"
  65. Password string `json:"password" validate:"required,gte=4,lte=32"`
  66. ConfirmPassword string `json:"confirm_password" validate:"required,gte=4,lte=32"`
  67. }
  68. type UserTokenBatchDeleteForm struct {
  69. Ids []uint `json:"ids" validate:"required"`
  70. }