Scheduler: Refactor database utilities and
scheduler logic
This commit is contained in:
25
scheduler/db_utils.py
Normal file
25
scheduler/db_utils.py
Normal file
@@ -0,0 +1,25 @@
|
||||
# scheduler/db_utils.py
|
||||
from models import Event
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from datetime import datetime
|
||||
import os
|
||||
import sys
|
||||
sys.path.append('/workspace/server')
|
||||
|
||||
# DB-URL aus Umgebungsvariable oder Fallback
|
||||
DB_CONN = os.environ.get("DB_CONN", "mysql+pymysql://user:password@db/dbname")
|
||||
engine = create_engine(DB_CONN)
|
||||
Session = sessionmaker(bind=engine)
|
||||
|
||||
|
||||
def get_active_events(start: datetime, end: datetime, group_id: int = None):
|
||||
session = Session()
|
||||
query = session.query(Event).filter(Event.is_active == True)
|
||||
if start and end:
|
||||
query = query.filter(Event.start < end, Event.end > start)
|
||||
if group_id:
|
||||
query = query.filter(Event.group_id == group_id)
|
||||
events = query.all()
|
||||
session.close()
|
||||
return events
|
||||
Reference in New Issue
Block a user