package controller

import (
	"github.com/go-logr/logr"
	msgSvc "github.com/tidbcloud/escalation-base/feishu_messager_v2/pkg/service/message"
	"go.uber.org/dig"
)

type ControllerParam struct {
	dig.In

	Logger         logr.Logger
	MessageService msgSvc.MessageServiceAPI
}

type MessageController struct {
	logger logr.Logger
	msgSvc msgSvc.MessageServiceAPI
}

func (c *MessageController) RegisterAPI(suite *Suite) error {
	r := suite.Router
	r.POST("/messageForward", c.MessageForward)

	return nil
}

func NewMessageController(p ControllerParam) Controller {
	return &MessageController{
		logger: p.Logger.WithName("MessageController"),
		msgSvc: p.MessageService,
	}
}
