Spaces:
Sleeping
Sleeping
Update utils/database_handler.py
Browse files- utils/database_handler.py +17 -3
utils/database_handler.py
CHANGED
|
@@ -29,8 +29,10 @@ def get_salesforce_access_token():
|
|
| 29 |
|
| 30 |
# Save user to Salesforce
|
| 31 |
def save_user(name, phone, email, password):
|
|
|
|
| 32 |
access_token, instance_url = get_salesforce_access_token()
|
| 33 |
if not access_token:
|
|
|
|
| 34 |
return False
|
| 35 |
|
| 36 |
# Check if email already exists
|
|
@@ -40,23 +42,31 @@ def save_user(name, phone, email, password):
|
|
| 40 |
}
|
| 41 |
query = f"SELECT Email__c FROM User_Login__c WHERE Email__c = '{email}'"
|
| 42 |
query_response = requests.get(f"{instance_url}/services/data/v53.0/query", headers=headers, params={"q": query})
|
|
|
|
|
|
|
| 43 |
if query_response.status_code == 200 and query_response.json()["records"]:
|
|
|
|
| 44 |
return False # User already exists
|
| 45 |
|
| 46 |
-
# Save new user
|
|
|
|
| 47 |
data = {
|
| 48 |
"Name__c": name,
|
| 49 |
"Phone__c": phone,
|
| 50 |
"Email__c": email,
|
| 51 |
-
"Password__c":
|
| 52 |
}
|
| 53 |
response = requests.post(f"{instance_url}/services/data/v53.0/sobjects/User_Login__c", headers=headers, json=data)
|
|
|
|
| 54 |
return response.status_code == 201
|
| 55 |
|
|
|
|
| 56 |
# Check user credentials
|
| 57 |
def check_credentials(email, password):
|
|
|
|
| 58 |
access_token, instance_url = get_salesforce_access_token()
|
| 59 |
if not access_token:
|
|
|
|
| 60 |
return False
|
| 61 |
|
| 62 |
headers = {
|
|
@@ -65,7 +75,11 @@ def check_credentials(email, password):
|
|
| 65 |
}
|
| 66 |
query = f"SELECT Password__c FROM User_Login__c WHERE Email__c = '{email}'"
|
| 67 |
query_response = requests.get(f"{instance_url}/services/data/v53.0/query", headers=headers, params={"q": query})
|
|
|
|
|
|
|
| 68 |
if query_response.status_code == 200 and query_response.json()["records"]:
|
| 69 |
stored_password = query_response.json()["records"][0]["Password__c"]
|
| 70 |
-
return
|
|
|
|
| 71 |
return False
|
|
|
|
|
|
| 29 |
|
| 30 |
# Save user to Salesforce
|
| 31 |
def save_user(name, phone, email, password):
|
| 32 |
+
"""Save user details to Salesforce."""
|
| 33 |
access_token, instance_url = get_salesforce_access_token()
|
| 34 |
if not access_token:
|
| 35 |
+
print("Failed to authenticate with Salesforce.")
|
| 36 |
return False
|
| 37 |
|
| 38 |
# Check if email already exists
|
|
|
|
| 42 |
}
|
| 43 |
query = f"SELECT Email__c FROM User_Login__c WHERE Email__c = '{email}'"
|
| 44 |
query_response = requests.get(f"{instance_url}/services/data/v53.0/query", headers=headers, params={"q": query})
|
| 45 |
+
print("Query Response:", query_response.json()) # Log the query response
|
| 46 |
+
|
| 47 |
if query_response.status_code == 200 and query_response.json()["records"]:
|
| 48 |
+
print("Email already exists in Salesforce.")
|
| 49 |
return False # User already exists
|
| 50 |
|
| 51 |
+
# Save new user with hashed password
|
| 52 |
+
hashed_password = hashpw(password.encode(), gensalt()).decode()
|
| 53 |
data = {
|
| 54 |
"Name__c": name,
|
| 55 |
"Phone__c": phone,
|
| 56 |
"Email__c": email,
|
| 57 |
+
"Password__c": hashed_password,
|
| 58 |
}
|
| 59 |
response = requests.post(f"{instance_url}/services/data/v53.0/sobjects/User_Login__c", headers=headers, json=data)
|
| 60 |
+
print("Save Response:", response.status_code, response.json()) # Log the save response
|
| 61 |
return response.status_code == 201
|
| 62 |
|
| 63 |
+
|
| 64 |
# Check user credentials
|
| 65 |
def check_credentials(email, password):
|
| 66 |
+
"""Check user credentials during login."""
|
| 67 |
access_token, instance_url = get_salesforce_access_token()
|
| 68 |
if not access_token:
|
| 69 |
+
print("Failed to authenticate with Salesforce.")
|
| 70 |
return False
|
| 71 |
|
| 72 |
headers = {
|
|
|
|
| 75 |
}
|
| 76 |
query = f"SELECT Password__c FROM User_Login__c WHERE Email__c = '{email}'"
|
| 77 |
query_response = requests.get(f"{instance_url}/services/data/v53.0/query", headers=headers, params={"q": query})
|
| 78 |
+
print("Query Response:", query_response.json()) # Log the query response
|
| 79 |
+
|
| 80 |
if query_response.status_code == 200 and query_response.json()["records"]:
|
| 81 |
stored_password = query_response.json()["records"][0]["Password__c"]
|
| 82 |
+
return checkpw(password.encode(), stored_password.encode())
|
| 83 |
+
print("No matching email found in Salesforce.")
|
| 84 |
return False
|
| 85 |
+
|