|  | @@ -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
 |