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 {
id := session.Get("userId")
if id == nil {
return false
return SignedInId(session) > 0
}
func SignedInId(session sessions.Session) int64 {
userId := session.Get("userId")
if userId == nil {
return 0
}
if s, ok := id.(int64); ok && s > 0 {
return true
if s, ok := userId.(int64); ok {
return s
}
return false
return 0
}
func SignedInName(session sessions.Session) string {
@ -47,6 +51,19 @@ func SignedInName(session sessions.Session) string {
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) {
var (
errString string