Exemplo n.º 1
0
// 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)
}
Exemplo n.º 2
0
/// 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)
	}
}
Exemplo n.º 3
0
/// 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)
	}
}
Exemplo n.º 4
0
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)
}
Exemplo n.º 5
0
/// 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)
	}
}
Exemplo n.º 6
0
/// 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)
	}
}
Exemplo n.º 7
0
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)

	}
}