Ali2206 commited on
Commit
c1d7bb9
·
verified ·
1 Parent(s): 0344bc2

Update config.py

Browse files
Files changed (1) hide show
  1. config.py +16 -8
config.py CHANGED
@@ -1,10 +1,11 @@
1
- import os
2
  import logging
3
  from fastapi import FastAPI
4
  from txagent.txagent import TxAgent
5
  from db.mongo import get_mongo_client
6
  import asyncio
7
  from pyfcm import FCMNotification
 
 
8
 
9
  # Logging
10
  logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
@@ -38,10 +39,17 @@ patients_collection = db["patients"]
38
  analysis_collection = db["patient_analysis_results"]
39
  alerts_collection = db["clinical_alerts"]
40
  notifications_collection = db["notifications"]
41
- logger.info("📡 Connected to MongoDB synchronously")
 
 
 
 
 
 
 
 
42
 
43
  # FCM settings
44
- FCM_API_KEY = os.getenv("FCM_API_KEY", "your-fcm-server-key")
45
  push_service = FCMNotification(api_key=FCM_API_KEY)
46
 
47
  async def send_push_notification(recipient_email, message):
@@ -50,7 +58,7 @@ async def send_push_notification(recipient_email, message):
50
  user = await users_collection.find_one({"email": recipient_email})
51
  device_token = user.get("device_token") if user and "device_token" in user else None
52
  if not device_token:
53
- logger.warning(f"No device token found for {recipient_email}")
54
  return
55
 
56
  # Send push notification
@@ -58,14 +66,14 @@ async def send_push_notification(recipient_email, message):
58
  registration_id=device_token,
59
  message_title="Risk Alert",
60
  message_body=message,
61
- sound="default" # Optional: Plays a sound on the device
 
62
  )
63
- logger.info(f"Push notification sent to {recipient_email}: {result}")
64
  except Exception as e:
65
- logger.error(f"Failed to send push notification to {recipient_email}: {str(e)}")
66
 
67
  # JWT settings
68
- SECRET_KEY = os.getenv("SECRET_KEY", "your-secret-key")
69
  ALGORITHM = "HS256"
70
 
71
  def setup_app(app: FastAPI):
 
 
1
  import logging
2
  from fastapi import FastAPI
3
  from txagent.txagent import TxAgent
4
  from db.mongo import get_mongo_client
5
  import asyncio
6
  from pyfcm import FCMNotification
7
+ from huggingface_hub import HfApi, get_secret
8
+ from datetime import datetime
9
 
10
  # Logging
11
  logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
 
39
  analysis_collection = db["patient_analysis_results"]
40
  alerts_collection = db["clinical_alerts"]
41
  notifications_collection = db["notifications"]
42
+ logger.info("📡 Connected to MongoDB synchronously at %s", datetime.utcnow().isoformat())
43
+
44
+ # Retrieve secrets from Hugging Face
45
+ FCM_API_KEY = get_secret("FCM_API_KEY")
46
+ SECRET_KEY = get_secret("SECRET_KEY")
47
+
48
+ if not FCM_API_KEY or not SECRET_KEY:
49
+ logger.error("❌ Missing FCM_API_KEY or SECRET_KEY in Hugging Face Secrets")
50
+ raise ValueError("FCM_API_KEY and SECRET_KEY must be set in Hugging Face Secrets")
51
 
52
  # FCM settings
 
53
  push_service = FCMNotification(api_key=FCM_API_KEY)
54
 
55
  async def send_push_notification(recipient_email, message):
 
58
  user = await users_collection.find_one({"email": recipient_email})
59
  device_token = user.get("device_token") if user and "device_token" in user else None
60
  if not device_token:
61
+ logger.warning(f"No device token found for {recipient_email} at {datetime.utcnow().isoformat()}")
62
  return
63
 
64
  # Send push notification
 
66
  registration_id=device_token,
67
  message_title="Risk Alert",
68
  message_body=message,
69
+ sound="default", # Plays a sound on the device
70
+ priority="high"
71
  )
72
+ logger.info(f"Push notification sent to {recipient_email} at {datetime.utcnow().isoformat()}: {result}")
73
  except Exception as e:
74
+ logger.error(f"Failed to send push notification to {recipient_email} at {datetime.utcnow().isoformat()}: {str(e)}")
75
 
76
  # JWT settings
 
77
  ALGORITHM = "HS256"
78
 
79
  def setup_app(app: FastAPI):