package User

import (
	"net/http"

	storedto "astrology-api/dto/store"
	"astrology-api/services"

	"github.com/gin-gonic/gin"
)

type StoreController struct {
	service *services.StoreService
}

func NewStoreController() *StoreController {
	return &StoreController{
		service: services.NewStoreService(),
	}
}

func (c *StoreController) StoreHome(ctx *gin.Context) {

	var req storedto.HomeRequest

	if err := ctx.ShouldBindJSON(&req); err != nil {

		ctx.JSON(http.StatusBadRequest, gin.H{
			"status": 400,
			"message": err.Error(),
		})
		return
	}

	response, err := c.service.GetStoreHome(req)

	if err != nil {

		ctx.JSON(http.StatusInternalServerError, gin.H{
			"status": 500,
			"message": err.Error(),
		})
		return
	}

	ctx.JSON(http.StatusOK, response)
}