From f84b20269a7e7ff77d31021abf674c6fb09adb2b Mon Sep 17 00:00:00 2001 From: Bryan Van Deusen Date: Wed, 18 Mar 2026 23:30:35 -0400 Subject: [PATCH] feat: add superseded column to Download model --- backend/app/models/download.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/backend/app/models/download.py b/backend/app/models/download.py index ac52854..3b328ea 100644 --- a/backend/app/models/download.py +++ b/backend/app/models/download.py @@ -2,7 +2,7 @@ from datetime import datetime from typing import Optional -from sqlalchemy import String, Integer, Text, ForeignKey, BigInteger +from sqlalchemy import String, Integer, Text, ForeignKey, BigInteger, Boolean from sqlalchemy.dialects.postgresql import JSONB from sqlalchemy.orm import Mapped, mapped_column, relationship @@ -55,6 +55,9 @@ class Download(Base, TimestampMixin): file_count: Mapped[int] = mapped_column(Integer, default=0) total_size: Mapped[Optional[int]] = mapped_column(BigInteger, nullable=True) + # Superseded: True if a later successful download has run for this source + superseded: Mapped[bool] = mapped_column(Boolean, default=False, nullable=False, server_default="false") + # Timing started_at: Mapped[Optional[datetime]] = mapped_column(nullable=True) completed_at: Mapped[Optional[datetime]] = mapped_column(nullable=True) @@ -82,6 +85,7 @@ class Download(Base, TimestampMixin): "total_size": self.total_size, "started_at": format_datetime(self.started_at), "completed_at": format_datetime(self.completed_at), + "superseded": self.superseded, "metadata": self.metadata_, "created_at": format_datetime(self.created_at), }