Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func Login(res http.ResponseWriter, req *http.Request, _ httprouter.Params) {
- defer req.Body.Close()
- var resp UserResponse
- decoder := json.NewDecoder(req.Body)
- var t login
- err := decoder.Decode(&t)
- if err != nil {
- fmt.Println("error", err.Error())
- }
- log.Println(t)
- //Create user from parseForm.
- email := t.Email
- password := t.Password
- user, err := db.GetUser(email, password)
- if err != nil {
- fmt.Println("error at getting user for login", err.Error())
- }
- //if the user is verified
- if user.Email != "" {
- if user.Verified {
- if user.Attempts <= 3 {
- resp.Type = "authorized"
- resp.Payload.Status = "Authorized"
- resp.Payload.Key = authenticate(res, req)
- resp.Payload.User = user
- } else {
- resp.Type = "unauthorized"
- resp.Payload.Status = "Unauthoruzed"
- resp.Payload.Message = "Too many attempts to login. Please wait 10 minutes for next attempt."
- resp.Payload.Key = ""
- resp.Payload.User = db.DBUser{}
- }
- } else {
- resp.Type = "unverified"
- resp.Payload.Status = "Unverified"
- resp.Payload.Message = "You are not verified yet."
- resp.Payload.Key = ""
- resp.Payload.User = db.DBUser{}
- }
- } else {
- resp.Type = "unauthorized"
- resp.Payload.Status = "unauthorized"
- resp.Payload.Message = "User or password does not exist"
- resp.Payload.Key = ""
- resp.Payload.User = db.DBUser{}
- }
- sendUserPayload(resp, res)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement