Skip to content

Commit 348bfd5

Browse files
authored
Merge pull request #885 from basedosdados/feat/stripe_cancel_immediately_sub
feat: adicionar mutação para deletar assinatura Stripe imediatamente
2 parents 6b3bd3f + f5f2a23 commit 348bfd5

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

backend/apps/account_payment/graphql.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,28 @@ def mutate(cls, root, info, subscription_id):
358358
return cls(errors=[str(e)])
359359

360360

361+
class StripeSubscriptionDeleteImmediatelyMutation(Mutation):
362+
"""Delete stripe subscription with immediate effect"""
363+
364+
subscription = Field(StripeSubscriptionNode)
365+
errors = List(String)
366+
367+
class Arguments:
368+
subscription_id = ID(required=True)
369+
370+
@classmethod
371+
@login_required
372+
def mutate(cls, root, info, subscription_id):
373+
try:
374+
subscription = Subscription.objects.get(id=subscription_id)
375+
stripe_subscription = subscription.subscription
376+
stripe_subscription.cancel(at_period_end=False)
377+
return None
378+
except Exception as e:
379+
logger.error(e)
380+
return cls(errors=[str(e)])
381+
382+
361383
class StripeSubscriptionCustomerCreateMutation(Mutation):
362384
"""Add account to subscription"""
363385

@@ -553,6 +575,7 @@ class Mutation(ObjectType):
553575
update_stripe_customer = StripeCustomerUpdateMutation.Field()
554576
create_stripe_subscription = StripeSubscriptionCreateMutation.Field()
555577
delete_stripe_subscription = StripeSubscriptionDeleteMutation.Field()
578+
delete_stripe_subscription_immediately = StripeSubscriptionDeleteImmediatelyMutation.Field()
556579
create_stripe_customer_subscription = StripeSubscriptionCustomerCreateMutation.Field()
557580
update_stripe_customer_subscription = StripeSubscriptionCustomerDeleteMutation.Field()
558581
delete_stripe_customer_all_members = StripeSubscriptionCustomerAllMembersDeleteMutation.Field()

0 commit comments

Comments
 (0)