(FIX): Fixed the auth issue, at least on the profile page.
This commit is contained in:
parent
0bfb2e6e86
commit
a28f8edd54
@ -150,6 +150,12 @@ func ProfilePage(ctx *gin.Context) {
|
||||
// Else, get the user data
|
||||
deps := ctx.MustGet("deps").(*domainServer.InjectedDependencies)
|
||||
user := deps.UserService.GetAuthenicatedUser(ctx)
|
||||
if user == nil {
|
||||
// User is failing to be found, direct to the login page
|
||||
ctx.Redirect(http.StatusSeeOther, domainServer.WEB_LOGIN)
|
||||
return
|
||||
}
|
||||
|
||||
recipes, err := deps.RecipeService.GetUserRecipes(user.Id)
|
||||
if err != nil {
|
||||
ctx.JSON(http.StatusInternalServerError, gin.H{
|
||||
@ -179,7 +185,7 @@ func ProfilePage(ctx *gin.Context) {
|
||||
}
|
||||
|
||||
title := "Potion - Profile"
|
||||
page := pages.ProfilePage(user, recipes, favorites, engagements)
|
||||
page := pages.ProfilePage(*user, recipes, favorites, engagements)
|
||||
|
||||
ctx.HTML(http.StatusOK, "", layouts.AppLayout(title, page))
|
||||
}
|
||||
|
||||
@ -25,19 +25,19 @@ func NewUserService(userRepository domain.UserRepository) domain.UserService {
|
||||
// user is actually logged in, if not, a blank user will be returned. To ensure success, call the
|
||||
// `domain.IsLoggedIn()` function first to ensure the user is logged in. If that passes, this
|
||||
// function should yield a result.
|
||||
func (s *UserService) GetAuthenicatedUser(ctx *gin.Context) domain.User {
|
||||
func (s *UserService) GetAuthenicatedUser(ctx *gin.Context) *domain.User {
|
||||
val, ok := ctx.Get("userId")
|
||||
if !ok {
|
||||
return domain.User{}
|
||||
return nil
|
||||
}
|
||||
|
||||
id := val.(int)
|
||||
user, err := s.userRepository.GetUser(id)
|
||||
if err != nil {
|
||||
return domain.User{}
|
||||
return nil
|
||||
}
|
||||
|
||||
return *user
|
||||
return user
|
||||
}
|
||||
|
||||
// GetUser will get a user from the database via its ID. This is not related to the Google ID in
|
||||
|
||||
@ -3,6 +3,6 @@ package domain
|
||||
import "github.com/gin-gonic/gin"
|
||||
|
||||
type UserService interface {
|
||||
GetAuthenicatedUser(ctx *gin.Context) User
|
||||
GetAuthenicatedUser(ctx *gin.Context) *User
|
||||
GetUser(id int) (*User, error)
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user