package hr_analytics

import (
	"lune/talentscale/internal/pkg/ctxval"
	"lune/talentscale/pkg/response"
	"github.com/gofiber/fiber/v2"
	"github.com/google/uuid"
)

type Handler struct {
	service *Service
}

func NewHandler(service *Service) *Handler {
	return &Handler{service: service}
}

func (h *Handler) GetOverview(c *fiber.Ctx) error {
	companyID := ctxval.GetCompanyID(c)
	if companyID == uuid.Nil && !ctxval.IsGlobalRole(c) {
		return response.Forbidden(c, "Company access required")
	}

	overview, err := h.service.GetOverview(c.Context(), companyID)
	if err != nil {
		return response.InternalError(c, err.Error())
	}

	return response.OK(c, "Success", overview)
}
