add SignedInId & SignedInUser funcs

This commit is contained in:
Lunny Xiao 2014-03-06 16:24:08 +08:00
parent 245e806679
commit e878bfb80f

View file

@ -26,14 +26,18 @@ func Profile(r render.Render) {
} }
func IsSignedIn(session sessions.Session) bool { func IsSignedIn(session sessions.Session) bool {
id := session.Get("userId") return SignedInId(session) > 0
if id == nil { }
return false
func SignedInId(session sessions.Session) int64 {
userId := session.Get("userId")
if userId == nil {
return 0
} }
if s, ok := id.(int64); ok && s > 0 { if s, ok := userId.(int64); ok {
return true return s
} }
return false return 0
} }
func SignedInName(session sessions.Session) string { func SignedInName(session sessions.Session) string {
@ -47,6 +51,19 @@ func SignedInName(session sessions.Session) string {
return "" return ""
} }
func SignedInUser(session sessions.Session) *models.User {
id := SignedInId(session)
if id <= 0 {
return nil
}
user, err := models.GetUserById(id)
if err != nil {
return nil
}
return user
}
func SignIn(req *http.Request, r render.Render, session sessions.Session) { func SignIn(req *http.Request, r render.Render, session sessions.Session) {
var ( var (
errString string errString string