package service import ( "context" "errors" "go.uber.org/zap" "penahub.gitlab.yandexcloud.net/backend/quiz/bitrix/internal/models" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/pj_errors" ) type ParamsWebhookCreate struct { Code string Domain string AccountID string MemberID string Scope string ServerDomain string } func (s *Service) WebhookCreate(ctx context.Context, req ParamsWebhookCreate) error { _, err := s.GetCurrentAccount(ctx, req.AccountID) if err != nil && !errors.Is(err, pj_errors.ErrNotFound) { s.logger.Error("error checking current account in bitrix in webhook create", zap.Error(err)) return err } if errors.Is(err, pj_errors.ErrNotFound) { message := models.KafkaMessage{ AccountID: req.AccountID, AuthCode: req.Code, RefererURL: req.Domain, MemberID: req.MemberID, Type: models.UserCreate, } err = s.producer.ToKafkaUpdate(ctx, message) if err != nil { s.logger.Error("failed to send message to kafka on service webhook create", zap.Error(err)) return err } return nil } message := models.KafkaMessage{ AccountID: req.AccountID, AuthCode: req.Code, RefererURL: req.Domain, Type: models.UserReLogin, } err = s.producer.ToKafkaUpdate(ctx, message) if err != nil { s.logger.Error("failed to send message to kafka on service webhook create, user re-login", zap.Error(err)) return err } return nil } //func (s *Service) WebhookDelete(ctx context.Context, bitrixID int) error { // err := s.repository.BitrixRepo.WebhookDelete(ctx, bitrixID) // if err != nil { // s.logger.Error("error canceled bitrix integration", zap.Error(err)) // return err // } // return nil //}