mirror of
https://github.com/serty2005/rmser.git
synced 2026-02-05 03:12:34 -06:00
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package handlers
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
"go.uber.org/zap"
|
|
|
|
"rmser/internal/services/recommend"
|
|
"rmser/pkg/logger"
|
|
)
|
|
|
|
type RecommendationsHandler struct {
|
|
service *recommend.Service
|
|
}
|
|
|
|
func NewRecommendationsHandler(service *recommend.Service) *RecommendationsHandler {
|
|
return &RecommendationsHandler{service: service}
|
|
}
|
|
|
|
// GetRecommendations godoc
|
|
// @Summary Получить список рекомендаций
|
|
// @Description Возвращает сгенерированные рекомендации (проблемные зоны учета)
|
|
// @Tags recommendations
|
|
// @Produce json
|
|
// @Success 200 {array} recommendations.Recommendation
|
|
// @Failure 500 {object} map[string]string
|
|
func (h *RecommendationsHandler) GetRecommendations(c *gin.Context) {
|
|
recs, err := h.service.GetRecommendations()
|
|
if err != nil {
|
|
logger.Log.Error("Ошибка получения рекомендаций", zap.Error(err))
|
|
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
|
return
|
|
}
|
|
|
|
c.JSON(http.StatusOK, recs)
|
|
}
|