From 87d8f522a6e199fcd33228f3a308d72aadc26855 Mon Sep 17 00:00:00 2001 From: Orion Date: Fri, 5 Jun 2026 16:18:17 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20=E8=A1=A5=E5=85=85=E5=8E=86?= =?UTF-8?q?=E5=8F=B2=E6=96=87=E4=BB=B6=E8=BF=87=E6=9C=9F=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/admin/views.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/admin/views.py b/apps/admin/views.py index 5f01b70..cbf3ed6 100644 --- a/apps/admin/views.py +++ b/apps/admin/views.py @@ -299,6 +299,13 @@ async def analytics(start: str = "", end: str = ""): def iso(value): return value.isoformat() if value else "" + def current_file_expired(file_item) -> bool: + if not file_item: + return False + if file_item.expired_at and file_item.expired_at < now: + return True + return file_item.expired_count == 0 + def history_row(code: str, data: dict) -> dict: file_item = file_map.get(code) current_name = "" @@ -320,6 +327,7 @@ async def analytics(start: str = "", end: str = ""): "upload_count": data.get("uploads") or 0, "upload_traffic": str(data.get("uploadTraffic") or 0), "current": bool(file_item), + "expired": current_file_expired(file_item), "deleted": bool(data.get("deleted")) and not bool(file_item), "created_at": iso(uploaded_at), "uploaded_at": iso(uploaded_at),