delete base user log data and movw mw to common pj
This commit is contained in:
parent
0576d3d45f
commit
314186e921
4
go.mod
4
go.mod
@ -14,11 +14,11 @@ require (
|
|||||||
github.com/stretchr/testify v1.8.4
|
github.com/stretchr/testify v1.8.4
|
||||||
github.com/twmb/franz-go v1.15.4
|
github.com/twmb/franz-go v1.15.4
|
||||||
go.mongodb.org/mongo-driver v1.13.1
|
go.mongodb.org/mongo-driver v1.13.1
|
||||||
go.uber.org/zap v1.26.0
|
go.uber.org/zap v1.27.0
|
||||||
google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac
|
google.golang.org/genproto/googleapis/api v0.0.0-20240116215550-a9fa1716bcac
|
||||||
google.golang.org/grpc v1.60.1
|
google.golang.org/grpc v1.60.1
|
||||||
google.golang.org/protobuf v1.32.0
|
google.golang.org/protobuf v1.32.0
|
||||||
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d
|
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240607142502-8257e6c4aa5a
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
3
go.sum
3
go.sum
@ -161,6 +161,7 @@ go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ=
|
|||||||
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
|
go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI=
|
||||||
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
|
go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo=
|
||||||
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
|
go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so=
|
||||||
|
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
@ -287,5 +288,7 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
|
|||||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||||
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d h1:gbaDt35HMDqOK84WYmDIlXMI7rstUcRqNttaT6Kx1do=
|
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d h1:gbaDt35HMDqOK84WYmDIlXMI7rstUcRqNttaT6Kx1do=
|
||||||
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
|
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240202120244-c4ef330cfe5d/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
|
||||||
|
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240607142502-8257e6c4aa5a h1:dGW8ErUVdwGJBq6uc5AHYn6Yt10CDNkMIpV+yrDDTLs=
|
||||||
|
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240607142502-8257e6c4aa5a/go.mod h1:+bPxq2wfW5S1gd+83vZYmHm33AE7nEBfznWS8AM1TKE=
|
||||||
penahub.gitlab.yandexcloud.net/external/trashlog.git v0.1.2-0.20240523172059-9bbe8a9faa31 h1:WlRVJnzU0sti+qBq/JTCgFPU0RoxIqGHu7hzDirxE2k=
|
penahub.gitlab.yandexcloud.net/external/trashlog.git v0.1.2-0.20240523172059-9bbe8a9faa31 h1:WlRVJnzU0sti+qBq/JTCgFPU0RoxIqGHu7hzDirxE2k=
|
||||||
penahub.gitlab.yandexcloud.net/external/trashlog.git v0.1.2-0.20240523172059-9bbe8a9faa31/go.mod h1:3ml0dAGT8U8RhpevKBfRgG6yKZum8EI2uJxAb2WCIy4=
|
penahub.gitlab.yandexcloud.net/external/trashlog.git v0.1.2-0.20240523172059-9bbe8a9faa31/go.mod h1:3ml0dAGT8U8RhpevKBfRgG6yKZum8EI2uJxAb2WCIy4=
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"strings"
|
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Deps struct {
|
type Deps struct {
|
||||||
@ -31,7 +31,7 @@ func NewPromoCodeController(deps Deps) *PromoCodeController {
|
|||||||
|
|
||||||
func (p *PromoCodeController) CreatePromoCode(c *fiber.Ctx) error {
|
func (p *PromoCodeController) CreatePromoCode(c *fiber.Ctx) error {
|
||||||
userID := middleware.ExtractUserID(c)
|
userID := middleware.ExtractUserID(c)
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
var req models.PromoCode
|
var req models.PromoCode
|
||||||
if err := c.BodyParser(&req); err != nil {
|
if err := c.BodyParser(&req); err != nil {
|
||||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"})
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"})
|
||||||
@ -79,10 +79,6 @@ func (p *PromoCodeController) CreatePromoCode(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hlogger.Emit(models.InfoPromocodeCreated{
|
hlogger.Emit(models.InfoPromocodeCreated{
|
||||||
CtxUserIP: c.IP(),
|
|
||||||
CtxUserPort: c.Port(),
|
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: createdPromoCode.ID.String(),
|
CtxID: createdPromoCode.ID.String(),
|
||||||
CtxUserID: userID,
|
CtxUserID: userID,
|
||||||
KeyType: keyType,
|
KeyType: keyType,
|
||||||
@ -98,7 +94,7 @@ func (p *PromoCodeController) CreatePromoCode(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
func (p *PromoCodeController) EditPromoCode(c *fiber.Ctx) error {
|
func (p *PromoCodeController) EditPromoCode(c *fiber.Ctx) error {
|
||||||
userID := middleware.ExtractUserID(c)
|
userID := middleware.ExtractUserID(c)
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
|
|
||||||
var req models.ReqEditPromoCode
|
var req models.ReqEditPromoCode
|
||||||
if err := c.BodyParser(&req); err != nil {
|
if err := c.BodyParser(&req); err != nil {
|
||||||
@ -147,10 +143,6 @@ func (p *PromoCodeController) EditPromoCode(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hlogger.Emit(models.InfoPromocodeUpdated{
|
hlogger.Emit(models.InfoPromocodeUpdated{
|
||||||
CtxUserIP: c.IP(),
|
|
||||||
CtxUserPort: c.Port(),
|
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: editedPromoCode.ID.String(),
|
CtxID: editedPromoCode.ID.String(),
|
||||||
CtxUserID: userID,
|
CtxUserID: userID,
|
||||||
KeyType: keyType,
|
KeyType: keyType,
|
||||||
@ -184,7 +176,7 @@ func (p *PromoCodeController) GetList(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
func (p *PromoCodeController) Activate(c *fiber.Ctx) error {
|
func (p *PromoCodeController) Activate(c *fiber.Ctx) error {
|
||||||
userID := middleware.ExtractUserID(c)
|
userID := middleware.ExtractUserID(c)
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
fmt.Println("SKER1", userID)
|
fmt.Println("SKER1", userID)
|
||||||
if userID == "" {
|
if userID == "" {
|
||||||
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{"error": "failed to get jwt payload"})
|
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{"error": "failed to get jwt payload"})
|
||||||
@ -212,20 +204,13 @@ func (p *PromoCodeController) Activate(c *fiber.Ctx) error {
|
|||||||
return c.Status(fiber.StatusForbidden).JSON(fiber.Map{"error": "PromoCode already activated"})
|
return c.Status(fiber.StatusForbidden).JSON(fiber.Map{"error": "PromoCode already activated"})
|
||||||
case errors.Is(err, repository.ErrPromoCodeExpired):
|
case errors.Is(err, repository.ErrPromoCodeExpired):
|
||||||
hlogger.Emit(models.InfoPromocodeDeadlined{
|
hlogger.Emit(models.InfoPromocodeDeadlined{
|
||||||
CtxUserIP: c.IP(),
|
|
||||||
CtxUserPort: c.Port(),
|
CtxID: promocode.ID.String(),
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: promocode.ID.String(),
|
|
||||||
})
|
})
|
||||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": err.Error()})
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": err.Error()})
|
||||||
case errors.Is(err, repository.ErrPromoCodeExhausted):
|
case errors.Is(err, repository.ErrPromoCodeExhausted):
|
||||||
hlogger.Emit(models.InfoPromocodeExhausted{
|
hlogger.Emit(models.InfoPromocodeExhausted{
|
||||||
CtxUserIP: c.IP(),
|
CtxID: promocode.ID.String(),
|
||||||
CtxUserPort: c.Port(),
|
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: promocode.ID.String(),
|
|
||||||
})
|
})
|
||||||
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "PromoCode exhausted"})
|
return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "PromoCode exhausted"})
|
||||||
default:
|
default:
|
||||||
@ -235,20 +220,12 @@ func (p *PromoCodeController) Activate(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
if req.Codeword != "" {
|
if req.Codeword != "" {
|
||||||
hlogger.Emit(models.InfoPromocodeActivated{
|
hlogger.Emit(models.InfoPromocodeActivated{
|
||||||
CtxUserIP: c.IP(),
|
CtxID: promocode.ID.String(),
|
||||||
CtxUserPort: c.Port(),
|
CtxUserID: userID,
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
CtxCode: req.Codeword,
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: promocode.ID.String(),
|
|
||||||
CtxUserID: userID,
|
|
||||||
CtxCode: req.Codeword,
|
|
||||||
})
|
})
|
||||||
} else if req.FastLink != "" {
|
} else if req.FastLink != "" {
|
||||||
hlogger.Emit(models.InfoFastlinkActivated{
|
hlogger.Emit(models.InfoFastlinkActivated{
|
||||||
CtxUserIP: c.IP(),
|
|
||||||
CtxUserPort: c.Port(),
|
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: promocode.ID.String(),
|
CtxID: promocode.ID.String(),
|
||||||
CtxUserID: userID,
|
CtxUserID: userID,
|
||||||
CtxPromocodeID: req.FastLink,
|
CtxPromocodeID: req.FastLink,
|
||||||
@ -260,7 +237,7 @@ func (p *PromoCodeController) Activate(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
func (p *PromoCodeController) Delete(c *fiber.Ctx) error {
|
func (p *PromoCodeController) Delete(c *fiber.Ctx) error {
|
||||||
userID := middleware.ExtractUserID(c)
|
userID := middleware.ExtractUserID(c)
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
|
|
||||||
promoCodeID := c.Params("promocodeID")
|
promoCodeID := c.Params("promocodeID")
|
||||||
if promoCodeID == "" {
|
if promoCodeID == "" {
|
||||||
@ -279,12 +256,8 @@ func (p *PromoCodeController) Delete(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hlogger.Emit(models.InfoPromocodeDeleted{
|
hlogger.Emit(models.InfoPromocodeDeleted{
|
||||||
CtxUserIP: c.IP(),
|
CtxID: promoCodeID,
|
||||||
CtxUserPort: c.Port(),
|
CtxUserID: userID,
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: promoCodeID,
|
|
||||||
CtxUserID: userID,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return c.SendStatus(fiber.StatusOK)
|
return c.SendStatus(fiber.StatusOK)
|
||||||
@ -292,7 +265,7 @@ func (p *PromoCodeController) Delete(c *fiber.Ctx) error {
|
|||||||
|
|
||||||
func (p *PromoCodeController) CreateFastLink(c *fiber.Ctx) error {
|
func (p *PromoCodeController) CreateFastLink(c *fiber.Ctx) error {
|
||||||
userID := middleware.ExtractUserID(c)
|
userID := middleware.ExtractUserID(c)
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
|
|
||||||
var req struct {
|
var req struct {
|
||||||
PromoCodeID string `json:"id"`
|
PromoCodeID string `json:"id"`
|
||||||
@ -317,10 +290,6 @@ func (p *PromoCodeController) CreateFastLink(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hlogger.Emit(models.InfoFastlinkCreated{
|
hlogger.Emit(models.InfoFastlinkCreated{
|
||||||
CtxUserIP: c.IP(),
|
|
||||||
CtxUserPort: c.Port(),
|
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: fastLink,
|
CtxID: fastLink,
|
||||||
CtxPromocodeID: req.PromoCodeID,
|
CtxPromocodeID: req.PromoCodeID,
|
||||||
CtxUserID: userID,
|
CtxUserID: userID,
|
||||||
|
@ -4,13 +4,12 @@ import (
|
|||||||
"codeword/internal/models"
|
"codeword/internal/models"
|
||||||
"codeword/internal/repository"
|
"codeword/internal/repository"
|
||||||
"codeword/internal/services"
|
"codeword/internal/services"
|
||||||
"codeword/internal/utils/middleware"
|
|
||||||
"encoding/base64"
|
"encoding/base64"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"strings"
|
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -56,7 +55,7 @@ func (r *RecoveryController) HandlePingDB(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *RecoveryController) HandleRecoveryRequest(c *fiber.Ctx) error {
|
func (r *RecoveryController) HandleRecoveryRequest(c *fiber.Ctx) error {
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
var req models.RecoveryRequest
|
var req models.RecoveryRequest
|
||||||
if err := c.BodyParser(&req); err != nil {
|
if err := c.BodyParser(&req); err != nil {
|
||||||
r.logger.Error("Failed to parse recovery request", zap.Error(err))
|
r.logger.Error("Failed to parse recovery request", zap.Error(err))
|
||||||
@ -115,10 +114,6 @@ func (r *RecoveryController) HandleRecoveryRequest(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hlogger.Emit(models.InfoPasswordRestorationRequested{
|
hlogger.Emit(models.InfoPasswordRestorationRequested{
|
||||||
CtxUserIP: c.IP(),
|
|
||||||
CtxUserPort: c.Port(),
|
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: id,
|
CtxID: id,
|
||||||
CtxUserID: user.ID.Hex(),
|
CtxUserID: user.ID.Hex(),
|
||||||
CtxReturnURL: r.recoveryURL + signWithID,
|
CtxReturnURL: r.recoveryURL + signWithID,
|
||||||
@ -129,7 +124,7 @@ func (r *RecoveryController) HandleRecoveryRequest(c *fiber.Ctx) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (r *RecoveryController) HandleRecoveryLink(c *fiber.Ctx) error {
|
func (r *RecoveryController) HandleRecoveryLink(c *fiber.Ctx) error {
|
||||||
hlogger := middleware.ExtractLogger(c)
|
hlogger := log_mw.ExtractLogger(c)
|
||||||
sign := c.Params("sign")
|
sign := c.Params("sign")
|
||||||
|
|
||||||
record, err := r.service.GetRecoveryRecord(c.Context(), sign)
|
record, err := r.service.GetRecoveryRecord(c.Context(), sign)
|
||||||
@ -167,12 +162,8 @@ func (r *RecoveryController) HandleRecoveryLink(c *fiber.Ctx) error {
|
|||||||
})
|
})
|
||||||
|
|
||||||
hlogger.Emit(models.InfoPasswordRestored{
|
hlogger.Emit(models.InfoPasswordRestored{
|
||||||
CtxUserIP: c.IP(),
|
CtxID: record.ID.String(),
|
||||||
CtxUserPort: c.Port(),
|
CtxUserID: record.UserID,
|
||||||
KeyDomain: strings.Join(c.Subdomains(), "/"),
|
|
||||||
KeyPath: c.Path(),
|
|
||||||
CtxID: record.ID.String(),
|
|
||||||
CtxUserID: record.UserID,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
return c.Redirect(record.SignUrl + "?auth=" + tokens["accessToken"])
|
return c.Redirect(record.SignUrl + "?auth=" + tokens["accessToken"])
|
||||||
|
@ -12,4 +12,3 @@ type RefreshResponse struct {
|
|||||||
|
|
||||||
const AuthJWTDecodedUserIDKey = "userID"
|
const AuthJWTDecodedUserIDKey = "userID"
|
||||||
const AuthJWTDecodedAccessTokenKey = "access-token"
|
const AuthJWTDecodedAccessTokenKey = "access-token"
|
||||||
const LoggerKey = "logger"
|
|
||||||
|
@ -19,10 +19,6 @@ type AllFields struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type InfoPromocodeCreated struct {
|
type InfoPromocodeCreated struct {
|
||||||
CtxUserIP string
|
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник созданного промокода
|
CtxID string //айдишник созданного промокода
|
||||||
CtxUserID string //айдишник юзера из токена
|
CtxUserID string //айдишник юзера из токена
|
||||||
KeyType string //привилегия или скидка. или и то и другое, смотря что заполнено
|
KeyType string //привилегия или скидка. или и то и другое, смотря что заполнено
|
||||||
@ -33,27 +29,15 @@ type InfoPromocodeCreated struct {
|
|||||||
CtxCode string
|
CtxCode string
|
||||||
}
|
}
|
||||||
type InfoFastlinkCreated struct {
|
type InfoFastlinkCreated struct {
|
||||||
CtxUserIP string
|
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник созданного промокода
|
CtxID string //айдишник созданного промокода
|
||||||
CtxPromocodeID string //айдишник созданного промокода
|
CtxPromocodeID string //айдишник созданного промокода
|
||||||
CtxUserID string //айдишник юзера из токена
|
CtxUserID string //айдишник юзера из токена
|
||||||
}
|
}
|
||||||
type InfoPromocodeDeleted struct {
|
type InfoPromocodeDeleted struct {
|
||||||
CtxUserIP string
|
CtxID string //айдишник созданного промокода
|
||||||
CtxUserPort string
|
CtxUserID string //айдишник юзера из токена
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник созданного промокода
|
|
||||||
CtxUserID string //айдишник юзера из токена
|
|
||||||
}
|
}
|
||||||
type InfoPromocodeUpdated struct {
|
type InfoPromocodeUpdated struct {
|
||||||
CtxUserIP string
|
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
CtxID string //айдишник промокода
|
||||||
CtxUserID string //айдишник юзера из токена
|
CtxUserID string //айдишник юзера из токена
|
||||||
KeyType string //привилегия или скидка. или и то и другое, смотря что заполнено
|
KeyType string //привилегия или скидка. или и то и другое, смотря что заполнено
|
||||||
@ -64,52 +48,28 @@ type InfoPromocodeUpdated struct {
|
|||||||
CtxCode string
|
CtxCode string
|
||||||
}
|
}
|
||||||
type InfoPromocodeActivated struct {
|
type InfoPromocodeActivated struct {
|
||||||
CtxUserIP string
|
CtxID string //айдишник промокода
|
||||||
CtxUserPort string
|
CtxUserID string //айдишник юзера из токена
|
||||||
KeyDomain string
|
CtxCode string
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
|
||||||
CtxUserID string //айдишник юзера из токена
|
|
||||||
CtxCode string
|
|
||||||
}
|
}
|
||||||
type InfoFastlinkActivated struct {
|
type InfoFastlinkActivated struct {
|
||||||
CtxUserIP string
|
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
CtxID string //айдишник промокода
|
||||||
CtxUserID string //айдишник юзера из токена
|
CtxUserID string //айдишник юзера из токена
|
||||||
CtxPromocodeID string //айдишник созданного промокода
|
CtxPromocodeID string //айдишник созданного промокода
|
||||||
}
|
}
|
||||||
type InfoPromocodeExhausted struct {
|
type InfoPromocodeExhausted struct {
|
||||||
CtxUserIP string
|
CtxID string //айдишник промокода
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
|
||||||
}
|
}
|
||||||
type InfoPromocodeDeadlined struct {
|
type InfoPromocodeDeadlined struct {
|
||||||
CtxUserIP string
|
CtxID string //айдишник промокода
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
|
||||||
}
|
}
|
||||||
type InfoPasswordRestorationRequested struct {
|
type InfoPasswordRestorationRequested struct {
|
||||||
CtxUserIP string
|
|
||||||
CtxUserPort string
|
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
CtxID string //айдишник промокода
|
||||||
CtxUserID string //айдишник юзера из токена
|
CtxUserID string //айдишник юзера из токена
|
||||||
CtxReturnURL string // ссылка на восстановление пароля
|
CtxReturnURL string // ссылка на восстановление пароля
|
||||||
CtxEmail string
|
CtxEmail string
|
||||||
}
|
}
|
||||||
type InfoPasswordRestored struct {
|
type InfoPasswordRestored struct {
|
||||||
CtxUserIP string
|
CtxID string //айдишник промокода
|
||||||
CtxUserPort string
|
CtxUserID string //айдишник юзера из токена
|
||||||
KeyDomain string
|
|
||||||
KeyPath string
|
|
||||||
CtxID string //айдишник промокода
|
|
||||||
CtxUserID string //айдишник юзера из токена
|
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"github.com/gofiber/fiber/v2"
|
"github.com/gofiber/fiber/v2"
|
||||||
"github.com/themakers/hlog"
|
"github.com/themakers/hlog"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
|
"penahub.gitlab.yandexcloud.net/backend/penahub_common/log_mw"
|
||||||
)
|
)
|
||||||
|
|
||||||
type ServerConfig struct {
|
type ServerConfig struct {
|
||||||
@ -24,7 +25,7 @@ type Server struct {
|
|||||||
|
|
||||||
func NewServer(config ServerConfig) *Server {
|
func NewServer(config ServerConfig) *Server {
|
||||||
app := fiber.New()
|
app := fiber.New()
|
||||||
app.Use(middleware.ContextLogger(config.Hlogger))
|
app.Use(log_mw.ContextLogger(config.Hlogger))
|
||||||
app.Use("/promocode", middleware.NewAuthenticator(config.JWT))
|
app.Use("/promocode", middleware.NewAuthenticator(config.JWT))
|
||||||
s := &Server{
|
s := &Server{
|
||||||
Logger: config.Logger,
|
Logger: config.Logger,
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
package middleware
|
|
||||||
|
|
||||||
import (
|
|
||||||
"codeword/internal/models"
|
|
||||||
"github.com/gofiber/fiber/v2"
|
|
||||||
"github.com/themakers/hlog"
|
|
||||||
)
|
|
||||||
|
|
||||||
func ContextLogger(logger hlog.Logger) fiber.Handler {
|
|
||||||
return func(c *fiber.Ctx) error {
|
|
||||||
c.Locals(models.LoggerKey, logger)
|
|
||||||
return c.Next()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func ExtractLogger(c *fiber.Ctx) hlog.Logger {
|
|
||||||
logger := c.Context().UserValue(models.LoggerKey).(hlog.Logger)
|
|
||||||
return logger
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user