Use email to get_user_subscription from DB and other DB adapters

- Needing user subscription requires chaining function
- Simplify get_file_sources DB adapter
This commit is contained in:
Debanjum Singh Solanky
2023-11-09 19:07:18 -08:00
parent 841ed95521
commit c0789dc57b
2 changed files with 14 additions and 21 deletions

View File

@@ -134,10 +134,11 @@ async def set_user_subscription(
return None
def get_user_subscription_state(user_subscription: Subscription) -> str:
def get_user_subscription_state(email: str) -> str:
"""Get subscription state of user
Valid state transitions: trial -> subscribed <-> unsubscribed OR expired
"""
user_subscription = Subscription.objects.filter(user__email=email).first()
if not user_subscription:
return "trial"
elif user_subscription.type == Subscription.Type.TRIAL:
@@ -450,5 +451,5 @@ class EntryAdapters:
return Entry.objects.filter(user=user).values_list("file_type", flat=True).distinct()
@staticmethod
def get_unique_file_source(user: KhojUser):
return Entry.objects.filter(user=user).values_list("file_source", flat=True).distinct()
def get_unique_file_sources(user: KhojUser):
return Entry.objects.filter(user=user).values_list("file_source", flat=True).distinct().all()