Update routes/subscription.py
Browse files- routes/subscription.py +6 -4
routes/subscription.py
CHANGED
@@ -498,7 +498,7 @@ def check_subscription(
|
|
498 |
if not user_stripe_id:
|
499 |
raise HTTPException(status_code=404, detail="Stripe customer not found for user")
|
500 |
|
501 |
-
# 🔹 Buscar todas as assinaturas ativas
|
502 |
subscriptions = stripe.Subscription.list(
|
503 |
customer=user_stripe_id,
|
504 |
expand=["data.items"]
|
@@ -507,8 +507,9 @@ def check_subscription(
|
|
507 |
logger.info(f"Stripe response data: {subscriptions}")
|
508 |
|
509 |
if not subscriptions or "data" not in subscriptions or not subscriptions["data"]:
|
510 |
-
return {"status": "inactive", "message": "No
|
511 |
|
|
|
512 |
for subscription in subscriptions["data"]:
|
513 |
if subscription["metadata"].get("stylist_id") == data.stylist_id:
|
514 |
subscription_id = subscription["id"]
|
@@ -529,7 +530,7 @@ def check_subscription(
|
|
529 |
if current_period_end else None
|
530 |
)
|
531 |
|
532 |
-
# 🔹 Atualiza o banco de dados Supabase com os dados
|
533 |
subscription_data = {
|
534 |
"stylist_id": data.stylist_id,
|
535 |
"customer_id": user_id,
|
@@ -551,6 +552,7 @@ def check_subscription(
|
|
551 |
else:
|
552 |
logger.error(f"❌ Failed to update subscription: {response_subscription.status_code} - {response_subscription.text}")
|
553 |
|
|
|
554 |
return {
|
555 |
"status": status,
|
556 |
"subscription_id": subscription_id,
|
@@ -560,7 +562,7 @@ def check_subscription(
|
|
560 |
"expiration_date": expiration_date
|
561 |
}
|
562 |
|
563 |
-
return {"status": "inactive", "message": "No
|
564 |
|
565 |
except stripe.error.StripeError as e:
|
566 |
logger.error(f"Stripe error: {str(e)}")
|
|
|
498 |
if not user_stripe_id:
|
499 |
raise HTTPException(status_code=404, detail="Stripe customer not found for user")
|
500 |
|
501 |
+
# 🔹 Buscar todas as assinaturas do cliente (ativas, canceladas, expiradas, etc.)
|
502 |
subscriptions = stripe.Subscription.list(
|
503 |
customer=user_stripe_id,
|
504 |
expand=["data.items"]
|
|
|
507 |
logger.info(f"Stripe response data: {subscriptions}")
|
508 |
|
509 |
if not subscriptions or "data" not in subscriptions or not subscriptions["data"]:
|
510 |
+
return {"status": "inactive", "message": "No subscriptions found for this user."}
|
511 |
|
512 |
+
# 🔹 Sincronização de assinaturas para o estilista
|
513 |
for subscription in subscriptions["data"]:
|
514 |
if subscription["metadata"].get("stylist_id") == data.stylist_id:
|
515 |
subscription_id = subscription["id"]
|
|
|
530 |
if current_period_end else None
|
531 |
)
|
532 |
|
533 |
+
# 🔹 Atualiza o banco de dados Supabase com os dados da assinatura
|
534 |
subscription_data = {
|
535 |
"stylist_id": data.stylist_id,
|
536 |
"customer_id": user_id,
|
|
|
552 |
else:
|
553 |
logger.error(f"❌ Failed to update subscription: {response_subscription.status_code} - {response_subscription.text}")
|
554 |
|
555 |
+
# Retorna informações sobre a assinatura sincronizada
|
556 |
return {
|
557 |
"status": status,
|
558 |
"subscription_id": subscription_id,
|
|
|
562 |
"expiration_date": expiration_date
|
563 |
}
|
564 |
|
565 |
+
return {"status": "inactive", "message": "No subscription found for this stylist."}
|
566 |
|
567 |
except stripe.error.StripeError as e:
|
568 |
logger.error(f"Stripe error: {str(e)}")
|