package download_alert

import (
	"github.com/gin-gonic/gin"

	"github.com/pingcap-inc/security/pkg/log"

	srvv1 "github.com/pingcap-inc/security/internal/alert-server/service/v1"
	"github.com/pingcap-inc/security/internal/alert-server/store"

	"github.com/pingcap-inc/security/pkg/util/ginres"
)

type DownloadAlertController struct {
	srv srvv1.Service
}

func NewDownloadAlertController(store store.Factory) *DownloadAlertController {
	return &DownloadAlertController{
		srv: srvv1.NewService(store),
	}
}

func (g *DownloadAlertController) DownloadAlert(c *gin.Context) {
	log.L(c).Info("DownloadAlertController.DownloadAlert function called.")

	ginres.WriteResponse(c, nil, "Start check download alerts.")

	_ = g.srv.DownLoadAlert().RetrieveEvent(c)
}

func (g *DownloadAlertController) MakeMockData(c *gin.Context) {
	log.L(c).Info("DownloadAlertController.MakeMockData function called.")

	ginres.WriteResponse(c, nil, "Start make mock data.")

	g.srv.DownLoadAlert().SaveMockData()

	log.L(c).Info("Mock data saved.")
}
