From 9d3279caf43e99959941f37504654863ec1b7eb0 Mon Sep 17 00:00:00 2001 From: Aman Agrawal Date: Thu, 24 Apr 2025 13:28:42 +0530 Subject: [PATCH] models: Add request_timestamp field to ScheduledMessage table. This just records the time when the user created the request to schedule a message or set a reminder. This would be unused but is future-proofing against a world where we decide to edit the strings or UI to show when you asked for the thing. --- zerver/lib/export.py | 2 +- .../0698_scheduledmessage_request_timestamp.py | 18 ++++++++++++++++++ zerver/models/scheduled_jobs.py | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 zerver/migrations/0698_scheduledmessage_request_timestamp.py diff --git a/zerver/lib/export.py b/zerver/lib/export.py index 2abd884e2a..e3b7ece721 100644 --- a/zerver/lib/export.py +++ b/zerver/lib/export.py @@ -339,7 +339,7 @@ DATE_FIELDS: dict[TableName, list[Field]] = { "date_deleted", ], "zerver_savedsnippet": ["date_created"], - "zerver_scheduledmessage": ["scheduled_timestamp"], + "zerver_scheduledmessage": ["scheduled_timestamp", "request_timestamp"], "zerver_stream": ["date_created"], "zerver_namedusergroup": ["date_created"], "zerver_useractivityinterval": ["start", "end"], diff --git a/zerver/migrations/0698_scheduledmessage_request_timestamp.py b/zerver/migrations/0698_scheduledmessage_request_timestamp.py new file mode 100644 index 0000000000..cea481296e --- /dev/null +++ b/zerver/migrations/0698_scheduledmessage_request_timestamp.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.8 on 2025-04-24 05:47 + +import django.utils.timezone +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ("zerver", "0697_empty_topic_name_for_dms_from_third_party_imports"), + ] + + operations = [ + migrations.AddField( + model_name="scheduledmessage", + name="request_timestamp", + field=models.DateTimeField(default=django.utils.timezone.now), + ), + ] diff --git a/zerver/models/scheduled_jobs.py b/zerver/models/scheduled_jobs.py index dc90d82aca..801d3cb371 100644 --- a/zerver/models/scheduled_jobs.py +++ b/zerver/models/scheduled_jobs.py @@ -152,6 +152,7 @@ class ScheduledMessage(models.Model): delivered = models.BooleanField(default=False) delivered_message = models.ForeignKey(Message, null=True, on_delete=CASCADE) has_attachment = models.BooleanField(default=False, db_index=True) + request_timestamp = models.DateTimeField(default=timezone_now) # Metadata for messages that failed to send when their scheduled # moment arrived.