leadguru-jobs 0.661.0__tar.gz → 0.663.0__tar.gz

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.
Files changed (117) hide show
  1. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/PKG-INFO +1 -1
  2. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/leadguru_jobs.egg-info/PKG-INFO +1 -1
  3. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/leadguru_jobs.egg-info/SOURCES.txt +1 -0
  4. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/enums.py +8 -0
  5. leadguru_jobs-0.663.0/lgt_jobs/lgt_data/models/user/typed_field.py +6 -0
  6. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/user.py +9 -2
  7. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/mongo_repository.py +3 -0
  8. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/MANIFEST.in +0 -0
  9. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/README.md +0 -0
  10. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/leadguru_jobs.egg-info/dependency_links.txt +0 -0
  11. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/leadguru_jobs.egg-info/not-zip-safe +0 -0
  12. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/leadguru_jobs.egg-info/requires.txt +0 -0
  13. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/leadguru_jobs.egg-info/top_level.txt +0 -0
  14. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/__init__.py +0 -0
  15. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/assets/images/arrow.png +0 -0
  16. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/assets/images/firework.png +0 -0
  17. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/assets/images/lock.png +0 -0
  18. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/assets/images/logo.png +0 -0
  19. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/assets/images/mail.png +0 -0
  20. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/basejobs.py +0 -0
  21. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/env.py +0 -0
  22. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/__init__.py +0 -0
  23. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/analytics.py +0 -0
  24. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/bot_stats_update.py +0 -0
  25. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/chat_history.py +0 -0
  26. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/connect_sources.py +0 -0
  27. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/inbox_leads.py +0 -0
  28. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/load_slack_people.py +0 -0
  29. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/mass_message.py +0 -0
  30. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/send_code.py +0 -0
  31. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/send_slack_message.py +0 -0
  32. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/update_slack_profile.py +0 -0
  33. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/jobs/workspace_connect.py +0 -0
  34. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/__init__.py +0 -0
  35. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/discord_client/__init__.py +0 -0
  36. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/discord_client/discord_client.py +0 -0
  37. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/discord_client/methods.py +0 -0
  38. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/enums/__init__.py +0 -0
  39. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/enums/slack_errors.py +0 -0
  40. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/helpers.py +0 -0
  41. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/pubsub/__init__.py +0 -0
  42. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/pubsub/messages.py +0 -0
  43. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/pubsub/pubsubfactory.py +0 -0
  44. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/slack_client/__init__.py +0 -0
  45. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/slack_client/methods.py +0 -0
  46. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/slack_client/slack_client.py +0 -0
  47. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_common/slack_client/web_client.py +0 -0
  48. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/__init__.py +0 -0
  49. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/analytics.py +0 -0
  50. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/engine.py +0 -0
  51. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/helpers.py +0 -0
  52. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/model.py +0 -0
  53. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/__init__.py +0 -0
  54. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/base.py +0 -0
  55. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/boards/__init__.py +0 -0
  56. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/boards/board.py +0 -0
  57. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/boards/status.py +0 -0
  58. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/bots/__init__.py +0 -0
  59. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/bots/base_bot.py +0 -0
  60. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/bots/bot_info.py +0 -0
  61. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/bots/dedicated_bot.py +0 -0
  62. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/chat/__init__.py +0 -0
  63. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/chat/file.py +0 -0
  64. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/chat/grouped_messages.py +0 -0
  65. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/chat/message.py +0 -0
  66. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/chat/request.py +0 -0
  67. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/chat/scheduled_message.py +0 -0
  68. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/contacts/__init__.py +0 -0
  69. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/contacts/contact.py +0 -0
  70. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/__init__.py +0 -0
  71. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/cloud/__init__.py +0 -0
  72. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/cloud/file.py +0 -0
  73. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/discord/__init__.py +0 -0
  74. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/discord/user.py +0 -0
  75. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/slack/__init__.py +0 -0
  76. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/slack/timezone.py +0 -0
  77. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/slack/user.py +0 -0
  78. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/external/user_workspace.py +0 -0
  79. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/leads/__init__.py +0 -0
  80. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/leads/config.py +0 -0
  81. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/leads/extended_lead.py +0 -0
  82. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/leads/lead.py +0 -0
  83. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/leads/message.py +0 -0
  84. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/notifications/__init__.py +0 -0
  85. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/notifications/notification.py +0 -0
  86. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/notifications/notification_settings.py +0 -0
  87. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/people/__init__.py +0 -0
  88. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/people/people.py +0 -0
  89. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/people/profile.py +0 -0
  90. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/post/__init__.py +0 -0
  91. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/post/message.py +0 -0
  92. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/post/post.py +0 -0
  93. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/templates/__init__.py +0 -0
  94. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/templates/template.py +0 -0
  95. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/__init__.py +0 -0
  96. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/feature.py +0 -0
  97. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/general_settings.py +0 -0
  98. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/reset_password.py +0 -0
  99. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/subscription.py +0 -0
  100. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/user_follow_ups.py +0 -0
  101. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/user_page.py +0 -0
  102. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user/verification.py +0 -0
  103. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user_leads/__init__.py +0 -0
  104. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user_leads/extended_user_lead.py +0 -0
  105. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/models/user_leads/user_lead.py +0 -0
  106. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/repositories/__init__.py +0 -0
  107. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/repositories/post/__init__.py +0 -0
  108. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/lgt_data/repositories/post/posts.py +0 -0
  109. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/main.py +0 -0
  110. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/runner.py +0 -0
  111. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/services/__init__.py +0 -0
  112. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/services/web_client.py +0 -0
  113. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/simple_job.py +0 -0
  114. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/smtp.py +0 -0
  115. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/lgt_jobs/templates/new_message.html +0 -0
  116. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/setup.cfg +0 -0
  117. {leadguru_jobs-0.661.0 → leadguru_jobs-0.663.0}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.661.0
3
+ Version: 0.663.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: leadguru_jobs
3
- Version: 0.661.0
3
+ Version: 0.663.0
4
4
  Summary: LGT jobs builds
5
5
  Author-email: developer@leadguru.co
6
6
  Classifier: Development Status :: 5 - Production/Stable
@@ -100,6 +100,7 @@ lgt_jobs/lgt_data/models/user/feature.py
100
100
  lgt_jobs/lgt_data/models/user/general_settings.py
101
101
  lgt_jobs/lgt_data/models/user/reset_password.py
102
102
  lgt_jobs/lgt_data/models/user/subscription.py
103
+ lgt_jobs/lgt_data/models/user/typed_field.py
103
104
  lgt_jobs/lgt_data/models/user/user.py
104
105
  lgt_jobs/lgt_data/models/user/user_follow_ups.py
105
106
  lgt_jobs/lgt_data/models/user/user_page.py
@@ -97,3 +97,11 @@ class NotificationType(str, Enum):
97
97
  ONCE_A_WEEK = 'once_a_week'
98
98
  WEEK_BEFORE = 'week_before'
99
99
  UNREAD_FOR_FEW_MINUTES = 'unread_for_few_minutes'
100
+
101
+
102
+ class UsagePurpose(str, Enum):
103
+ EXPAND_NETWORKING = 'Expand Networking'
104
+ FIND_NEW_LEADS = 'Find new Leads'
105
+ RESEARCH_THE_MARKET = 'Research the Market'
106
+ CUSTOMER_SUPPORT = 'Customer support'
107
+ OTHER = 'Other'
@@ -0,0 +1,6 @@
1
+ from lgt_jobs.lgt_data.models.base import DictionaryModel
2
+
3
+
4
+ class TypedField(DictionaryModel):
5
+ type: str
6
+ description: str
@@ -11,6 +11,7 @@ from lgt_jobs.lgt_data.models.external.slack.user import SlackUser
11
11
  from lgt_jobs.lgt_data.models.notifications.notification_settings import NotificationSettings
12
12
  from lgt_jobs.lgt_data.models.people.profile import Profile
13
13
  from lgt_jobs.lgt_data.models.user.general_settings import GeneralSettings
14
+ from lgt_jobs.lgt_data.models.user.typed_field import TypedField
14
15
 
15
16
 
16
17
  class UserModel(BaseModel):
@@ -48,8 +49,8 @@ class UserModel(BaseModel):
48
49
  self.subscription_expiration_warning_notified = False
49
50
  self.notification_settings: NotificationSettings | None = None
50
51
  self.general_settings: GeneralSettings | None = None
51
- self.company_type: str | None = None
52
- self.usage_purpose: str | None = None
52
+ self.company_type: TypedField | None = None
53
+ self.usage_purpose: list[TypedField] = []
53
54
  self.project_awareness: str | None = None
54
55
 
55
56
  @classmethod
@@ -67,6 +68,8 @@ class UserModel(BaseModel):
67
68
  model.slack_profile = Profile.from_dic(dic.get('slack_profile'))
68
69
  model.slack_users = [SlackUser.from_dic(user) for user in dic.get('slack_users', [])]
69
70
  model.discord_users = [DiscordUser.from_dic(user) for user in dic.get('discord_users', [])]
71
+ model.usage_purpose = [TypedField.from_dic(purpose) for purpose in dic.get('usage_purpose', [])]
72
+ model.company_type = TypedField.from_dic(dic.get('company_type'))
70
73
  model.notification_settings = NotificationSettings.from_dic(dic.get('notification_settings'))
71
74
  model.general_settings = GeneralSettings.from_dic(dic.get('general_settings'))
72
75
  return model
@@ -80,6 +83,10 @@ class UserModel(BaseModel):
80
83
  result['notification_settings'] = NotificationSettings.to_dic(result.get('notification_settings'))
81
84
  if result.get('general_settings'):
82
85
  result['general_settings'] = GeneralSettings.to_dic(result.get('general_settings'))
86
+ if result.get('company_type'):
87
+ result['company_type'] = TypedField.to_dic(result.get('company_type'))
88
+ if result.get('usage_purpose'):
89
+ result['usage_purpose'] = [TypedField.to_dic(purpose) for purpose in result.get('usage_purpose', [])]
83
90
 
84
91
  return result
85
92
 
@@ -143,6 +143,7 @@ class UserMongoRepository(BaseMongoRepository):
143
143
  include_inactive = kwargs.get('include_inactive', False)
144
144
  email = kwargs.get('email')
145
145
  search = kwargs.get('search')
146
+ name = kwargs.get('name')
146
147
  sort_field = kwargs.get('sort_field', 'email')
147
148
  sort_direction = kwargs.get('sort_direction', 'ASCENDING')
148
149
  sort_direction = pymongo.ASCENDING if sort_direction == 'ASCENDING' else pymongo.DESCENDING
@@ -150,6 +151,8 @@ class UserMongoRepository(BaseMongoRepository):
150
151
  match_pipeline['inactive'] = False
151
152
  if email:
152
153
  match_pipeline['email'] = email
154
+ if name:
155
+ match_pipeline['user_name'] = {'$regex': name, '$options': 'i'}
153
156
  if search:
154
157
  match_pipeline['email'] = {'$regex': search, '$options': 'i'}
155
158
  pipeline.append({'$match': match_pipeline})