aboutsummaryrefslogtreecommitdiffstats
path: root/routers
diff options
context:
space:
mode:
Diffstat (limited to 'routers')
-rw-r--r--routers/user/user.go29
1 files changed, 23 insertions, 6 deletions
diff --git a/routers/user/user.go b/routers/user/user.go
index ac482ad66f..ccbbd01b44 100644
--- a/routers/user/user.go
+++ b/routers/user/user.go
@@ -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