// Handles the users loggin and gives them a cookie for doing so func loginHandler(w http.ResponseWriter, r *http.Request) { usr := new(user.User) usr.Email = r.FormValue("email") pass := r.FormValue("pwd") userProfile := user.FindUser(usr.Email) if len(pass) > 0 { usr.Password = codify.SHA(pass) ok := user.CheckCredentials(usr.Email, usr.Password) if ok { usr = userProfile user.CreateUserFile(usr.Email) // TODO: Createuserfile? cookie := cookies.LoginCookie(usr.Email) http.SetCookie(w, &cookie) usr.SessionID = cookie.Value _ = user.UpdateUser(usr) http.Redirect(w, r, "/login-succeeded", http.StatusFound) } else { http.Redirect(w, r, "/login-failed", http.StatusFound) } } else { viewHandler(w, r) } }
// Registers the new user func registerHandler(w http.ResponseWriter, r *http.Request) { usr := new(user.User) usr.Email = r.FormValue("email") pass := r.FormValue("pwd") if len(pass) > 0 { usr.Password = codify.SHA(pass) if user.DoesAccountExist(usr.Email) { http.Redirect(w, r, "/account-exists", http.StatusFound) } else { ok := user.CreateAccount(usr) if ok { http.Redirect(w, r, "/success", http.StatusFound) } else { http.Redirect(w, r, "/failed", http.StatusFound) } } } else { viewHandler(w, r) } }