sos_core/events/
read.rs

1//! Folder read operations.
2
3use super::EventKind;
4use crate::SecretId;
5use serde::{Deserialize, Serialize};
6
7/// Read operations.
8#[derive(Default, Debug, Serialize, Deserialize, Clone, Eq, PartialEq)]
9pub enum ReadEvent {
10    /// Default variant, should never be used.
11    ///
12    /// We need a variant so we can implement the Default
13    /// trait which is required for decoding.
14    #[default]
15    Noop,
16
17    /// Event used to indicate that a vault was read.
18    ReadVault,
19
20    /// Event used to indicate that a secret has been read.
21    ReadSecret(SecretId),
22}
23
24impl ReadEvent {
25    /// Get the event kind for this event.
26    pub fn event_kind(&self) -> EventKind {
27        match self {
28            ReadEvent::Noop => EventKind::Noop,
29            ReadEvent::ReadVault => EventKind::ReadVault,
30            ReadEvent::ReadSecret(_) => EventKind::ReadSecret,
31        }
32    }
33}