]> source.dussan.org Git - gitea.git/commitdiff
add SignedInId & SignedInUser funcs
authorLunny Xiao <xiaolunwen@gmail.com>
Thu, 6 Mar 2014 08:24:08 +0000 (16:24 +0800)
committerLunny Xiao <xiaolunwen@gmail.com>
Thu, 6 Mar 2014 08:24:08 +0000 (16:24 +0800)
routers/user/user.go

index ac482ad66f487d89e6a8631d0e87ffb7a672bfd4..ccbbd01b442c8cd22f55d5bf1ffe1379a257a20c 100644 (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