reminder.rs 656 B

1234567891011121314151617181920212223
  1. use collab_entity::reminder::Reminder;
  2. use serde::{Deserialize, Serialize};
  3. use serde_json::json;
  4. #[derive(Debug, Clone, Serialize, Deserialize)]
  5. pub enum DocumentReminderAction {
  6. Add { reminder: DocumentReminder },
  7. Remove { reminder_id: String },
  8. Update { reminder: DocumentReminder },
  9. }
  10. #[derive(Debug, Clone, Serialize, Deserialize)]
  11. pub struct DocumentReminder {
  12. document_id: String, // defines the necessary fields for a reminder
  13. }
  14. impl TryFrom<Reminder> for DocumentReminder {
  15. type Error = serde_json::Error;
  16. fn try_from(value: Reminder) -> Result<Self, Self::Error> {
  17. serde_json::from_value(json!(value.meta.into_inner()))
  18. }
  19. }