amocrm/internal/service/service.go

229 lines
4.8 KiB
Go

package service
import (
"amocrm/internal/models"
"amocrm/internal/repository"
pena_social_auth "amocrm/pkg/pena-social-auth"
"context"
"go.uber.org/zap"
)
type Deps struct {
Repository *repository.Repository
Logger *zap.Logger
SocialAuthClient *pena_social_auth.Client
}
type Service struct {
repository *repository.Repository
logger *zap.Logger
socialAuthClient *pena_social_auth.Client
}
func NewService(deps Deps) *Service {
return &Service{
repository: deps.Repository,
logger: deps.Logger,
socialAuthClient: deps.SocialAuthClient,
}
}
func (s *Service) UpdateListUsers(ctx context.Context) error {
err := s.repository.UpdateListUsers(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) GettingUserFromCash(ctx context.Context) (*models.UserListResp, error) {
response, err := s.repository.GettingUserFromCash(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) DeletingUserUtm(ctx context.Context, request *models.ListDeleteUTMIDsReq) error {
err := s.repository.DeletingUserUtm(ctx, request)
if err != nil {
return err
}
return nil
}
func (s *Service) SavingUserUtm(ctx context.Context, request *models.SaveUserListUTMReq) (*models.ListSavedIDUTMResp, error) {
response, err := s.repository.SavingUserUtm(ctx, request)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) GettingUserUtm(ctx context.Context) (*models.GetListUserUTMResp, error) {
response, err := s.repository.GettingUserUtm(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) SoftDeleteAccount(ctx context.Context) error {
err := s.repository.SoftDeleteAccount(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) GetCurrentAccount(ctx context.Context) (*models.GetCurrentAccountResp, error) {
response, err := s.repository.GetCurrentAccount(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) ConnectAccount(ctx context.Context, accountID string) (*models.ConnectAccountResp, error) {
err := s.repository.CreateAccount(ctx, accountID)
if err != nil {
s.logger.Error("error create account in connectAccount service", zap.Error(err))
return nil, err
}
link, err := s.socialAuthClient.GenerateAmocrmAuthURL()
if err != nil {
s.logger.Error("error sending request to pena social auth service:", zap.Error(err))
}
response := models.ConnectAccountResp{
Link: link,
}
return &response, nil
}
func (s *Service) GettingStepsFromCash(ctx context.Context) (*models.UserListStepsResp, error) {
response, err := s.repository.GettingStepsFromCash(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) UpdateListSteps(ctx context.Context) error {
err := s.repository.UpdateListSteps(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) WebhookCreate(ctx context.Context) error {
err := s.repository.WebhookCreate(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) WebhookDelete(ctx context.Context) error {
err := s.repository.WebhookDelete(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) UpdateListPipelines(ctx context.Context) error {
err := s.repository.UpdateListPipelines(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) GettingPipelinesFromCash(ctx context.Context) (*models.UserListPipelinesResp, error) {
response, err := s.repository.GettingPipelinesFromCash(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) ChangeQuizSettings(ctx context.Context, request *models.RulesReq) error {
err := s.repository.ChangeQuizSettings(ctx, request)
if err != nil {
return err
}
return nil
}
func (s *Service) SetQuizSettings(ctx context.Context, request *models.RulesReq) error {
err := s.repository.SetQuizSettings(ctx, request)
if err != nil {
return err
}
return nil
}
func (s *Service) GettingQuizRules(ctx context.Context) (*models.Rule, error) {
response, err := s.repository.GettingQuizRules(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) GettingTagsFromCash(ctx context.Context) (*models.UserListTagsResp, error) {
response, err := s.repository.GettingTagsFromCash(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) UpdateListTags(ctx context.Context) error {
err := s.repository.UpdateListTags(ctx)
if err != nil {
return err
}
return nil
}
func (s *Service) GettingFieldsFromCash(ctx context.Context) (*models.UserListFieldsResp, error) {
response, err := s.repository.GettingFieldsFromCash(ctx)
if err != nil {
return nil, err
}
return response, nil
}
func (s *Service) UpdateListCustom(ctx context.Context) error {
err := s.repository.UpdateListCustom(ctx)
if err != nil {
return err
}
return nil
}