package controllers import ( "car-service/extend/code" "car-service/models" "car-service/service" "github.com/astaxie/beego" "net/http" ) // Operations about Users type UserController struct { beego.Controller } // @Title Update // @Description update the user // @Param uid path string true "The uid you want to update" // @Param body body models.User true "body for user content" // @Success 200 {object} models.User // @Failure 403 {string} json ":uid is not int" // @router /:uid [put] func (u *UserController) Put() { uid := u.GetString(":uid") if uid != "" { var user models.User u.Data["json"] = user } u.ServeJSON() } // @Title Delete // @Description delete the user // @Param uid path string true "The uid you want to delete" // @Success 200 {string} delete success! // @Failure 403 {string} json "uid is empty" // @router /:uid [delete] func (u *UserController) Delete() { uid := u.GetString(":uid") var user = models.User{ Id: uid, } i, err := user.DeleteById() if err ==nil && i >0 { u.Data["json"] = "delete success!" } u.ServeJSON() } // @Title Login // @Description Logs user into the system // @Param username query string true "The username for login" // @Param password query string true "The password for login" // @Success 200 {string} login success // @Failure 403 {string} json "user not exist" // @router /login [get] func (u *UserController) Login() { phoneNum := u.GetString("phoneNum") cod := u.GetString("code") var sv service.UserService b, info, e := sv.Login(phoneNum, cod) resp := code.Code{} if b { resp.Success= true resp.Status= http.StatusOK resp.Data= *info } else { resp.Success= false resp.Status= http.StatusBadRequest resp.Data= e.Error() } u.Data["json"] = resp u.ServeJSON() } // @Title logout // @Description Logs out current logged in user session // @Success 200 {string} logout success // @router /logout [get] func (u *UserController) Logout() { resp := code.Code{} resp.Success = true resp.Status = http.StatusOK resp.Data = "ι€€ε‡ΊζˆεŠŸ" u.Data["json"] = resp u.ServeJSON() }