package service import ( "amocrm/internal/models" "amocrm/internal/repository" "context" "go.uber.org/zap" ) type Deps struct { Repository *repository.Repository Logger *zap.Logger ConnectLink string } type Service struct { repository *repository.Repository logger *zap.Logger connectLink string } func NewService(deps Deps) *Service { return &Service{ repository: deps.Repository, logger: deps.Logger, connectLink: deps.ConnectLink, } } 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 } response := models.ConnectAccountResp{ Link: s.connectLink, } 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 }