From fc9d439cf95fd44d3896a15263c755fd1f9deb08 Mon Sep 17 00:00:00 2001 From: mxr612 Date: Mon, 16 Jun 2025 09:08:21 +0800 Subject: [PATCH] feat: add created_at timestamp to ScaleResult model and response handling - Introduced created_at field in the ScaleResult model to track response creation time. - Updated result handling logic in app.py to populate created_at with the current UTC time when saving responses. --- app.py | 4 +++- database.py | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index 5b9997b..aa882bf 100644 --- a/app.py +++ b/app.py @@ -11,6 +11,7 @@ from xml.etree import ElementTree as ET from sqlalchemy.orm import Session from database import get_db, ScaleResult import geoip2.database +from datetime import datetime, UTC app = FastAPI() templates = Jinja2Templates(directory="templates") @@ -133,7 +134,8 @@ async def result(request: Request, scale_id: str, db: Session = Depends(get_db)) location=location, raw_response=dict(form_data), sum_response=responses, - avg_response=average + avg_response=average, + created_at=datetime.now(UTC) ) db.add(db_response) db.commit() diff --git a/database.py b/database.py index e193681..0c59bf8 100644 --- a/database.py +++ b/database.py @@ -1,7 +1,6 @@ from sqlalchemy import create_engine, Column, Integer, String, Float, DateTime, ForeignKey, JSON from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, relationship -from datetime import datetime, UTC import json SQLALCHEMY_DATABASE_URL = "sqlite:///./public/psychoscales.db" @@ -25,7 +24,7 @@ class ScaleResult(Base): raw_response = Column(JSON) sum_response = Column(JSON) avg_response = Column(JSON) - created_at = Column(DateTime, default=datetime.now(UTC)) + created_at = Column(DateTime) # Create tables Base.metadata.create_all(bind=engine)