added type middleware

This commit is contained in:
Pavel 2024-07-25 14:49:50 +03:00
parent a1ec819de7
commit c3d9e2a0d3
5 changed files with 59 additions and 16 deletions

@ -4,6 +4,7 @@ import (
"context"
"errors"
"go.uber.org/zap"
"hub_admin_backend_service/internal/controller/middleware"
"hub_admin_backend_service/internal/initialize"
"hub_admin_backend_service/internal/models"
"hub_admin_backend_service/internal/server/http"
@ -30,6 +31,8 @@ func Run(ctx context.Context, cfg initialize.Config, logger *zap.Logger) error {
return err
}
mw := middleware.NewMiddleware(logger)
repositories := initialize.NewRepository(initialize.RepositoryDeps{
Logger: logger,
Mdb: mdb,
@ -38,6 +41,7 @@ func Run(ctx context.Context, cfg initialize.Config, logger *zap.Logger) error {
controllers := initialize.NewControllers(initialize.ControllerDeps{
Logger: logger,
Repos: repositories,
MW: mw,
})
internalSrv := http.NewServer(http.ServerConfig{

@ -0,0 +1,27 @@
package middleware
import (
"github.com/gofiber/fiber/v2"
"go.uber.org/zap"
"hub_admin_backend_service/internal/models"
)
type MiddleWare struct {
logger *zap.Logger
}
func NewMiddleware(logger *zap.Logger) *MiddleWare {
return &MiddleWare{
logger: logger,
}
}
func (mw *MiddleWare) ExtractUserID(ctx *fiber.Ctx) (string, bool) {
id, ok := ctx.Context().UserValue(models.AuthJWTDecodedUserIDKey).(string)
return id, ok
}
func (mw *MiddleWare) ExtractToken(ctx *fiber.Ctx) (string, bool) {
token, ok := ctx.Context().UserValue(models.AuthJWTDecodedAccessTokenKey).(string)
return token, ok
}

@ -5,6 +5,7 @@ import (
"github.com/gofiber/fiber/v2"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.uber.org/zap"
"hub_admin_backend_service/internal/controller/middleware"
our_errors "hub_admin_backend_service/internal/errors"
"hub_admin_backend_service/internal/repository/tariff"
)
@ -12,17 +13,20 @@ import (
type Deps struct {
Repo *tariff.Tariff
Logger *zap.Logger
MiddleWare *middleware.MiddleWare
}
type TariffExternal struct {
repo *tariff.Tariff
logger *zap.Logger
middleWare *middleware.MiddleWare
}
func NewTariffExternal(deps Deps) *TariffExternal {
return &TariffExternal{
repo: deps.Repo,
logger: deps.Logger,
middleWare: deps.MiddleWare,
}
}

@ -5,6 +5,7 @@ import (
"github.com/gofiber/fiber/v2"
"go.mongodb.org/mongo-driver/bson/primitive"
"go.uber.org/zap"
"hub_admin_backend_service/internal/controller/middleware"
our_errors "hub_admin_backend_service/internal/errors"
"hub_admin_backend_service/internal/models"
"hub_admin_backend_service/internal/repository/tariff"
@ -15,17 +16,20 @@ import (
type Deps struct {
Repo *tariff.Tariff
Logger *zap.Logger
MiddleWare *middleware.MiddleWare
}
type TariffInternal struct {
repo *tariff.Tariff
logger *zap.Logger
middleWare *middleware.MiddleWare
}
func NewTariffInternal(deps Deps) *TariffInternal {
return &TariffInternal{
repo: deps.Repo,
logger: deps.Logger,
middleWare: deps.MiddleWare,
}
}

@ -2,6 +2,7 @@ package initialize
import (
"go.uber.org/zap"
"hub_admin_backend_service/internal/controller/middleware"
"hub_admin_backend_service/internal/controller/privilege_external"
"hub_admin_backend_service/internal/controller/privilege_internal"
"hub_admin_backend_service/internal/controller/tariff_external"
@ -11,6 +12,7 @@ import (
type ControllerDeps struct {
Logger *zap.Logger
Repos *Repository
MW *middleware.MiddleWare
}
type Controller struct {
@ -33,10 +35,12 @@ func NewControllers(deps ControllerDeps) *Controller {
TariffInternal: tariff_internal.NewTariffInternal(tariff_internal.Deps{
Logger: deps.Logger,
Repo: deps.Repos.TariffRepo,
MiddleWare: deps.MW,
}),
TariffExternal: tariff_external.NewTariffExternal(tariff_external.Deps{
Logger: deps.Logger,
Repo: deps.Repos.TariffRepo,
MiddleWare: deps.MW,
}),
}
}