user_service.go 974 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package ldap
  2. import (
  3. "github.com/astaxie/beego/orm"
  4. "nginx-ui/server/config"
  5. "nginx-ui/server/models"
  6. "time"
  7. )
  8. type UserService struct {
  9. }
  10. // Add Update 保存或者修改
  11. func (c *UserService) Add(body *models.LdapUser) (*models.LdapUser, error) {
  12. server := models.LdapServer{
  13. Key: body.ServerKey,
  14. }
  15. o := orm.NewOrm()
  16. err := o.Read(&server, "Key")
  17. if err != nil {
  18. return nil, err
  19. }
  20. body.Uid = server.Uid
  21. _, err = o.Insert(body)
  22. if err != nil {
  23. return nil, err
  24. }
  25. client, err := GetActiveClient(&server)
  26. if err != nil {
  27. return nil, err
  28. }
  29. err = client.Add(body)
  30. if err != nil {
  31. return nil, err
  32. }
  33. body.LastSyncDate = time.Now()
  34. _, _ = o.Update(body)
  35. return body, nil
  36. }
  37. // get /ldap/users
  38. func (c *UserService) GetDetail(id int) (*models.LdapUser, error) {
  39. o := orm.NewOrm()
  40. user := models.LdapUser{Id: id}
  41. err := o.Read(&user, "Id")
  42. if err != nil {
  43. return nil, err
  44. }
  45. user.Password = config.ReplacePassword
  46. return &user, nil
  47. }