diff --git a/backend/internal/middleware/jwt/jwt.go b/backend/internal/middleware/jwt/jwt.go index 979b199..700448f 100644 --- a/backend/internal/middleware/jwt/jwt.go +++ b/backend/internal/middleware/jwt/jwt.go @@ -124,3 +124,17 @@ func GetAccountID(c *gin.Context) (uint, error) { return accountID, nil } + +func GetUsername(c *gin.Context) (string, error) { + val, exists := c.Get("username") + if !exists { + return "", errors.New("username not found") + } + + username, ok := val.(string) + if !ok { + return "", errors.New("username has invalid type") + } + + return username, nil +} diff --git a/backend/internal/video/video_handler.go b/backend/internal/video/video_handler.go index 376eb01..486bb08 100644 --- a/backend/internal/video/video_handler.go +++ b/backend/internal/video/video_handler.go @@ -38,14 +38,14 @@ func (vh *VideoHandler) PublishVideo(c *gin.Context) { c.JSON(400, gin.H{"error": err.Error()}) return } - user, err := vh.accountService.FindByID(c.Request.Context(), authorId) + username, err := jwt.GetUsername(c) if err != nil { c.JSON(400, gin.H{"error": err.Error()}) return } video := &Video{ AuthorID: authorId, - Username: user.Username, + Username: username, Title: req.Title, Description: req.Description, PlayURL: req.PlayURL,