11# -*- coding: utf-8 -*-
22from django .conf import settings
3+ from django .core .exceptions import ObjectDoesNotExist
4+ from django .db .models import Q
35from djstripe import webhooks
46from djstripe .models import Event
57from djstripe .models import Subscription as DJStripeSubscription
911from loguru import logger
1012from stripe import Customer as StripeCustomer
1113from stripe import Subscription as StripeSubscription
12- from django .db .models import Q
13- from django .core .exceptions import ObjectDoesNotExist
1414
1515from backend .apps .account .models import Account , Subscription
1616from backend .custom .client import send_discord_message as send
17- from backend .custom .environment import get_backend_url , is_dev , is_stg
17+ from backend .custom .environment import get_backend_url , is_dev
1818
1919logger = logger .bind (module = "payment" )
2020
21+
2122def _normalize_plus (email : str ) -> str :
2223 """Normaliza: trim, lower e remove +alias antes do @."""
2324 email = email .strip ().lower ()
@@ -26,6 +27,7 @@ def _normalize_plus(email: str) -> str:
2627 local = local .split ("+" , 1 )[0 ]
2728 return f"{ local } @{ domain } "
2829
30+
2931def get_subscription (event : Event ) -> Subscription :
3032 """Get internal subscription model, mirror of stripe"""
3133 logger .info (f"Procurando inscrição interna do cliente { event .customer .email } " )
@@ -67,16 +69,18 @@ def get_service() -> Resource:
6769
6870def add_user (email : str , account : Account = None , group_key : str = None , role : str = "MEMBER" ):
6971 """Add user to google group"""
70- if is_dev () or is_stg () :
72+ if is_dev ():
7173 if account is None :
7274 try :
7375 normalized_email = _normalize_plus (email )
74- account = Account .objects .get (Q (email__iexact = email ) | Q (email__iexact = normalized_email ))
76+ account = Account .objects .get (
77+ Q (email__iexact = email ) | Q (email__iexact = normalized_email )
78+ )
7579 except Account .DoesNotExist :
7680 account = None
7781
7882 if not (account and account .is_admin ):
79- logger .info (f"Ignorando adição do usuário '{ email } ' em ambiente de dev/staging pois não é admin ." )
83+ logger .info (f"Ignorando adição do usuário '{ email } 'em dev/staging." )
8084 return
8185
8286 if not group_key :
@@ -96,6 +100,7 @@ def add_user(email: str, account: Account = None, group_key: str = None, role: s
96100 logger .error (e )
97101 raise e
98102
103+
99104def remove_user (email : str , group_key : str = None ) -> None :
100105 """Remove user from Google Group"""
101106 if not email or "@" not in email :
@@ -107,10 +112,10 @@ def remove_user(email: str, group_key: str = None) -> None:
107112
108113 try :
109114 user = Account .objects .get (
110- Q (email__iexact = raw_email ) |
111- Q (email__iexact = base_email ) |
112- Q (gcp_email__iexact = raw_email ) |
113- Q (gcp_email__iexact = base_email )
115+ Q (email__iexact = raw_email )
116+ | Q (email__iexact = base_email )
117+ | Q (gcp_email__iexact = raw_email )
118+ | Q (gcp_email__iexact = base_email )
114119 )
115120 except ObjectDoesNotExist :
116121 logger .warning (f"Usuário { raw_email } não encontrado no banco. Prosseguindo com remoção." )
0 commit comments