From 8f146b2feee3677267908c6dd6bfa2285d4707c7 Mon Sep 17 00:00:00 2001 From: dandds Date: Thu, 25 Oct 2018 10:41:20 -0400 Subject: [PATCH] break out expiration method in Invitations domain --- atst/domain/invitations.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/atst/domain/invitations.py b/atst/domain/invitations.py index 2f067b36..777dbc10 100644 --- a/atst/domain/invitations.py +++ b/atst/domain/invitations.py @@ -39,7 +39,7 @@ class Invitations(object): @classmethod def accept(cls, invite_id): invite = Invitations._get(invite_id) - valid = Invitations._is_valid(invite) + valid = Invitations.is_valid(invite) invite.valid = False db.session.add(invite) @@ -51,12 +51,13 @@ class Invitations(object): return invite @classmethod - def _is_valid(cls, invite): - if not invite.valid: - return False - else: - time_created = invite.time_created - expiration = datetime.datetime.now( - time_created.tzinfo - ) - datetime.timedelta(minutes=Invitations.EXPIRATION_LIMIT) - return invite.time_created > expiration + def is_valid(cls, invite): + return invite.valid and not Invitations.is_expired(invite) + + @classmethod + def is_expired(cls, invite): + time_created = invite.time_created + expiration = datetime.datetime.now(time_created.tzinfo) - datetime.timedelta( + minutes=Invitations.EXPIRATION_LIMIT + ) + return invite.time_created < expiration