package notification

import (
	"context"
	"fmt"

	params "git.gocasts.ir/ebhomengo/niki/param"
	bnfparam "git.gocasts.ir/ebhomengo/niki/param/admin/benefactor"
	kbparam "git.gocasts.ir/ebhomengo/niki/param/admin/kind_box_req"
	smsmsg "git.gocasts.ir/ebhomengo/niki/pkg/sms_msg"
)

func (s Service) KindBoxReqAdded(req params.NotificationKindBoxReqAdded) {
	const op = "notification.KindBoxReqAdded"

	ctx, cancel := context.WithTimeout(context.Background(), s.cfg.Timeout)
	defer cancel()

	kb, err := s.KindBoxReqSvc.Get(ctx, kbparam.GetKindBoxReqRequest{
		KindBoxID: req.KindBoxReqID,
	})
	if err != nil {
		fmt.Println(fmt.Errorf("error(%s):%w", op, err))
	}
	bnf, gErr := s.BenefactorSvc.GetByID(ctx, bnfparam.GetBenefactorByIDRequest{BenefactorID: kb.Data.BenefactorID})
	if gErr != nil {
		fmt.Println(fmt.Errorf("error(%s):%w", op, gErr))
	}
	s.smsAdapter.Send(bnf.PhoneNumber, fmt.Sprintf(smsmsg.SmsMsgKindBoxReqAdded, bnf.FirstName))
}