leadguru-jobs 0.637.0__py3-none-any.whl → 0.639.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.637.0
3
+ Version: 0.639.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -2,8 +2,8 @@ lgt_jobs/__init__.py,sha256=efDX0VsSwC2we92quUu8E62MqC-4audo0Rv37Y6USnk,2144
2
2
  lgt_jobs/basejobs.py,sha256=LPEclvY6fIG17YMGy9pRK0Q58n62gkI5W1BTK6R2p-c,1234
3
3
  lgt_jobs/env.py,sha256=cRO03GGvstUjBsv3uYO-iakrOvAk_ZWUP_fnmf21iZQ,789
4
4
  lgt_jobs/main.py,sha256=cK_nkBtJHnUNDbba1WZotqPtI_6OWxiYQkAgco9OAmE,1539
5
- lgt_jobs/runner.py,sha256=7KHpMHWwCjDlPDKnkNqrGAyIVn4Po62VqjYGVa85if8,2218
6
- lgt_jobs/simple_job.py,sha256=sta7MP-57iwRewPycmTAc9dvSbocbGjWhb1QYYj7ccA,519
5
+ lgt_jobs/runner.py,sha256=pS-Qwyfuk22aQ1Mk3p-Q0ysdZfKy1Bh9YoWBlDaLeM8,2234
6
+ lgt_jobs/simple_job.py,sha256=EBxhre3749GEAzJyaV1GXYy3P0pzwHchxcZ2kSN1vWU,527
7
7
  lgt_jobs/smtp.py,sha256=k0qh-Qk9AeSU3WrCOVmuWkfpi9xzwaPMzbw9cED-pZw,1150
8
8
  lgt_jobs/assets/images/arrow.png,sha256=Lr_zG1TyySAWX78jiojcV7j8BHe2S_Oi7eZYAfe4YbM,536
9
9
  lgt_jobs/assets/images/firework.png,sha256=9d_0lUpDFfT3e4JTgp5XVb03qAdtO9yNVi1c1KoQDp8,33754
@@ -12,19 +12,18 @@ lgt_jobs/assets/images/logo.png,sha256=nt377FGkBalBF9Z9TYQRv9loHolTXwU8_VRYvCXXz
12
12
  lgt_jobs/assets/images/mail.png,sha256=eORzQcAMkFr7DjgtABVhJ_zFuXgO7OXv78lLF4b39B0,7168
13
13
  lgt_jobs/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  lgt_jobs/jobs/analytics.py,sha256=IIsWt4A1qUw3w-S-8W16uKY1FRVWfXXA41_mu4uCNiM,979
15
- lgt_jobs/jobs/bot_stats_update.py,sha256=JRPPyqFvGHWuH_NQJNzIDy3DC0Joz14goNExqp-YUrw,8683
16
- lgt_jobs/jobs/chat_history.py,sha256=pwLGZyPS8N3h2eeoIIWGMwnzskPGFkPO3YVIY0KjQro,5245
17
- lgt_jobs/jobs/connect_sources.py,sha256=_eA86KnS3AC6YCI1xk7VCV7lFmPRxta-wUStfdmajQU,4790
18
- lgt_jobs/jobs/inbox_leads.py,sha256=LyzRAmXi_TL15hpxwNShNYSuySAy4PIPoq45uOgfKIE,4557
19
- lgt_jobs/jobs/load_slack_people.py,sha256=az3Pl8_0nUXizShpCksH6XMHFALLkta4QpMr_MkM9Io,3199
15
+ lgt_jobs/jobs/bot_stats_update.py,sha256=COwSaw0conDZOcdI5VkyW4vTFIo6PFn9LgvhTejYYeQ,8448
16
+ lgt_jobs/jobs/chat_history.py,sha256=rj337uHT2XmyDu3oMPbnCBxSsRn4roxDNS0hsbvoI7I,5040
17
+ lgt_jobs/jobs/connect_sources.py,sha256=vOKu2Q9cmQsj4VMVzOoEJkD1wzE9XurbIChx35rES8I,4957
18
+ lgt_jobs/jobs/inbox_leads.py,sha256=6UhPp9AfSAGb3elFDT6jm7j2HZ9jPOPngsUj-hUKAYw,4867
19
+ lgt_jobs/jobs/load_slack_people.py,sha256=JEggnsWvfA7L45lObwuBFIvBVhwfePbq08E89VXpI8E,3264
20
20
  lgt_jobs/jobs/mass_message.py,sha256=1mFcBlL2MhzLbj5yrd_NyJc7TXDWCcROAzGDnr0miMU,2035
21
21
  lgt_jobs/jobs/send_code.py,sha256=dIlLPkG3GgGKIEqGiElyzrtdrnJNTL1Ak2V0xnE-WIQ,824
22
- lgt_jobs/jobs/send_slack_message.py,sha256=nNtuSsAIK5dzvP3B1G-BHNyk_LuZkHfsGmpXHHIqBb0,2329
23
- lgt_jobs/jobs/update_slack_profile.py,sha256=_ed0OhrVc1U-nE6dLckdmTmzZaxlK-y7h4S7SIpfEiA,3582
24
- lgt_jobs/jobs/workspace_connect.py,sha256=y48LGLtH7KxB-XAja9JOW4VFq4rzJh8cSf6heNBLSx0,7067
22
+ lgt_jobs/jobs/send_slack_message.py,sha256=yJVzGQijM5KL-QDA0EQy-8-kvR7TSZmRw-4tX1ge5Hk,2343
23
+ lgt_jobs/jobs/update_slack_profile.py,sha256=GU28azaNz1zYsCAAF_BShJxLUecQb7AbO5XPgiv7yHg,3654
24
+ lgt_jobs/jobs/workspace_connect.py,sha256=iapbDVdFL6ZkZJlIZywASATAmK25ZikSd1IiB1LLrRo,7203
25
25
  lgt_jobs/lgt_common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  lgt_jobs/lgt_common/helpers.py,sha256=3T47_Abw7datSIxVqIHTCB-sh-rnahWrmrFG8sSY9ZE,178
27
- lgt_jobs/lgt_common/lgt_logging.py,sha256=Zxr2sPpY-qU_YbL_47OM6dE_JA1ejG_Vr1PNnjF_jwo,576
28
27
  lgt_jobs/lgt_common/discord_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
28
  lgt_jobs/lgt_common/discord_client/discord_client.py,sha256=IA5JgoZq-oowkEGLRReZbW4Wa7cTtdSTPfGKF6ymNm8,4067
30
29
  lgt_jobs/lgt_common/discord_client/methods.py,sha256=qFbNRsI1VlPZD2os5d4bdZhrnu69OW__fhMRssF0oMk,633
@@ -42,14 +41,14 @@ lgt_jobs/lgt_data/analytics.py,sha256=yfrFPXrBofzZqUNn479JkrbZXDa2ljgk-Le0YrQ9re
42
41
  lgt_jobs/lgt_data/engine.py,sha256=GY8FOl3dl7euKjQRML_H3ophaSTgfQ8ICMRv1NpE2oE,7745
43
42
  lgt_jobs/lgt_data/enums.py,sha256=27Gd_o5QVCrSUMIfL0DJ72xV77T9fK0kYrOaC78O0SU,2292
44
43
  lgt_jobs/lgt_data/helpers.py,sha256=S_1P7pnx14dllmen-TzjA9pkKWQr39x8-v6iv7FUYnQ,423
45
- lgt_jobs/lgt_data/model.py,sha256=RBVmt5yjgyPBIZhi4JhBEmn0gzieKBVx8rMMkYzc3JY,34814
46
- lgt_jobs/lgt_data/mongo_repository.py,sha256=h0yydTUhjVg9LgiGgRYw8HkwBgA8EUbeQKYE-JmcBbo,47437
44
+ lgt_jobs/lgt_data/model.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
+ lgt_jobs/lgt_data/mongo_repository.py,sha256=FBhE2nhrQ42njW9Muf3DZElJRva5IiZ_f-XmEQwgzrc,54209
47
46
  lgt_jobs/lgt_data/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
- lgt_jobs/lgt_data/models/message_request.py,sha256=3kzFkpinOvIeTu1ViZrhU__eHKeh-YJuZFv5ELkotpY,446
47
+ lgt_jobs/lgt_data/models/base.py,sha256=YaiceCaaF45snOLx-bQoYJ1aTWrfgMQeHWjAaRnzGKE,592
49
48
  lgt_jobs/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
49
  lgt_jobs/services/web_client.py,sha256=oMyWJxwGeIe3f40fPT7xcisjDg3BhA3Ipf8dr1jVT-Y,1549
51
50
  lgt_jobs/templates/new_message.html,sha256=dZl8UmdAOOMq4nidvAgMFroSrTV7Pw0RWt2yLp_2idg,6989
52
- leadguru_jobs-0.637.0.dist-info/METADATA,sha256=TOJjICSrb2a4fGgBwgt2iCYx48nnQ5Y2H1En08NdGhM,1319
53
- leadguru_jobs-0.637.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
54
- leadguru_jobs-0.637.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
55
- leadguru_jobs-0.637.0.dist-info/RECORD,,
51
+ leadguru_jobs-0.639.0.dist-info/METADATA,sha256=MAx8qvGobve7qzMmzciWlx-I0WGlZLzOlBNdJ8z_5ac,1319
52
+ leadguru_jobs-0.639.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
53
+ leadguru_jobs-0.639.0.dist-info/top_level.txt,sha256=rIuw1DqwbnZyeoarBSC-bYeGOhv9mZBs7_afl9q4_JI,9
54
+ leadguru_jobs-0.639.0.dist-info/RECORD,,
@@ -1,12 +1,12 @@
1
1
  import random
2
2
  import time
3
3
  from abc import ABC
4
- from datetime import datetime, UTC, timedelta
5
4
  from typing import Optional
6
5
  from lgt_jobs.lgt_common.discord_client.discord_client import DiscordClient
7
6
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
8
7
  from lgt_jobs.lgt_data.enums import SourceType
9
- from lgt_jobs.lgt_data.model import DedicatedBotModel, Server, Channel, DiscordUser
8
+ from lgt_jobs.lgt_data.models.bots.dedicated_bot import Server, Channel, DedicatedBotModel
9
+ from lgt_jobs.lgt_data.models.external.discord.user import DiscordUser
10
10
  from lgt_jobs.lgt_data.mongo_repository import (DedicatedBotRepository, UserMongoRepository, SlackContactUserRepository,
11
11
  LeadMongoRepository, UserLeadMongoRepository)
12
12
  from pydantic import BaseModel
@@ -33,15 +33,7 @@ class BotStatsUpdateJob(BaseBackgroundJob, ABC):
33
33
  bots_rep = DedicatedBotRepository()
34
34
  users_rep = UserMongoRepository()
35
35
  bot = bots_rep.get_one(id=data.bot_id, include_deleted=True)
36
-
37
36
  user = users_rep.get(bot.user_id)
38
- if user.subscription_expired_at.replace(tzinfo=UTC) < (datetime.now(UTC) - timedelta(7)):
39
- bot.deleted = True
40
- for server in bot.servers:
41
- server.deleted = True
42
- bots_rep.add_or_update(bot)
43
- return
44
-
45
37
  received_messages, filtered_messages = get_bots_aggregated_analytics(bot_ids=[str(bot.id)])
46
38
 
47
39
  if bot.source.source_type == SourceType.DISCORD:
@@ -3,7 +3,9 @@ from abc import ABC
3
3
  from typing import Optional, List
4
4
  import logging as log
5
5
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
6
- from lgt_jobs.lgt_data.model import ChatMessage, UserContact, DedicatedBotModel
6
+ from lgt_jobs.lgt_data.models.bots.dedicated_bot import DedicatedBotModel
7
+ from lgt_jobs.lgt_data.models.chat.message import ChatMessage
8
+ from lgt_jobs.lgt_data.models.contacts.contact import UserContact
7
9
  from lgt_jobs.lgt_data.mongo_repository import UserMongoRepository, DedicatedBotRepository, UserContactsRepository, \
8
10
  ChatRepository, UserLeadMongoRepository
9
11
  from pydantic import BaseModel
@@ -39,7 +41,6 @@ class LoadChatHistoryJob(BaseBackgroundJob, ABC):
39
41
  return
40
42
  last_message = None
41
43
  last_message_contact = None
42
- last_message_bot = None
43
44
  contacts_groups = self.contacts_repo.find_grouped_actual_contacts(user.id, spam=False, with_chat_only=False)
44
45
  for bot in bots:
45
46
  contacts = contacts_groups.get(bot.source.source_id)
@@ -54,12 +55,10 @@ class LoadChatHistoryJob(BaseBackgroundJob, ABC):
54
55
  continue
55
56
 
56
57
  if not last_message:
57
- last_message_bot = bot
58
58
  last_message = message
59
59
  last_message_contact = contact
60
60
 
61
61
  if message.created_at > last_message.created_at and message.user == contact.sender_id:
62
- last_message_bot = bot
63
62
  last_message = message
64
63
  last_message_contact = contact
65
64
 
@@ -67,8 +66,6 @@ class LoadChatHistoryJob(BaseBackgroundJob, ABC):
67
66
  has_to_be_notified = (not last_notification or (last_message and last_message.created_at > last_notification))
68
67
  if last_message and has_to_be_notified and last_message.user == last_message_contact.sender_id:
69
68
  user.notification_settings.incoming_messages.need_to_notify = True
70
- user.notification_settings.incoming_messages.attributes = [last_message_contact.sender_id,
71
- last_message_bot.source.source_id]
72
69
  UserMongoRepository().set(data.user_id, notification_settings=user.notification_settings.to_dic())
73
70
 
74
71
  def _get_new_messages(self, contact: UserContact, bot: DedicatedBotModel, slack_chat: List[ChatMessage]):
@@ -5,10 +5,13 @@ import logging as log
5
5
  from lgt_jobs.jobs.load_slack_people import LoadSlackPeopleJob, LoadSlackPeopleJobData
6
6
  from lgt_jobs.basejobs import BaseBackgroundJob, BaseBackgroundJobData
7
7
  from lgt_jobs.jobs.bot_stats_update import BotStatsUpdateJob, BotStatsUpdateJobData
8
+ from lgt_jobs.lgt_data.models.base import BaseModel
9
+ from lgt_jobs.lgt_data.models.bots.base_bot import Source
10
+ from lgt_jobs.lgt_data.models.bots.dedicated_bot import DedicatedBotModel, Server
11
+ from lgt_jobs.lgt_data.models.external.slack.user import SlackUser
8
12
  from lgt_jobs.runner import BackgroundJobRunner
9
13
  from lgt_jobs.lgt_data.engine import UserTrackAction
10
14
  from lgt_jobs.lgt_data.enums import SourceType, UserAction, StatusConnection
11
- from lgt_jobs.lgt_data.model import BaseModel, DedicatedBotModel, Server, Source, SlackUser
12
15
  from lgt_jobs.lgt_data.mongo_repository import DedicatedBotRepository, UserMongoRepository
13
16
 
14
17
 
@@ -1,8 +1,10 @@
1
1
  from abc import ABC
2
2
  import logging as log
3
3
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
4
- from lgt_jobs.lgt_data.model import UserModel, DedicatedBotModel, SlackMemberInformation
5
- from lgt_jobs.lgt_data.models.message_request import MessageRequest
4
+ from lgt_jobs.lgt_data.models.bots.dedicated_bot import DedicatedBotModel
5
+ from lgt_jobs.lgt_data.models.chat.request import MessageRequest
6
+ from lgt_jobs.lgt_data.models.people.people import SlackMemberInformation
7
+ from lgt_jobs.lgt_data.models.user.user import UserModel
6
8
  from lgt_jobs.lgt_data.mongo_repository import UserMongoRepository, DedicatedBotRepository, \
7
9
  SlackContactUserRepository, UserContactsRepository, MessageRequestsRepository
8
10
  from pydantic import BaseModel
@@ -84,6 +86,8 @@ class InboxLeadsJob(BaseBackgroundJob, ABC):
84
86
  if not sender_request:
85
87
  log.info(f"[InboxLeadsJob]: New message request from {sender_id} for user: {user.email}")
86
88
  requests_repo.upsert(user.id, sender_id, message_request)
89
+ user.notification_settings.inbox.need_to_notify = True
90
+ UserMongoRepository().set(user.id, notification_settings=user.notification_settings.to_dic())
87
91
 
88
92
  @staticmethod
89
93
  def create_people(slack_profile: dict, dedicated_bot: DedicatedBotModel):
@@ -1,7 +1,8 @@
1
1
  from abc import ABC
2
2
  from lgt_jobs.lgt_common.enums.slack_errors import SlackErrors
3
3
  from lgt_jobs.lgt_common.slack_client.slack_client import SlackClient
4
- from lgt_jobs.lgt_data.model import Source, SlackMemberInformation
4
+ from lgt_jobs.lgt_data.models.bots.base_bot import Source
5
+ from lgt_jobs.lgt_data.models.people.people import SlackMemberInformation
5
6
  from lgt_jobs.lgt_data.mongo_repository import DedicatedBotRepository, SlackContactUserRepository
6
7
  import logging as log
7
8
  from pydantic import BaseModel
@@ -3,7 +3,7 @@ from abc import ABC
3
3
  from typing import Optional
4
4
  import logging as log
5
5
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
6
- from lgt_jobs.lgt_data.model import ChatMessage
6
+ from lgt_jobs.lgt_data.models.chat.message import ChatMessage
7
7
  from lgt_jobs.lgt_data.mongo_repository import DedicatedBotRepository, UserContactsRepository, ChatRepository
8
8
  from pydantic import BaseModel
9
9
  from lgt_jobs.basejobs import BaseBackgroundJobData, BaseBackgroundJob
@@ -2,7 +2,8 @@ from abc import ABC
2
2
  from lgt_jobs.lgt_common.slack_client.slack_client import SlackClient
3
3
  from lgt_jobs.lgt_common.slack_client.web_client import SlackFilesClient
4
4
  from lgt_jobs.lgt_data.enums import SourceType
5
- from lgt_jobs.lgt_data.model import Profile, SlackUser
5
+ from lgt_jobs.lgt_data.models.external.slack.user import SlackUser
6
+ from lgt_jobs.lgt_data.models.people.profile import Profile
6
7
  from lgt_jobs.lgt_data.mongo_repository import UserMongoRepository, DedicatedBotRepository
7
8
  from pydantic import BaseModel
8
9
  from lgt_jobs.basejobs import BaseBackgroundJobData, BaseBackgroundJob
@@ -4,7 +4,9 @@ import requests
4
4
  from lgt_jobs.lgt_common.helpers import update_credentials
5
5
  from lgt_jobs.lgt_common.slack_client.web_client import SlackWebClient
6
6
  from lgt_jobs.lgt_data.enums import StatusConnection, SourceType
7
- from lgt_jobs.lgt_data.model import UserWorkspace, SlackUser, DedicatedBotModel
7
+ from lgt_jobs.lgt_data.models.bots.dedicated_bot import DedicatedBotModel
8
+ from lgt_jobs.lgt_data.models.external.slack.user import SlackUser
9
+ from lgt_jobs.lgt_data.models.external.user_workspace import UserWorkspace
8
10
  from lgt_jobs.lgt_data.mongo_repository import UserMongoRepository, DedicatedBotRepository
9
11
  from lgt_jobs.basejobs import BaseBackgroundJobData, BaseBackgroundJob
10
12
  from lgt_jobs.jobs.bot_stats_update import BotStatsUpdateJob, BotStatsUpdateJobData