package service

import (
	"gitea.pena/SQuiz/amocrm/internal/brokers"
	"gitea.pena/SQuiz/amocrm/pkg/amoClient"
	pena_social_auth "gitea.pena/SQuiz/amocrm/pkg/pena-social-auth"
	"gitea.pena/SQuiz/common/dal"
	"go.uber.org/zap"
)

type Deps struct {
	Repository       *dal.AmoDal
	Logger           *zap.Logger
	SocialAuthClient *pena_social_auth.Client
	AmoClient        *amoClient.Amo
	Producer         *brokers.Producer
}

type Service struct {
	repository       *dal.AmoDal
	logger           *zap.Logger
	socialAuthClient *pena_social_auth.Client
	amoClient        *amoClient.Amo
	producer         *brokers.Producer
}

func NewService(deps Deps) *Service {
	return &Service{
		repository:       deps.Repository,
		logger:           deps.Logger,
		socialAuthClient: deps.SocialAuthClient,
		amoClient:        deps.AmoClient,
		producer:         deps.Producer,
	}
}
