// TODO func (u *User) Profile(response http.ResponseWriter, request *http.Request) { user_id, _ := utilities.GetUserId(request) db := utilities.GetDB(request) user := new(models.User) user.Get(db, user_id) user.Password = "" out, _ := json.Marshal(user) response.Write(out) }
/// Method for the authentication struct that takes // an HTTP request and returns an HTTP response containing // the friendly names of the devices against a user's e-mail. func (a *Auth) UserUEs(request http.ResponseWriter, response *http.Request) { db := utilities.GetDB(response) session := sessions.GetSession(response) user_email := session.Get("user_email") fmt.Println(user_email) if user_email == nil { request.WriteHeader(403) } else { user := new(models.User) ues := user.GetUEs(db, user_email.(string)) fmt.Println(ues) outData, _ := json.Marshal(ues) request.Write(outData) } }
/// Method for the authentication struct that takes // an HTTP request and returns an HTTP response containing // all the UUIDs for a user. func (a *Auth) Uuids(request http.ResponseWriter, response *http.Request) { db := utilities.GetDB(response) session := sessions.GetSession(response) user_company := session.Get("user_company") fmt.Println(user_company) if user_company == nil { request.WriteHeader(403) } else { user := new(models.User) uuids := user.GetUserUuids(db, user_company.(string)) fmt.Println(uuids) outData, _ := json.Marshal(uuids) request.Write(outData) } }
func registerHandler(response http.ResponseWriter, request *http.Request) { company := request.FormValue("company_name") firstName := request.FormValue("user_firstName") lastName := request.FormValue("user_lastName") email := request.FormValue("email") password := request.FormValue("password") db := utilities.GetDB(request) user := new(models.User) user.NewUser(db, company, firstName, lastName, email, password) http.Redirect(response, request, "/display", 302) }
/// Method for the user struct that takes an HTTP request and // returns an HTTP response containing the user's details for // their ID. func (u *User) Get(response http.ResponseWriter, request *http.Request) { vars := mux.Vars(request) id := vars["id"] db := utilities.GetDB(request) user := new(models.User) err := user.Get(db, id) if err != nil { response.WriteHeader(404) } else { user.Password = "" out, _ := json.Marshal(user) response.Write(out) } }
/// Login method for the authentication struct that takes // an HTTP request and returns an HTTP response. // A session is created if successful. func (a *Auth) Login(request http.ResponseWriter, response *http.Request) { fmt.Fprintf(request, "Welcome to the login page!") // decoder := json.NewDecoder(response.Body) // credentials := new(Credentials) // err := decoder.Decode(&credentials) // if err != nil { // panic(err) // } // db := utilities.GetDB(response) // user := new(models.User) // err = user.Authenticate(db, credentials.Email, credentials.Password) // if err == nil { // session := sessions.GetSession(response) // session.Set("user_id", user.ID.Hex()) // session.Set("user_company", user.Company) // session.Set("user_email", user.Email) // request.WriteHeader(202) // } else { // request.WriteHeader(404) // } email := response.FormValue("email") password := response.FormValue("password") db := utilities.GetDB(response) user := new(models.User) err := user.Authenticate(db, email, password) if err == nil { //session := sessions.GetSession(request) // session.Set("user_id", user.ID.Hex()) // session.Set("user_company", user.Company) // session.Set("user_email", user.Email) //response.WriteHeader(202) http.Redirect(request, response, "http://localhost:3000", 202) http.Redirect(request, response, "/", 202) fmt.Fprintf(request, "error is nil!") //http.Redirect(response, request, "/", 202) } else { //fmt.Fprintf(request, "There is Error!") //http.Redirect(request, response, "http://localhost:3000", 202) // http.Redirect(request, response, "http://localhost:3000/lastestState", 202) // request.WriteHeader(404) } }
func loginHandler(response http.ResponseWriter, request *http.Request) { email := request.FormValue("email") password := request.FormValue("password") session := sessions.GetSession(request) db := utilities.GetDB(request) user := new(models.User) err := user.Authenticate(db, email, password) fmt.FPrintf("Calling login User session \n%s", spew.Sdump(user_id)) if err == nil { session.Set("user_id", user.ID.Hex()) session.Set("user_company", user.Company) session.Set("user_email", user.Email) http.Redirect(response, request, "/display", 302) } else { http.Redirect(response, request, "/", 302) } }