package handler import ( "net/http" "github.com/gin-gonic/gin" "github.com/google/uuid" "github.com/warmbly/warmbly/internal/api/middleware" "github.com/warmbly/warmbly/internal/app/socket" "github.com/warmbly/warmbly/internal/errx" ) func (h *Handler) GenerateWebsocket(c *gin.Context) { userID := middleware.GetUserID(c) uid, err := uuid.Parse(userID) if err != nil { errx.Handle(c, errx.ErrUser) return } token, xerr := h.SocketService.GenerateWebsocketToken(c.Request.Context(), uid) if xerr != nil { errx.Handle(c, xerr) return } c.JSON(http.StatusOK, gin.H{ "url": token, "expires_in": socket.SocketTTL.Seconds(), }) }