Move errors route into get_reminders route. Add database migration.

This commit is contained in:
jude
2023-09-03 15:01:42 +01:00
parent b6b5e6d2b2
commit ee89cb40c5
15 changed files with 172 additions and 85 deletions

View File

@@ -166,15 +166,21 @@ impl ComponentDataModel {
.await;
}
ComponentDataModel::DelSelector(selector) => {
let selected_id = component.data.values.join(",");
for id in &component.data.values {
match id.parse::<u32>() {
Ok(id) => {
if let Some(reminder) = Reminder::from_id(&data.database, id).await {
reminder.delete(&data.database).await.unwrap();
} else {
warn!("Attempt to delete non-existent reminder");
}
}
sqlx::query!(
"UPDATE reminders SET `status` = 'deleted' WHERE FIND_IN_SET(id, ?)",
selected_id
)
.execute(&data.database)
.await
.unwrap();
Err(e) => {
warn!("Error casting ID to integer: {:?}.", e);
}
}
}
let reminders = Reminder::from_guild(
&ctx,

View File

@@ -304,10 +304,13 @@ WHERE
&self,
db: impl Executor<'_, Database = Database>,
) -> Result<(), sqlx::Error> {
sqlx::query!("UPDATE reminders SET `status` = 'deleted' WHERE uid = ?", self.uid)
.execute(db)
.await
.map(|_| ())
sqlx::query!(
"UPDATE reminders SET `status` = 'deleted', `status_change_time` = NOW() WHERE uid = ?",
self.uid
)
.execute(db)
.await
.map(|_| ())
}
pub fn display_content(&self) -> &str {