minor refactoring
parent
ff16ce4477
commit
6ee52127e8
|
@ -256,34 +256,11 @@ class AccountEndpoint(SeleneEndpoint):
|
|||
membership_repository = MembershipRepository(db)
|
||||
active_membership = membership_repository.get_active_membership_by_account_id(self.account.id)
|
||||
if active_membership:
|
||||
active_membership.end_date = datetime.utcnow()
|
||||
active_stripe_subscription = stripe.Subscription.retrieve(active_membership.payment_id)
|
||||
active_stripe_subscription.delete()
|
||||
membership_repository.finish_membership(active_membership)
|
||||
add_membership = UpdateMembership(self.request_data.get('support'))
|
||||
add_membership.validate()
|
||||
support = self.request_data['support']
|
||||
membership_type = support['membership']
|
||||
membership = self._get_plan(membership_type)
|
||||
stripe_id, start_date, subscription_stripe_id = self._create_stripe_subscription(
|
||||
active_membership.payment_account_id,
|
||||
None,
|
||||
self.account.email_address,
|
||||
membership.stripe_plan
|
||||
)
|
||||
self.cancel_membership(active_membership, membership_repository)
|
||||
membership_type, start_date, stripe_id, subscription_stripe_id = self.update_membership(
|
||||
active_membership)
|
||||
else:
|
||||
add_membership = AddMembership(self.request_data.get('support'))
|
||||
add_membership.validate()
|
||||
support = self.request_data['support']
|
||||
membership_type = support['membership']
|
||||
token = support['paymentToken']
|
||||
membership = self._get_plan(membership_type)
|
||||
stripe_id, start_date, subscription_stripe_id = self._create_stripe_subscription(
|
||||
None,
|
||||
token,
|
||||
self.account.email_address,
|
||||
membership.stripe_plan
|
||||
)
|
||||
membership_type, start_date, stripe_id, subscription_stripe_id = self.create_membership()
|
||||
|
||||
new_membership = AccountMembership(
|
||||
start_date=start_date,
|
||||
|
@ -293,3 +270,38 @@ class AccountEndpoint(SeleneEndpoint):
|
|||
type=membership_type
|
||||
)
|
||||
AccountRepository(db).add_membership(self.account.id, new_membership)
|
||||
|
||||
def create_membership(self):
|
||||
add_membership = AddMembership(self.request_data.get('support'))
|
||||
add_membership.validate()
|
||||
support = self.request_data['support']
|
||||
membership_type = support['membership']
|
||||
token = support['paymentToken']
|
||||
membership = self._get_plan(membership_type)
|
||||
stripe_id, start_date, subscription_stripe_id = self._create_stripe_subscription(
|
||||
None,
|
||||
token,
|
||||
self.account.email_address,
|
||||
membership.stripe_plan
|
||||
)
|
||||
return membership_type, start_date, stripe_id, subscription_stripe_id
|
||||
|
||||
def update_membership(self, active_membership):
|
||||
add_membership = UpdateMembership(self.request_data.get('support'))
|
||||
add_membership.validate()
|
||||
support = self.request_data['support']
|
||||
membership_type = support['membership']
|
||||
membership = self._get_plan(membership_type)
|
||||
stripe_id, start_date, subscription_stripe_id = self._create_stripe_subscription(
|
||||
active_membership.payment_account_id,
|
||||
None,
|
||||
self.account.email_address,
|
||||
membership.stripe_plan
|
||||
)
|
||||
return membership_type, start_date, stripe_id, subscription_stripe_id
|
||||
|
||||
def cancel_membership(self, active_membership, membership_repository):
|
||||
active_membership.end_date = datetime.utcnow()
|
||||
active_stripe_subscription = stripe.Subscription.retrieve(active_membership.payment_id)
|
||||
active_stripe_subscription.delete()
|
||||
membership_repository.finish_membership(active_membership)
|
||||
|
|
Loading…
Reference in New Issue