feat: added email validatin for otp request
fix: checkout sessison redirect url feat: new enum for subscription ended
This commit is contained in:
parent
532e0a3288
commit
b23fe53213
|
|
@ -120,6 +120,12 @@ class AuthService:
|
||||||
|
|
||||||
async def send_otp(self, email:str):
|
async def send_otp(self, email:str):
|
||||||
try:
|
try:
|
||||||
|
|
||||||
|
# check if email exists
|
||||||
|
user = self.db.query(Users).filter(Users.email == email.lower()).first()
|
||||||
|
if user:
|
||||||
|
raise ValidationException("User with same email already exists")
|
||||||
|
|
||||||
otp = generateOTP()
|
otp = generateOTP()
|
||||||
self.email_service.send_otp_email(email, otp)
|
self.email_service.send_otp_email(email, otp)
|
||||||
|
|
||||||
|
|
@ -132,7 +138,7 @@ class AuthService:
|
||||||
return
|
return
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
self.logger.error(f"Error sending OTP: {e}")
|
self.logger.error(f"Error sending OTP: {e}")
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
self.db.close()
|
self.db.close()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,9 +32,9 @@ class ClinicServices:
|
||||||
clinics_query = self.db.query(Clinics).order_by(Clinics.update_time.desc())
|
clinics_query = self.db.query(Clinics).order_by(Clinics.update_time.desc())
|
||||||
|
|
||||||
if filter_type == "UNREGISTERED":
|
if filter_type == "UNREGISTERED":
|
||||||
clinics_query = clinics_query.filter(not_(Clinics.status == ClinicStatus.ACTIVE),not_(Clinics.status == ClinicStatus.INACTIVE))
|
clinics_query = clinics_query.filter(not_(Clinics.status == ClinicStatus.ACTIVE),not_(Clinics.status == ClinicStatus.INACTIVE), not_(Clinics.status == ClinicStatus.SUBSCRIPTION_ENDED))
|
||||||
elif filter_type == "REGISTERED":
|
elif filter_type == "REGISTERED":
|
||||||
clinics_query = clinics_query.filter(or_(Clinics.status == ClinicStatus.ACTIVE,Clinics.status == ClinicStatus.INACTIVE))
|
clinics_query = clinics_query.filter(or_(Clinics.status == ClinicStatus.ACTIVE,Clinics.status == ClinicStatus.INACTIVE, Clinics.status == ClinicStatus.SUBSCRIPTION_ENDED))
|
||||||
|
|
||||||
if search:
|
if search:
|
||||||
clinics_query = clinics_query.filter(
|
clinics_query = clinics_query.filter(
|
||||||
|
|
@ -52,7 +52,7 @@ class ClinicServices:
|
||||||
count_query = text("""
|
count_query = text("""
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(*) as total,
|
COUNT(*) as total,
|
||||||
COUNT(CASE WHEN status = 'ACTIVE' OR status = 'INACTIVE' OR 'SUBSCRIPTION_ENDED' THEN 1 END) as active,
|
COUNT(CASE WHEN status = 'ACTIVE' OR status = 'INACTIVE' OR status ='SUBSCRIPTION_ENDED' THEN 1 END) as active,
|
||||||
COUNT(CASE WHEN status != 'ACTIVE' AND status != 'INACTIVE' AND status != 'SUBSCRIPTION_ENDED' THEN 1 END) as rejected
|
COUNT(CASE WHEN status != 'ACTIVE' AND status != 'INACTIVE' AND status != 'SUBSCRIPTION_ENDED' THEN 1 END) as rejected
|
||||||
FROM clinics
|
FROM clinics
|
||||||
""")
|
""")
|
||||||
|
|
|
||||||
|
|
@ -171,8 +171,8 @@ class StripeServices:
|
||||||
expand=["payment_intent"],
|
expand=["payment_intent"],
|
||||||
mode="payment",
|
mode="payment",
|
||||||
payment_intent_data={"metadata": {"order_id": "1"}},
|
payment_intent_data={"metadata": {"order_id": "1"}},
|
||||||
success_url="http://54.79.156.66/auth/waiting",
|
success_url=f"{self.redirect_url}auth/waiting",
|
||||||
cancel_url="http://54.79.156.66/auth/waiting",
|
cancel_url=f"{self.redirect_url}auth/waiting",
|
||||||
metadata={"user_id": user_id},
|
metadata={"user_id": user_id},
|
||||||
)
|
)
|
||||||
return checkout_session
|
return checkout_session
|
||||||
|
|
@ -248,8 +248,8 @@ class StripeServices:
|
||||||
'payment_method_types': ['card'],
|
'payment_method_types': ['card'],
|
||||||
'mode': 'subscription',
|
'mode': 'subscription',
|
||||||
'line_items': line_items,
|
'line_items': line_items,
|
||||||
'success_url': self.redirect_url,
|
'success_url': f"{self.redirect_url}auth/waiting",
|
||||||
'cancel_url': self.redirect_url,
|
'cancel_url': f"{self.redirect_url}auth/waiting",
|
||||||
'metadata': metadata,
|
'metadata': metadata,
|
||||||
'subscription_data': {
|
'subscription_data': {
|
||||||
'metadata': metadata
|
'metadata': metadata
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue