github.com/infraboard/keyauth@v0.8.1/apps/user/http/password.go (about) 1 package http 2 3 import ( 4 "net/http" 5 6 "github.com/infraboard/keyauth/apps/token" 7 "github.com/infraboard/keyauth/apps/user" 8 "github.com/infraboard/mcube/http/context" 9 "github.com/infraboard/mcube/http/request" 10 "github.com/infraboard/mcube/http/response" 11 ) 12 13 func (h *handler) UpdatePassword(w http.ResponseWriter, r *http.Request) { 14 ctx := context.GetContext(r) 15 tk := ctx.AuthInfo.(*token.Token) 16 17 // 解析需要更新的数据 18 req := user.NewUpdatePasswordRequest() 19 if err := request.GetDataFromRequest(r, req); err != nil { 20 response.Failed(w, err) 21 return 22 } 23 req.Account = tk.Account 24 25 pass, err := h.service.UpdateAccountPassword(r.Context(), req) 26 if err != nil { 27 response.Failed(w, err) 28 return 29 } 30 31 pass.Password = "" 32 response.Success(w, pass) 33 return 34 } 35 36 func (h *handler) GeneratePassword(w http.ResponseWriter, r *http.Request) { 37 // 解析需要更新的数据 38 req := user.NewGeneratePasswordRequest() 39 if err := request.GetDataFromRequest(r, req); err != nil { 40 response.Failed(w, err) 41 return 42 } 43 44 pass, err := h.service.GeneratePassword( 45 r.Context(), 46 req, 47 ) 48 if err != nil { 49 response.Failed(w, err) 50 return 51 } 52 53 response.Success(w, pass) 54 return 55 }