habulaj commited on
Commit
fb19d38
·
verified ·
1 Parent(s): 39e10b6

Update routes/subscription.py

Browse files
Files changed (1) hide show
  1. routes/subscription.py +38 -10
routes/subscription.py CHANGED
@@ -507,7 +507,35 @@ 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 subscriptions found for this user."}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
511
 
512
  # 🔹 Verifica se existe uma assinatura ativa para o estilista
513
  stylist_found = False
@@ -564,19 +592,19 @@ def check_subscription(
564
  "expiration_date": expiration_date
565
  }
566
 
567
- # 🔹 Caso não tenha encontrado assinatura ativa para o estilista, desativa todas as assinaturas no banco de dados
568
  if not stylist_found:
569
- logger.info(f"No active subscription found for stylist {data.stylist_id}. Deactivating all subscriptions for this user.")
570
-
571
- # 🔹 Buscar todas as assinaturas do cliente no banco de dados
572
  response_subscriptions = requests.get(
573
- f"{SUPABASE_URL}/rest/v1/Subscriptions?customer_id=eq.{user_id}",
574
  headers=SUPABASE_HEADERS
575
  )
576
  if response_subscriptions.status_code == 200:
577
  subscriptions_data = response_subscriptions.json()
578
  for sub in subscriptions_data:
579
- # 🔹 Atualiza para "active = false" para todas as assinaturas do cliente no banco
580
  update_data = {
581
  "active": False
582
  }
@@ -587,11 +615,11 @@ def check_subscription(
587
  json=update_data
588
  )
589
  if update_response.status_code == 200:
590
- logger.info(f"✅ Subscription {sub['id']} deactivated successfully for user {user_id}.")
591
  else:
592
- logger.error(f"❌ Failed to deactivate subscription {sub['id']} for user {user_id}.")
593
  else:
594
- logger.error(f"❌ Failed to fetch subscriptions from Supabase for user {user_id}.")
595
 
596
  return {"status": "inactive", "message": "No active subscription found for stylist."}
597
 
 
507
  logger.info(f"Stripe response data: {subscriptions}")
508
 
509
  if not subscriptions or "data" not in subscriptions or not subscriptions["data"]:
510
+ # Se não houver assinaturas para o cliente, desativa as assinaturas associadas ao estilista no banco de dados
511
+ logger.info(f"No active subscription found for user {user_id}. Deactivating all subscriptions for stylist {data.stylist_id}.")
512
+
513
+ # 🔹 Buscar todas as assinaturas do estilista no banco de dados para este cliente
514
+ response_subscriptions = requests.get(
515
+ f"{SUPABASE_URL}/rest/v1/Subscriptions?customer_id=eq.{user_id}&stylist_id=eq.{data.stylist_id}",
516
+ headers=SUPABASE_HEADERS
517
+ )
518
+ if response_subscriptions.status_code == 200:
519
+ subscriptions_data = response_subscriptions.json()
520
+ for sub in subscriptions_data:
521
+ # 🔹 Atualiza para "active = false" para todas as assinaturas do estilista no banco
522
+ update_data = {
523
+ "active": False
524
+ }
525
+ subscription_url = f"{SUPABASE_URL}/rest/v1/Subscriptions?id=eq.{sub['id']}"
526
+ update_response = requests.patch(
527
+ subscription_url,
528
+ headers=SUPABASE_HEADERS,
529
+ json=update_data
530
+ )
531
+ if update_response.status_code == 200:
532
+ logger.info(f"✅ Subscription {sub['id']} deactivated successfully for stylist {data.stylist_id}.")
533
+ else:
534
+ logger.error(f"❌ Failed to deactivate subscription {sub['id']} for stylist {data.stylist_id}.")
535
+ else:
536
+ logger.error(f"❌ Failed to fetch subscriptions from Supabase for stylist {data.stylist_id} and user {user_id}.")
537
+
538
+ return {"status": "inactive", "message": "No active subscription found for stylist."}
539
 
540
  # 🔹 Verifica se existe uma assinatura ativa para o estilista
541
  stylist_found = False
 
592
  "expiration_date": expiration_date
593
  }
594
 
595
+ # 🔹 Caso não tenha encontrado assinatura ativa para o estilista
596
  if not stylist_found:
597
+ logger.info(f"No active subscription found for stylist {data.stylist_id}. Deactivating all subscriptions for this stylist.")
598
+
599
+ # 🔹 Buscar todas as assinaturas do estilista no banco de dados
600
  response_subscriptions = requests.get(
601
+ f"{SUPABASE_URL}/rest/v1/Subscriptions?stylist_id=eq.{data.stylist_id}",
602
  headers=SUPABASE_HEADERS
603
  )
604
  if response_subscriptions.status_code == 200:
605
  subscriptions_data = response_subscriptions.json()
606
  for sub in subscriptions_data:
607
+ # 🔹 Atualiza para "active = false" para todas as assinaturas do estilista no banco
608
  update_data = {
609
  "active": False
610
  }
 
615
  json=update_data
616
  )
617
  if update_response.status_code == 200:
618
+ logger.info(f"✅ Subscription {sub['id']} deactivated successfully for stylist {data.stylist_id}.")
619
  else:
620
+ logger.error(f"❌ Failed to deactivate subscription {sub['id']} for stylist {data.stylist_id}.")
621
  else:
622
+ logger.error(f"❌ Failed to fetch subscriptions from Supabase for stylist {data.stylist_id}.")
623
 
624
  return {"status": "inactive", "message": "No active subscription found for stylist."}
625