upvotes
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing

This commit is contained in:
2024-04-23 19:33:34 +03:00
parent ed403c2c72
commit 2bf09963ac
2 changed files with 14 additions and 1 deletions

View File

@@ -7,21 +7,29 @@ import (
"gerald/internal/services"
"github.com/go-openapi/runtime/middleware"
"github.com/go-openapi/strfmt"
"github.com/rs/zerolog"
)
type FeedbackHandler struct {
feedback *services.FeedbackService
logger zerolog.Logger
}
func NewFeedbackHandler(
feedback *services.FeedbackService,
logger zerolog.Logger,
) *FeedbackHandler {
return &FeedbackHandler{feedback: feedback}
return &FeedbackHandler{
feedback: feedback,
logger: logger,
}
}
func (h *FeedbackHandler) CreateFeedback(params feedback.CreateFeedbackParams) middleware.Responder {
err := h.feedback.Create(params.SessionUUID, params.Body)
if err != nil {
h.logger.Error().Err(err).Msg("Cannot create feedback")
return feedback.NewCreateFeedbackForbidden()
}
@@ -32,6 +40,7 @@ func (h *FeedbackHandler) CreateFeedback(params feedback.CreateFeedbackParams) m
func (h *FeedbackHandler) GetFeedbacks(params feedback.GetFeedbacksParams) middleware.Responder {
feedbacks, err := h.feedback.GetBySessionID(params.SessionUUID)
if err != nil {
h.logger.Error().Err(err).Msg("Cannot get feedbacks")
return feedback.NewGetFeedbacksForbidden()
}
@@ -41,6 +50,7 @@ func (h *FeedbackHandler) GetFeedbacks(params feedback.GetFeedbacksParams) middl
func (h *FeedbackHandler) GetFeedback(params feedback.GetFeedbacksForProjectParams) middleware.Responder {
feedbacks, err := h.feedback.GetByProjectID(params.ProjectID)
if err != nil {
h.logger.Error().Err(err).Msg("Cannot get feedbacks")
return feedback.NewGetFeedbacksForProjectForbidden()
}
@@ -52,6 +62,7 @@ func (h *FeedbackHandler) GetFeedback(params feedback.GetFeedbacksForProjectPara
func (h *FeedbackHandler) VoteFeedback(params feedback.UpvoteFeedbackParams) middleware.Responder {
err := h.feedback.Vote(params.SessionUUID, params.FeedbackUUID, params.Action)
if err != nil {
h.logger.Error().Err(err).Msg("Cannot vote feedback")
return feedback.NewUpvoteFeedbackForbidden()
}
@@ -61,6 +72,7 @@ func (h *FeedbackHandler) VoteFeedback(params feedback.UpvoteFeedbackParams) mid
func (h *FeedbackHandler) GetFeedbacksForProject(params feedback.GetFeedbacksForProjectParams) middleware.Responder {
feedbacks, err := h.feedback.GetByProjectID(params.ProjectID)
if err != nil {
h.logger.Error().Err(err).Msg("Cannot get feedbacks")
return feedback.NewGetFeedbacksForProjectForbidden()
}

View File

@@ -44,6 +44,7 @@ func Close(db *gorm.DB) error {
func CreateSchema(db *gorm.DB) error {
err := db.AutoMigrate(
&models.Feedback{},
&models.Upvote{},
)
if err != nil {