feat(analytics): use validator as a singleton
This commit is contained in:
parent
471558fec5
commit
fe7e200dba
4 changed files with 19 additions and 21 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
package analytics
|
package analytics
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/go-playground/validator/v10"
|
||||||
"openreplay/backend/pkg/analytics/charts"
|
"openreplay/backend/pkg/analytics/charts"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
|
@ -31,11 +32,12 @@ func NewServiceBuilder(log logger.Logger, cfg *analytics.Config, webMetrics web.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
reqValidator := validator.New()
|
||||||
cardsService, err := cards.New(log, pgconn)
|
cardsService, err := cards.New(log, pgconn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
cardsHandlers, err := cards.NewHandlers(log, cfg, responser, cardsService)
|
cardsHandlers, err := cards.NewHandlers(log, cfg, responser, cardsService, reqValidator)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -43,7 +45,7 @@ func NewServiceBuilder(log logger.Logger, cfg *analytics.Config, webMetrics web.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
dashboardsHandlers, err := dashboards.NewHandlers(log, cfg, responser, dashboardsService)
|
dashboardsHandlers, err := dashboards.NewHandlers(log, cfg, responser, dashboardsService, reqValidator)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
@ -51,7 +53,7 @@ func NewServiceBuilder(log logger.Logger, cfg *analytics.Config, webMetrics web.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
chartsHandlers, err := charts.NewHandlers(log, cfg, responser, chartsService)
|
chartsHandlers, err := charts.NewHandlers(log, cfg, responser, chartsService, reqValidator)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ type handlersImpl struct {
|
||||||
responser *api.Responser
|
responser *api.Responser
|
||||||
jsonSizeLimit int64
|
jsonSizeLimit int64
|
||||||
cards Cards
|
cards Cards
|
||||||
|
validator *validator.Validate
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *handlersImpl) GetAll() []*api.Description {
|
func (e *handlersImpl) GetAll() []*api.Description {
|
||||||
|
|
@ -48,12 +49,13 @@ func (e *handlersImpl) GetAll() []*api.Description {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHandlers(log logger.Logger, cfg *config.Config, responser *api.Responser, cards Cards) (api.Handlers, error) {
|
func NewHandlers(log logger.Logger, cfg *config.Config, responser *api.Responser, cards Cards, validator *validator.Validate) (api.Handlers, error) {
|
||||||
return &handlersImpl{
|
return &handlersImpl{
|
||||||
log: log,
|
log: log,
|
||||||
responser: responser,
|
responser: responser,
|
||||||
jsonSizeLimit: cfg.JsonSizeLimit,
|
jsonSizeLimit: cfg.JsonSizeLimit,
|
||||||
cards: cards,
|
cards: cards,
|
||||||
|
validator: validator,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -74,9 +76,7 @@ func (e *handlersImpl) createCard(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
validate := validator.New()
|
if err = e.validator.Struct(req); err != nil {
|
||||||
err = validate.Struct(req)
|
|
||||||
if err != nil {
|
|
||||||
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -256,9 +256,7 @@ func (e *handlersImpl) updateCard(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
validate := validator.New()
|
if err = e.validator.Struct(req); err != nil {
|
||||||
err = validate.Struct(req)
|
|
||||||
if err != nil {
|
|
||||||
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ type handlersImpl struct {
|
||||||
responser *api.Responser
|
responser *api.Responser
|
||||||
jsonSizeLimit int64
|
jsonSizeLimit int64
|
||||||
charts Charts
|
charts Charts
|
||||||
|
validator *validator.Validate
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *handlersImpl) GetAll() []*api.Description {
|
func (e *handlersImpl) GetAll() []*api.Description {
|
||||||
|
|
@ -45,12 +46,13 @@ func (e *handlersImpl) GetAll() []*api.Description {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHandlers(log logger.Logger, cfg *config.Config, responser *api.Responser, charts Charts) (api.Handlers, error) {
|
func NewHandlers(log logger.Logger, cfg *config.Config, responser *api.Responser, charts Charts, validator *validator.Validate) (api.Handlers, error) {
|
||||||
return &handlersImpl{
|
return &handlersImpl{
|
||||||
log: log,
|
log: log,
|
||||||
responser: responser,
|
responser: responser,
|
||||||
jsonSizeLimit: cfg.JsonSizeLimit,
|
jsonSizeLimit: cfg.JsonSizeLimit,
|
||||||
charts: charts,
|
charts: charts,
|
||||||
|
validator: validator,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -77,9 +79,7 @@ func (e *handlersImpl) getCardChartData(w http.ResponseWriter, r *http.Request)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
validate := validator.New()
|
if err = e.validator.Struct(req); err != nil {
|
||||||
err = validate.Struct(req)
|
|
||||||
if err != nil {
|
|
||||||
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ type handlersImpl struct {
|
||||||
responser *api.Responser
|
responser *api.Responser
|
||||||
jsonSizeLimit int64
|
jsonSizeLimit int64
|
||||||
dashboards Dashboards
|
dashboards Dashboards
|
||||||
|
validator *validator.Validate
|
||||||
}
|
}
|
||||||
|
|
||||||
func (e *handlersImpl) GetAll() []*api.Description {
|
func (e *handlersImpl) GetAll() []*api.Description {
|
||||||
|
|
@ -50,12 +51,13 @@ func (e *handlersImpl) GetAll() []*api.Description {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewHandlers(log logger.Logger, cfg *config.Config, responser *api.Responser, dashboards Dashboards) (api.Handlers, error) {
|
func NewHandlers(log logger.Logger, cfg *config.Config, responser *api.Responser, dashboards Dashboards, validator *validator.Validate) (api.Handlers, error) {
|
||||||
return &handlersImpl{
|
return &handlersImpl{
|
||||||
log: log,
|
log: log,
|
||||||
responser: responser,
|
responser: responser,
|
||||||
jsonSizeLimit: cfg.JsonSizeLimit,
|
jsonSizeLimit: cfg.JsonSizeLimit,
|
||||||
dashboards: dashboards,
|
dashboards: dashboards,
|
||||||
|
validator: validator,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,9 +78,7 @@ func (e *handlersImpl) createDashboard(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
validate := validator.New()
|
if err = e.validator.Struct(req); err != nil {
|
||||||
err = validate.Struct(req)
|
|
||||||
if err != nil {
|
|
||||||
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -279,9 +279,7 @@ func (e *handlersImpl) addCardToDashboard(w http.ResponseWriter, r *http.Request
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
validate := validator.New()
|
if err = e.validator.Struct(req); err != nil {
|
||||||
err = validate.Struct(req)
|
|
||||||
if err != nil {
|
|
||||||
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
e.responser.ResponseWithError(e.log, r.Context(), w, http.StatusBadRequest, err, startTime, r.URL.Path, bodySize)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue