Skip to content

Commit

Permalink
Fix clues expiry
Browse files Browse the repository at this point in the history
  • Loading branch information
ishefi committed Aug 11, 2024
1 parent e6561d2 commit d233345
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 8 deletions.
9 changes: 2 additions & 7 deletions common/tables.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,8 @@ class User(SQLModel, table=True):
given_name: str = NoFinalHebrewString()
family_name: str = NoFinalHebrewString()
first_login: datetime.datetime = Field(default_factory=datetime.datetime.utcnow)
subscription_expiry: datetime.datetime | None = None

def has_active_subscription(self) -> bool:
if self.subscription_expiry is None:
return False
else:
return self.subscription_expiry > datetime.datetime.utcnow()
# subscription_expiry: datetime.datetime | None = None
subscriptions: "UserSubscription" = Relationship()


class UserHistory(SQLModel, table=True):
Expand Down
8 changes: 7 additions & 1 deletion logic/user_logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -287,9 +287,15 @@ def clues_used(self) -> int:
return session.exec(query).one_or_none() or 0

async def get_clue(self) -> str | None:
user_logic = UserLogic(self.session)
expiry = user_logic.get_subscription_expiry(self.user)
if expiry is None or expiry < datetime.datetime.utcnow():
has_active_subscription = False
else:
has_active_subscription = True
if self.clues_used < len(self.clues):
if (
not self.user.has_active_subscription()
not has_active_subscription
and await self._used_max_clues_for_inactive()
):
raise ValueError() # TODO: custom exception
Expand Down

0 comments on commit d233345

Please sign in to comment.