32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from db import SessionLocal
|
|
from models import Preferences
|
|
|
|
class PreferenceService:
|
|
def get_preferences(self, user_id: str) -> dict:
|
|
db = SessionLocal()
|
|
prefs = db.query(Preferences).filter_by(user_id=user_id).first()
|
|
if not prefs:
|
|
prefs = Preferences(user_id=user_id)
|
|
db.add(prefs)
|
|
db.commit()
|
|
db.close()
|
|
return {
|
|
"preferred_mode": prefs.preferred_mode,
|
|
"auto_search": prefs.auto_search,
|
|
"auto_monitoring": prefs.auto_monitoring,
|
|
"preferred_export": prefs.preferred_export,
|
|
"likes_suggestions": prefs.likes_suggestions,
|
|
"likes_quick_actions": prefs.likes_quick_actions,
|
|
}
|
|
|
|
def update_preferences(self, user_id: str, data: dict):
|
|
db = SessionLocal()
|
|
prefs = db.query(Preferences).filter_by(user_id=user_id).first()
|
|
if not prefs:
|
|
prefs = Preferences(user_id=user_id)
|
|
db.add(prefs)
|
|
for k, v in data.items():
|
|
setattr(prefs, k, v)
|
|
db.commit()
|
|
db.close()
|