upvotes
This commit is contained in:
@@ -7,21 +7,29 @@ import (
|
|||||||
"gerald/internal/services"
|
"gerald/internal/services"
|
||||||
"github.com/go-openapi/runtime/middleware"
|
"github.com/go-openapi/runtime/middleware"
|
||||||
"github.com/go-openapi/strfmt"
|
"github.com/go-openapi/strfmt"
|
||||||
|
"github.com/rs/zerolog"
|
||||||
)
|
)
|
||||||
|
|
||||||
type FeedbackHandler struct {
|
type FeedbackHandler struct {
|
||||||
feedback *services.FeedbackService
|
feedback *services.FeedbackService
|
||||||
|
logger zerolog.Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewFeedbackHandler(
|
func NewFeedbackHandler(
|
||||||
feedback *services.FeedbackService,
|
feedback *services.FeedbackService,
|
||||||
|
logger zerolog.Logger,
|
||||||
) *FeedbackHandler {
|
) *FeedbackHandler {
|
||||||
return &FeedbackHandler{feedback: feedback}
|
return &FeedbackHandler{
|
||||||
|
feedback: feedback,
|
||||||
|
logger: logger,
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *FeedbackHandler) CreateFeedback(params feedback.CreateFeedbackParams) middleware.Responder {
|
func (h *FeedbackHandler) CreateFeedback(params feedback.CreateFeedbackParams) middleware.Responder {
|
||||||
err := h.feedback.Create(params.SessionUUID, params.Body)
|
err := h.feedback.Create(params.SessionUUID, params.Body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
h.logger.Error().Err(err).Msg("Cannot create feedback")
|
||||||
return feedback.NewCreateFeedbackForbidden()
|
return feedback.NewCreateFeedbackForbidden()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,6 +40,7 @@ func (h *FeedbackHandler) CreateFeedback(params feedback.CreateFeedbackParams) m
|
|||||||
func (h *FeedbackHandler) GetFeedbacks(params feedback.GetFeedbacksParams) middleware.Responder {
|
func (h *FeedbackHandler) GetFeedbacks(params feedback.GetFeedbacksParams) middleware.Responder {
|
||||||
feedbacks, err := h.feedback.GetBySessionID(params.SessionUUID)
|
feedbacks, err := h.feedback.GetBySessionID(params.SessionUUID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
h.logger.Error().Err(err).Msg("Cannot get feedbacks")
|
||||||
return feedback.NewGetFeedbacksForbidden()
|
return feedback.NewGetFeedbacksForbidden()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,6 +50,7 @@ func (h *FeedbackHandler) GetFeedbacks(params feedback.GetFeedbacksParams) middl
|
|||||||
func (h *FeedbackHandler) GetFeedback(params feedback.GetFeedbacksForProjectParams) middleware.Responder {
|
func (h *FeedbackHandler) GetFeedback(params feedback.GetFeedbacksForProjectParams) middleware.Responder {
|
||||||
feedbacks, err := h.feedback.GetByProjectID(params.ProjectID)
|
feedbacks, err := h.feedback.GetByProjectID(params.ProjectID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
h.logger.Error().Err(err).Msg("Cannot get feedbacks")
|
||||||
return feedback.NewGetFeedbacksForProjectForbidden()
|
return feedback.NewGetFeedbacksForProjectForbidden()
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -52,6 +62,7 @@ func (h *FeedbackHandler) GetFeedback(params feedback.GetFeedbacksForProjectPara
|
|||||||
func (h *FeedbackHandler) VoteFeedback(params feedback.UpvoteFeedbackParams) middleware.Responder {
|
func (h *FeedbackHandler) VoteFeedback(params feedback.UpvoteFeedbackParams) middleware.Responder {
|
||||||
err := h.feedback.Vote(params.SessionUUID, params.FeedbackUUID, params.Action)
|
err := h.feedback.Vote(params.SessionUUID, params.FeedbackUUID, params.Action)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
h.logger.Error().Err(err).Msg("Cannot vote feedback")
|
||||||
return feedback.NewUpvoteFeedbackForbidden()
|
return feedback.NewUpvoteFeedbackForbidden()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,6 +72,7 @@ func (h *FeedbackHandler) VoteFeedback(params feedback.UpvoteFeedbackParams) mid
|
|||||||
func (h *FeedbackHandler) GetFeedbacksForProject(params feedback.GetFeedbacksForProjectParams) middleware.Responder {
|
func (h *FeedbackHandler) GetFeedbacksForProject(params feedback.GetFeedbacksForProjectParams) middleware.Responder {
|
||||||
feedbacks, err := h.feedback.GetByProjectID(params.ProjectID)
|
feedbacks, err := h.feedback.GetByProjectID(params.ProjectID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
h.logger.Error().Err(err).Msg("Cannot get feedbacks")
|
||||||
return feedback.NewGetFeedbacksForProjectForbidden()
|
return feedback.NewGetFeedbacksForProjectForbidden()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ func Close(db *gorm.DB) error {
|
|||||||
func CreateSchema(db *gorm.DB) error {
|
func CreateSchema(db *gorm.DB) error {
|
||||||
err := db.AutoMigrate(
|
err := db.AutoMigrate(
|
||||||
&models.Feedback{},
|
&models.Feedback{},
|
||||||
|
&models.Upvote{},
|
||||||
)
|
)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user