commit 67e4835073fa87788281d9c257bd7333dbb3e046
parent 4a072e25d0484dea5d8fe3a618f9fea06391e617
Author: triesap <tyson@radroots.org>
Date: Sun, 24 May 2026 11:38:21 +0000
app: scope reminder schedule keys
Diffstat:
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/crates/shared/sqlite/migrations/0011_reminders_and_recovery.sql b/crates/shared/sqlite/migrations/0011_reminders_and_recovery.sql
@@ -1,5 +1,5 @@
CREATE TABLE reminder_schedules (
- reminder_id TEXT PRIMARY KEY NOT NULL,
+ reminder_id TEXT NOT NULL,
account_id TEXT NOT NULL,
farm_id TEXT NOT NULL,
order_id TEXT,
@@ -25,7 +25,8 @@ CREATE TABLE reminder_schedules (
action_label TEXT,
delivery_state TEXT NOT NULL CHECK (
delivery_state IN ('scheduled', 'presented', 'acknowledged', 'resolved')
- )
+ ),
+ PRIMARY KEY (account_id, farm_id, reminder_id)
);
CREATE TABLE reminder_log_entries (
diff --git a/crates/shared/sqlite/src/reminders.rs b/crates/shared/sqlite/src/reminders.rs
@@ -668,7 +668,12 @@ mod tests {
.replace_reminder_schedule(
"acct_other",
other_farm_id,
- &ReminderFeedProjection::default(),
+ &ReminderFeedProjection {
+ items: vec![ReminderDeadlineProjection {
+ farm_id: other_farm_id,
+ ..reminder.clone()
+ }],
+ },
)
.expect("other schedule should save");
@@ -680,7 +685,9 @@ mod tests {
.expect("other schedule should load");
assert_eq!(loaded.items, vec![reminder]);
- assert!(other.is_empty());
+ assert_eq!(other.items.len(), 1);
+ assert_eq!(other.items[0].reminder_id, loaded.items[0].reminder_id);
+ assert_eq!(other.items[0].farm_id, other_farm_id);
}
#[test]