added type middleware
This commit is contained in:
parent
a1ec819de7
commit
c3d9e2a0d3
@ -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{
|
||||
|
27
internal/controller/middleware/middleware.go
Normal file
27
internal/controller/middleware/middleware.go
Normal file
@ -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,24 +5,28 @@ 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"
|
||||
)
|
||||
|
||||
type Deps struct {
|
||||
Repo *tariff.Tariff
|
||||
Logger *zap.Logger
|
||||
Repo *tariff.Tariff
|
||||
Logger *zap.Logger
|
||||
MiddleWare *middleware.MiddleWare
|
||||
}
|
||||
|
||||
type TariffExternal struct {
|
||||
repo *tariff.Tariff
|
||||
logger *zap.Logger
|
||||
repo *tariff.Tariff
|
||||
logger *zap.Logger
|
||||
middleWare *middleware.MiddleWare
|
||||
}
|
||||
|
||||
func NewTariffExternal(deps Deps) *TariffExternal {
|
||||
return &TariffExternal{
|
||||
repo: deps.Repo,
|
||||
logger: deps.Logger,
|
||||
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"
|
||||
@ -13,19 +14,22 @@ import (
|
||||
// todo middleware jwt
|
||||
|
||||
type Deps struct {
|
||||
Repo *tariff.Tariff
|
||||
Logger *zap.Logger
|
||||
Repo *tariff.Tariff
|
||||
Logger *zap.Logger
|
||||
MiddleWare *middleware.MiddleWare
|
||||
}
|
||||
|
||||
type TariffInternal struct {
|
||||
repo *tariff.Tariff
|
||||
logger *zap.Logger
|
||||
repo *tariff.Tariff
|
||||
logger *zap.Logger
|
||||
middleWare *middleware.MiddleWare
|
||||
}
|
||||
|
||||
func NewTariffInternal(deps Deps) *TariffInternal {
|
||||
return &TariffInternal{
|
||||
repo: deps.Repo,
|
||||
logger: deps.Logger,
|
||||
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 {
|
||||
@ -31,12 +33,14 @@ func NewControllers(deps ControllerDeps) *Controller {
|
||||
Logger: deps.Logger,
|
||||
}),
|
||||
TariffInternal: tariff_internal.NewTariffInternal(tariff_internal.Deps{
|
||||
Logger: deps.Logger,
|
||||
Repo: deps.Repos.TariffRepo,
|
||||
Logger: deps.Logger,
|
||||
Repo: deps.Repos.TariffRepo,
|
||||
MiddleWare: deps.MW,
|
||||
}),
|
||||
TariffExternal: tariff_external.NewTariffExternal(tariff_external.Deps{
|
||||
Logger: deps.Logger,
|
||||
Repo: deps.Repos.TariffRepo,
|
||||
Logger: deps.Logger,
|
||||
Repo: deps.Repos.TariffRepo,
|
||||
MiddleWare: deps.MW,
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user