From 476e5edf387b7ed1a49bf8b9681941bbb31b7f82 Mon Sep 17 00:00:00 2001 From: nquidox Date: Sun, 14 Sep 2025 19:33:09 +0300 Subject: [PATCH] cookie MW added --- internal/app/handler.go | 2 +- internal/interfaces/app.go | 2 +- internal/interfaces/router.go | 1 + internal/router/middleware.go | 14 ++++++++++++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/internal/app/handler.go b/internal/app/handler.go index 3b5afe3..09de7e0 100644 --- a/internal/app/handler.go +++ b/internal/app/handler.go @@ -42,7 +42,7 @@ func NewApp(deps Deps) *App { for _, m := range app.modules { if hasRoutes, ok := m.(interfaces.ModuleRoutes); ok { - hasRoutes.RegisterRoutes(apiRoutes, app.routerHandler.AuthMW()) + hasRoutes.RegisterRoutes(apiRoutes, app.routerHandler.AuthMW(), app.routerHandler.RefreshMW()) } } diff --git a/internal/interfaces/app.go b/internal/interfaces/app.go index 21bdafc..6bd9256 100644 --- a/internal/interfaces/app.go +++ b/internal/interfaces/app.go @@ -8,5 +8,5 @@ type Module interface { } type ModuleRoutes interface { - RegisterRoutes(r *gin.RouterGroup, authMW gin.HandlerFunc) + RegisterRoutes(r *gin.RouterGroup, authMW gin.HandlerFunc, refreshMW gin.HandlerFunc) } diff --git a/internal/interfaces/router.go b/internal/interfaces/router.go index cb95e38..3fea6ef 100644 --- a/internal/interfaces/router.go +++ b/internal/interfaces/router.go @@ -7,4 +7,5 @@ import ( type Router interface { Set() *gin.Engine AuthMW() gin.HandlerFunc + RefreshMW() gin.HandlerFunc } diff --git a/internal/router/middleware.go b/internal/router/middleware.go index 42b3395..5f52065 100644 --- a/internal/router/middleware.go +++ b/internal/router/middleware.go @@ -31,3 +31,17 @@ func (r *router) AuthMW() gin.HandlerFunc { c.Next() } } + +func (r *router) RefreshMW() gin.HandlerFunc { + return func(c *gin.Context) { + cookie, err := c.Request.Cookie("refresh_uuid") + if err != nil { + c.JSON(http.StatusBadRequest, responses.ErrorResponse400{Error: err.Error()}) + log.WithError(err).Error("User | Failed to get refresh cookie") + return + } + + c.Set("refresh_uuid", cookie.Value) + c.Next() + } +}