From 041f7ac171ce4fcd8c112f510bcac43687ec7b61 Mon Sep 17 00:00:00 2001 From: benya Date: Sun, 8 Mar 2026 13:20:51 +0300 Subject: [PATCH] feat(messages): limit message edit window to 7 days --- app/messages/service.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/messages/service.py b/app/messages/service.py index add62d2..d0be81d 100644 --- a/app/messages/service.py +++ b/app/messages/service.py @@ -1,4 +1,5 @@ import json +from datetime import datetime, timedelta, timezone from fastapi import HTTPException, status from sqlalchemy.exc import IntegrityError @@ -189,6 +190,15 @@ async def update_message( await ensure_chat_membership(db, chat_id=message.chat_id, user_id=user_id) if message.sender_id != user_id: raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="You can edit only your own messages") + created_at = message.created_at + if created_at.tzinfo is None: + created_at = created_at.replace(tzinfo=timezone.utc) + edit_deadline = created_at + timedelta(days=7) + if datetime.now(timezone.utc) > edit_deadline: + raise HTTPException( + status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, + detail="Message can only be edited within 7 days", + ) message.text = payload.text await db.commit() await db.refresh(message)