This commit is contained in:
HotSwapp
2025-08-18 20:20:04 -05:00
parent 89b2bc0aa2
commit bac8cc4bd5
114 changed files with 30258 additions and 1341 deletions

View File

@@ -1,7 +1,7 @@
"""
Base model with common fields
"""
from sqlalchemy import Column, DateTime, String
from sqlalchemy import Column, DateTime, String, event
from sqlalchemy.sql import func
from app.database.base import Base
@@ -14,4 +14,41 @@ class TimestampMixin:
class BaseModel(Base, TimestampMixin):
"""Base model class"""
__abstract__ = True
__abstract__ = True
# Event listeners for adaptive cache integration
@event.listens_for(BaseModel, 'after_update', propagate=True)
def record_update(mapper, connection, target):
"""Record data updates for adaptive cache TTL calculation"""
try:
from app.services.adaptive_cache import record_data_update
table_name = target.__tablename__
record_data_update(table_name)
except Exception:
# Don't fail database operations if cache tracking fails
pass
@event.listens_for(BaseModel, 'after_insert', propagate=True)
def record_insert(mapper, connection, target):
"""Record data inserts for adaptive cache TTL calculation"""
try:
from app.services.adaptive_cache import record_data_update
table_name = target.__tablename__
record_data_update(table_name)
except Exception:
# Don't fail database operations if cache tracking fails
pass
@event.listens_for(BaseModel, 'after_delete', propagate=True)
def record_delete(mapper, connection, target):
"""Record data deletions for adaptive cache TTL calculation"""
try:
from app.services.adaptive_cache import record_data_update
table_name = target.__tablename__
record_data_update(table_name)
except Exception:
# Don't fail database operations if cache tracking fails
pass