229 lines
4.8 KiB
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
|
|
}
|