mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
71f80be8f7
* feat: save user metadata * chore: update client api * refactor: separate test methods * chore: save updated at * chore: clippy * chore: fix test
36 lines
1.0 KiB
Rust
36 lines
1.0 KiB
Rust
use flowy_derive::ProtoBuf_Enum;
|
|
use flowy_notification::NotificationBuilder;
|
|
|
|
const DOCUMENT_OBSERVABLE_SOURCE: &str = "Document";
|
|
|
|
#[derive(ProtoBuf_Enum, Debug, Default)]
|
|
pub enum DocumentNotification {
|
|
#[default]
|
|
Unknown = 0,
|
|
|
|
DidReceiveUpdate = 1,
|
|
DidUpdateDocumentSnapshotState = 2,
|
|
DidUpdateDocumentSyncState = 3,
|
|
}
|
|
|
|
impl std::convert::From<DocumentNotification> for i32 {
|
|
fn from(notification: DocumentNotification) -> Self {
|
|
notification as i32
|
|
}
|
|
}
|
|
impl std::convert::From<i32> for DocumentNotification {
|
|
fn from(notification: i32) -> Self {
|
|
match notification {
|
|
1 => DocumentNotification::DidReceiveUpdate,
|
|
2 => DocumentNotification::DidUpdateDocumentSnapshotState,
|
|
3 => DocumentNotification::DidUpdateDocumentSyncState,
|
|
_ => DocumentNotification::Unknown,
|
|
}
|
|
}
|
|
}
|
|
|
|
#[tracing::instrument(level = "trace")]
|
|
pub(crate) fn send_notification(id: &str, ty: DocumentNotification) -> NotificationBuilder {
|
|
NotificationBuilder::new(id, ty, DOCUMENT_OBSERVABLE_SOURCE)
|
|
}
|