本文整理汇总了Golang中pixelrelay/db.Dbh.GetUserByEmail方法的典型用法代码示例。如果您正苦于以下问题:Golang Dbh.GetUserByEmail方法的具体用法?Golang Dbh.GetUserByEmail怎么用?Golang Dbh.GetUserByEmail使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pixelrelay/db.Dbh
的用法示例。
在下文中一共展示了Dbh.GetUserByEmail方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: LoginPost
func LoginPost(lu forms.Login, session sessions.Session, r render.Render, dbh *db.Dbh) {
errs := ValidateLogin(&lu)
if len(errs) > 0 {
log.Printf("errors: %+v\n", errs)
}
user := dbh.GetUserByEmail(lu.Email)
match := auth.MatchPassword(lu.Password, user.Password, user.Salt)
if match {
sessionkey := SessionKey(user.Email, user.Password, user.Salt)
session.Set("loggedin", "true")
session.Set("uid", user.Id)
session.Set("email", user.Email)
session.Set("key", sessionkey)
dbh.CreateSession(models.UserSession{UserId: user.Id, SessionKey: sessionkey, Active: true, Timestamp: time.Now().Unix()})
r.Redirect(strings.Join([]string{utils.AppCfg.Url(), "albums"}, "/"), http.StatusFound)
return
}
session.Set("flash", "Invalid Email or Password")
r.Redirect(strings.Join([]string{utils.AppCfg.Url(), "login"}, "/"), http.StatusFound)
}
示例2: SetupAdminPost
func SetupAdminPost(sa forms.SetupAdmin, args martini.Params, session sessions.Session, r render.Render, res http.ResponseWriter, dbh *db.Dbh) {
errs := Validate(&sa)
if len(errs) > 0 {
fmt.Printf("%+v\n", errs)
}
v := session.Get("setup")
if v != "true" {
http.Error(res, "Unauthorized", http.StatusUnauthorized)
return
}
user := dbh.GetUserByEmail(sa.Email)
if user.Id > 0 {
fmt.Println("user already exists")
session.Set("uid", user.Id)
}
if user.Id == 0 {
fmt.Println("id: 0")
hash, salt, err := auth.EncryptPassword(sa.Password)
if err != nil {
fmt.Println("hash err: ", err)
}
newuser := models.User{Name: sa.Name, Email: sa.Email, Password: hash, Salt: salt, Timestamp: time.Now().Unix()}
dbh.InsertUser(newuser)
session.Set("uid", newuser.Id)
}
uid := session.Get("uid")
fmt.Println("uid: ", uid)
genform := utils.GenerateForm(&sa, "/setup", "POST", errs)
r.HTML(200, "setup", genform)
}
示例3: UploadImage
func UploadImage(w http.ResponseWriter, upload models.ImageUpload, req *http.Request, r render.Render, dbh *db.Dbh) {
ur := &models.UploadResult{}
rEmail := upload.Email
rAlbum := upload.Album
rPrivateKey := upload.PrivateKey
fiName := upload.File.Filename
upload_time := time.Now().Unix()
ur.SetCode(200)
ur.SetResult("success")
ur.SetName(fiName)
tmp_file := utils.ImageCfg.Root() + ur.GetName()
if Exists(tmp_file) {
log.Println("Error: File exists. (" + tmp_file + ")")
ur.SetCode(2)
ur.SetResult("File exists")
r.JSON(500, ur)
return
}
out, err := os.Create(tmp_file)
if err != nil {
log.Println("Error: Unable to open file.")
ur.SetCode(500)
ur.SetResult("Failed to open the file for writing.")
r.JSON(500, ur)
return
}
defer out.Close()
fi, err := upload.File.Open()
if err != nil {
log.Println("fi err: ", err)
ur.SetCode(500)
ur.SetResult(err.Error())
r.JSON(500, ur)
return
}
defer fi.Close()
_, err = io.Copy(out, fi)
if err != nil {
log.Println("Error: Failed to copy file.")
ur.SetCode(500)
ur.SetResult("Failed to copy file to new location.")
r.JSON(500, ur)
return
}
log.Printf("tmp_file: %s\n", tmp_file)
// Add image uploader to database
dbh.AddUploader(models.Uploader{Email: rEmail, Timestamp: upload_time})
// Setup hashid to create unique file name
var hid models.HashID
hid.Init(utils.AppCfg.SecretKey(), 10)
// Get user id
user := dbh.GetUserByEmail(rEmail)
log.Println("user: ", user.Id)
if user.Id > 0 {
// Add user id to hashid - seg 1
hid.AddId(int(user.Id))
} else {
hid.AddId(0)
}
// Get uploader id
user2 := dbh.GetUploaderByEmail(rEmail)
log.Println("uploader user: ", user2.Id)
if user2.Id > 0 {
// Add uploader id to hashid - seg 2
hid.AddId(int(user2.Id))
} else {
hid.AddId(0)
}
// Create default album description
album := models.Album{
Name: rAlbum,
User: user.Id,
Privatekey: rPrivateKey,
Private: true,
Timestamp: upload_time}
album.DefaultDescription()
log.Println(album)
// Add album
dbh.AddAlbum(album)
log.Println("album: ", album)
nAlbum := dbh.GetAlbum(rAlbum)
//.........这里部分代码省略.........