anuradhakoppala commited on
Commit
1927529
·
verified ·
1 Parent(s): 81f0e6e

Update utils/salesforce.py

Browse files
Files changed (1) hide show
  1. utils/salesforce.py +33 -19
utils/salesforce.py CHANGED
@@ -3,6 +3,9 @@ from dotenv import load_dotenv
3
 
4
  load_dotenv()
5
 
 
 
 
6
  try:
7
  from simple_salesforce import Salesforce
8
  sf = Salesforce(
@@ -12,28 +15,39 @@ try:
12
  domain=os.getenv("SALESFORCE_DOMAIN", "login")
13
  )
14
  except Exception as e:
15
- print("⚠️ Salesforce Login Failed. Running in MOCK MODE.")
16
- sf = None
 
17
 
18
  def create_checkin(agent_id, assignment_id, lat, long, timestamp):
19
  if sf:
20
- return sf.CheckIn__c.create({
21
- 'Agent__c': agent_id,
22
- 'Assignment__c': assignment_id,
23
- 'GPS_Lat__c': lat,
24
- 'GPS_Long__c': long,
25
- 'Timestamp__c': timestamp
26
- })['id']
27
- print(f"[MOCK] Creating CheckIn with {agent_id}, {lat}, {long}")
28
- return "mock_checkin_id"
 
 
 
 
 
29
 
30
  def create_anomaly_log(checkin_id, score, gps_match, status, notes):
31
  if sf:
32
- return sf.AnomalyLog__c.create({
33
- 'CheckIn__c': checkin_id,
34
- 'FaceMatchScore__c': score,
35
- 'GPSMatch__c': gps_match,
36
- 'Status__c': status,
37
- 'Notes__c': notes
38
- })
39
- print(f"[MOCK] Logging Anomaly for {checkin_id}: {status} | Score: {score} | GPS: {gps_match}")
 
 
 
 
 
 
3
 
4
  load_dotenv()
5
 
6
+ # Optional: For logging
7
+ import traceback
8
+
9
  try:
10
  from simple_salesforce import Salesforce
11
  sf = Salesforce(
 
15
  domain=os.getenv("SALESFORCE_DOMAIN", "login")
16
  )
17
  except Exception as e:
18
+ print("⚠️ Salesforce Login Failed:", str(e))
19
+ traceback.print_exc()
20
+ sf = None # Mock mode
21
 
22
  def create_checkin(agent_id, assignment_id, lat, long, timestamp):
23
  if sf:
24
+ try:
25
+ return sf.CheckIn__c.create({
26
+ 'Agent__c': agent_id,
27
+ 'Assignment__c': assignment_id,
28
+ 'GPS_Lat__c': lat,
29
+ 'GPS_Long__c': long,
30
+ 'Timestamp__c': timestamp
31
+ })['id']
32
+ except Exception as e:
33
+ print("⚠️ Failed to create CheckIn:", e)
34
+ return "mock_checkin_error"
35
+ else:
36
+ print(f"[MOCK] Creating CheckIn: {agent_id}, {lat}, {long}")
37
+ return "mock_checkin_id"
38
 
39
  def create_anomaly_log(checkin_id, score, gps_match, status, notes):
40
  if sf:
41
+ try:
42
+ return sf.AnomalyLog__c.create({
43
+ 'CheckIn__c': checkin_id,
44
+ 'FaceMatchScore__c': score,
45
+ 'GPSMatch__c': gps_match,
46
+ 'Status__c': status,
47
+ 'Notes__c': notes
48
+ })
49
+ except Exception as e:
50
+ print("⚠️ Failed to create AnomalyLog:", e)
51
+ return None
52
+ else:
53
+ print(f"[MOCK] Logging Anomaly: {status} | Score: {score:.2f} | GPS: {gps_match}")