• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang util.OpenDb函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中5sur/util.OpenDb函数的典型用法代码示例。如果您正苦于以下问题:Golang OpenDb函数的具体用法?Golang OpenDb怎么用?Golang OpenDb使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了OpenDb函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: SendMessageSubmitHandler

func SendMessageSubmitHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	if userId == 0 {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}

	recipient, message, err := util.ValidMessagePost(r)
	if err != nil {
		return err
	}

	err = gen.MessageLimit(db, userId)
	if err != nil {
		return err
	}

	err = gen.SendMessage(db, userId, recipient, message)
	if err != nil {
		return err
	}

	http.Redirect(w, r, "https://5sur.com/dashboard/messages?i="+strconv.Itoa(recipient), 303)
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:35,代码来源:5sur.go


示例2: ListingsHandler

func ListingsHandler(w http.ResponseWriter, r *http.Request) error {
	query, err := util.ValidListingQuery(r.URL) // Returns util.QueryFields
	if err != nil {
		return err
	}

	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	listings, err := gen.ReturnListings(db, query.Origin, query.Destination, query.Date+" "+query.Time)
	if err != nil {
		return err
	}
	jsonListings, err := json.MarshalIndent(listings, "", "    ")
	if err != nil {
		return util.NewError(nil, "Json conversion failed", 500)
	}
	w.Header().Set("Content-Type", "application/json")
	fmt.Fprint(w, string(jsonListings))
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:25,代码来源:handlers.go


示例3: UploadHandler

func UploadHandler(w http.ResponseWriter, r *http.Request) error {
	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, _, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if user == "" {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}
	// the FormFile function takes in the POST input id file
	file, header, err := r.FormFile("Picture")
	if err != nil {
		return util.NewError(nil, "Foto no encontrado", 400)
	}
	defer file.Close()

	err = util.SaveImage(db, user, file, header)
	if err != nil {
		return err
	}

	http.Redirect(w, r, "https://5sur.com/dashboard/settings", 303)
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:31,代码来源:5sur.go


示例4: EmailPrefHandler

func EmailPrefHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	if userId == 0 {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}

	prefs, err := util.ReturnEmailPref(db, userId)
	if err != nil {
		return err
	}

	err = templates.ExecuteTemplate(w, "emailPref.html", prefs)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:28,代码来源:5sur.go


示例5: CreateSubmitHandler

func CreateSubmitHandler(w http.ResponseWriter, r *http.Request) error {
	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if user == "" {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}

	createFormPost, err := util.ValidCreateSubmit(r)
	if err != nil {
		return err
	}

	listingId, err := gen.CreateListing(db, createFormPost.Date, userId, createFormPost.Origin, createFormPost.Destination, createFormPost.Seats, createFormPost.Fee)
	if err != nil {
		return err
	}

	http.Redirect(w, r, "https://5sur.com/dashboard/listings?i="+strconv.FormatInt(listingId, 10), 303)
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:30,代码来源:5sur.go


示例6: PasswordResetHandler

func PasswordResetHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	err = gen.ResetPassword(db, r.FormValue("Email"))
	if err != nil {
		return err
	}

	Page := struct {
		Title        string
		MessageTitle string
		Message      string
	}{
		"Restablecer contraseña",
		"",
		"Email para reestablecer contraseña ha sido mandado a " + r.FormValue("Email"),
	}

	err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:28,代码来源:5sur.go


示例7: SendMessageHandler

func SendMessageHandler(w http.ResponseWriter, r *http.Request) error {
	recipientId, err := util.ValidMessageURL(r)
	if err != nil {
		return err
	}

	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	if userId == 0 {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}
	userInfo, err := gen.ReturnUserInfo(db, recipientId)
	if err != nil {
		return err
	}

	err = templates.ExecuteTemplate(w, "message.html", userInfo)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:32,代码来源:5sur.go


示例8: CreateListingHandler

func CreateListingHandler(w http.ResponseWriter, r *http.Request) error {
	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, _, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if user == "" {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}

	// HTML generation (also does listing-specific SQL calls)
	cities, err := gen.ReturnFilter(db)
	if err != nil {
		return err
	}

	err = templates.ExecuteTemplate(w, "create.html", cities)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:29,代码来源:5sur.go


示例9: ReserveHandler

func ReserveHandler(w http.ResponseWriter, r *http.Request) error {
	//Check POST data
	values, err := util.ValidReservePost(r)
	if err != nil {
		return err
	}

	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, err := util.CheckAppCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if user == "" {
		return util.NewError(nil, "Login required", 401)
	}

	err = gen.CreateReservation(db, userId, values.ListingId, values.Seats, r.FormValue("Message"))
	if err != nil {
		return err
	}

	w.WriteHeader(200)
	fmt.Fprint(w, "You registered, woo")
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:32,代码来源:handlers.go


示例10: LoginHandler

func LoginHandler(w http.ResponseWriter, r *http.Request) error {
	// POST validation
	if r.FormValue("Password") == "" || r.FormValue("Username") == "" {
		return util.NewError(nil, "Missing username or password", 400)
	}

	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	authenticated, err := gen.CheckCredentials(db, r.FormValue("Username"), r.FormValue("Password"))
	if err != nil {
		return err
	}
	if authenticated {
		myCookie, err := util.CreateCookie(r.FormValue("Username"), db, true, true) // This also stores a hashed cookie in the database
		if err != nil {
			return err
		}
		http.SetCookie(w, &myCookie)
		w.WriteHeader(200)
		fmt.Fprint(w, "Logged in as "+r.FormValue("Username"))
		return nil
	} else {
		return util.NewError(nil, "Your username or password was incorrect", 400)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:32,代码来源:handlers.go


示例11: UploadDeleteHandler

func UploadDeleteHandler(w http.ResponseWriter, r *http.Request) error {
	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if userId == 0 {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}

	if r.FormValue("User") != strconv.Itoa(userId) {
		return util.NewError(nil, "Foto no borrado", 400)
	}

	err = util.DeletePicture(db, user)
	if err != nil {
		return err
	}

	http.Redirect(w, r, "https://5sur.com/dashboard/settings", 303)
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:29,代码来源:5sur.go


示例12: RootHandler

func RootHandler(w http.ResponseWriter, r *http.Request) error {
	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, userImg, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	alerts, err := gen.GetAlerts(db, userId)
	if err != nil {
		return err
	}

	header := &gen.HeaderHTML{
		Username:  user,
		Alerts:    len(alerts),
		AlertText: alerts,
		UserImage: userImg,
	}

	cities, err := gen.ReturnFilter(db)
	if err != nil {
		return err
	}

	listings, err := gen.ReturnAllListings(db)
	if err != nil {
		return err
	}

	body := &gen.ListingsHTML{
		Filter:   cities,
		Listings: listings,
		Homepage: true,
	}

	page := struct {
		Header gen.HeaderHTML
		Body   gen.ListingsHTML
	}{
		*header,
		*body,
	}

	err = templates.ExecuteTemplate(w, "listings.html", page)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:56,代码来源:5sur.go


示例13: DeleteAccountHandler

func DeleteAccountHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	if user == "" {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}
	// put this in valid
	if r.FormValue("Password") == "" || r.FormValue("Password2") == "" {
		return util.NewError(nil, "Rellena el formulario completo por favor", 400)
	}

	if r.FormValue("Password") != r.FormValue("Password2") {
		return util.NewError(nil, "No coincide la contraseña", 400)
	}

	authenticated, err := gen.CheckCredentials(db, user, r.FormValue("Password"))
	if err != nil {
		return err
	}

	if !authenticated {
		return util.NewError(nil, "Contraseña incorrecta", 400)
	}

	err = gen.DeleteAccount(db, userId)
	if err != nil {
		return err
	}

	Page := struct {
		Title        string
		MessageTitle string
		Message      string
	}{
		"Borrar cuenta",
		"",
		"Cuenta eliminada",
	}

	err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:55,代码来源:5sur.go


示例14: RegistrationHandler

func RegistrationHandler(w http.ResponseWriter, r *http.Request) error {
	err := util.ValidRegister(r)
	if err != nil {
		return err
	}

	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	err = gen.CheckUserInfo(db, r.FormValue("Username"), r.FormValue("Email"))
	if err != nil {
		return err
	}

	userIp := ""
	if ipProxy := r.Header.Get("X-Real-IP"); len(ipProxy) > 0 {
		userIp = ipProxy
	} else {
		userIp, _, _ = net.SplitHostPort(r.RemoteAddr)
	}

	human, err := gen.CheckCaptcha(r.FormValue("g-recaptcha-response"), userIp)
	if err != nil {
		return err
	}
	if !human {
		return util.NewError(nil, "Captcha invalido", 400)
	}

	err = gen.UserAuth(db, r.FormValue("Username"), r.FormValue("Password"), r.FormValue("Email"))
	if err != nil {
		return err
	}
	Page := struct {
		Title        string
		MessageTitle string
		Message      string
	}{
		"Regístrate",
		"",
		"Email de confirmacion ha sido mandado a " + r.FormValue("Email"),
	}

	err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:53,代码来源:5sur.go


示例15: RegisterFormHandler

func RegisterFormHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	err = templates.ExecuteTemplate(w, "register.html", "")
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:13,代码来源:5sur.go


示例16: UserHandler

func UserHandler(w http.ResponseWriter, r *http.Request) error {
	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, userImg, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	alerts, err := gen.GetAlerts(db, userId)
	if err != nil {
		return err
	}

	splits := strings.Split(r.URL.Path, "/")
	userInfo, err := gen.ReturnUserInfo(db, splits[2])
	if err != nil {
		return err
	}

	header := &gen.HeaderHTML{
		Title:     user,
		Username:  user,
		Alerts:    len(alerts),
		AlertText: alerts,
		UserImage: userImg,
	}

	page := struct {
		Header gen.HeaderHTML
		Body   gen.User
	}{
		*header,
		userInfo,
	}

	err = templates.ExecuteTemplate(w, "user.html", page)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:47,代码来源:5sur.go


示例17: ReserveFormHandler

func ReserveFormHandler(w http.ResponseWriter, r *http.Request) error {
	l, err := util.ValidReserveURL(r)
	if err != nil {
		return err
	}

	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, _, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}

	if user == "" {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}
	listing, err := gen.ReturnIndividualListing(db, l)
	if err != nil {
		return err
	}

	seats := make([]int, 0)

	for i := 1; i <= listing.Seats; i++ {
		seats = append(seats, i)
	}

	driver, err := gen.ReturnUserInfo(db, listing.Driver)

	reserve := &gen.ReserveHTML{
		ListingId: listing.Id,
		Driver:    driver.Name,
		Seats:     seats,
	}

	err = templates.ExecuteTemplate(w, "reserve.html", reserve)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:46,代码来源:5sur.go


示例18: LoginFormHandler

func LoginFormHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	_, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if userId != 0 {
		http.Redirect(w, r, "https://5sur.com/", 303)
		return nil
	}

	userIp := ""
	if ipProxy := r.Header.Get("X-Real-IP"); len(ipProxy) > 0 {
		userIp = ipProxy
	} else {
		userIp, _, _ = net.SplitHostPort(r.RemoteAddr)
	}

	attempts, err := gen.CheckAttempts(db, userIp)
	if err != nil {
		return err
	}

	var script, captcha template.HTML
	if attempts > 2 {
		script = `<script src='https://www.google.com/recaptcha/api.js'></script>`
		captcha = `<div class="g-recaptcha" data-sitekey="6LfejAATAAAAAK1DA4l33OntwJy9LZz1GK3F2Egr"></div>`
	}
	registerData := &gen.LoginHTML{
		Title:   "Ingresar",
		Script:  script,
		Captcha: captcha,
	}
	err = templates.ExecuteTemplate(w, "login.html", registerData)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:44,代码来源:5sur.go


示例19: ReserveHandler

func ReserveHandler(w http.ResponseWriter, r *http.Request) error {
	//Check POST data
	values, err := util.ValidReservePost(r)
	if err != nil {
		return err
	}

	// Database initialization
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()

	// User authentication
	user, userId, _, err := util.CheckCookie(r, db) // return "" if not logged in
	if err != nil {
		return err
	}
	if user == "" {
		return util.NewError(nil, "Se requiere ingreso a la cuenta", 401)
	}

	err = gen.CreateReservation(db, userId, values.ListingId, values.Seats, r.FormValue("Message"))
	if err != nil {
		return err
	}

	Page := struct {
		Title        string
		MessageTitle string
		Message      string
	}{
		"Reservar",
		"Has entrado a la lista de reservaciones",
		"Atento: tu viaje no esta garantizado hasta que el conductor te acepte. Te notificaremos cuando esto suceda.",
	}

	err = templates.ExecuteTemplate(w, "formSubmit.html", Page)
	if err != nil {
		return util.NewError(err, "No se cargó la página", 500)
	}
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:44,代码来源:5sur.go


示例20: CityHandler

func CityHandler(w http.ResponseWriter, r *http.Request) error {
	db, err := util.OpenDb()
	if err != nil {
		return err
	}
	defer db.Close()
	cities, err := gen.ReturnFilter(db)
	if err != nil {
		return err
	}

	jsonCities, err := json.MarshalIndent(cities, "", "    ")
	if err != nil {
		return util.NewError(err, "Json conversion failed", 500)
	}
	w.Header().Set("Content-Type", "application/json")
	fmt.Fprint(w, string(jsonCities))
	return nil
}
开发者ID:ErikBrown,项目名称:5sur,代码行数:19,代码来源:handlers.go



注:本文中的5sur/util.OpenDb函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang rpcclient.ServerInfo类代码示例发布时间:2022-05-24
下一篇:
Golang util.NewError函数代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap