diff --git a/slopserver/alembic/versions/b26c87d1f838_report_table_timestamp.py b/slopserver/alembic/versions/b26c87d1f838_report_table_timestamp.py new file mode 100644 index 0000000..0c574a6 --- /dev/null +++ b/slopserver/alembic/versions/b26c87d1f838_report_table_timestamp.py @@ -0,0 +1,33 @@ +"""report table timestamp + +Revision ID: b26c87d1f838 +Revises: 2eee353294c6 +Create Date: 2025-10-26 15:30:51.268150 + +""" +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa +import sqlmodel.sql.sqltypes + + +# revision identifiers, used by Alembic. +revision: str = 'b26c87d1f838' +down_revision: Union[str, Sequence[str], None] = '2eee353294c6' +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + """Upgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.add_column('report', sa.Column('timestamp', sa.DateTime(), nullable=True)) + # ### end Alembic commands ### + + +def downgrade() -> None: + """Downgrade schema.""" + # ### commands auto generated by Alembic - please adjust! ### + op.drop_column('report', 'timestamp') + # ### end Alembic commands ### diff --git a/slopserver/models.py b/slopserver/models.py index 63b4a91..19b3ec7 100644 --- a/slopserver/models.py +++ b/slopserver/models.py @@ -2,6 +2,8 @@ from typing import Annotated from sqlmodel import Field, SQLModel, create_engine, Relationship from pydantic import AfterValidator, Base64Str, BaseModel, EmailStr, Json, SecretStr +from datetime import datetime + from altcha import Payload as AltchaPayload, verify_solution from urllib.parse import urlparse, ParseResult @@ -46,6 +48,7 @@ class User(SQLModel, table=True): class Report(SQLModel, table=True): path_id: int | None = Field(default=None, primary_key=True, foreign_key="path.id") user_id: int | None = Field(default=None, primary_key=True, foreign_key="user.id") + timestamp: datetime | None = Field(default=datetime.now()) ################################################ # API Models