mod envelope;
use crate::error::Result;
use crate::models::Event;
pub use envelope::{TransportCrypto, ENVELOPE_JSON_KEY};
pub fn seal_event_for_storage(
crypto: &TransportCrypto,
mut event: Event,
) -> Result<(Event, Event)> {
let plain = event.clone();
let (actor_json, payload_json) =
crypto.seal_json_fields(&event.actor_json, &event.payload_json)?;
event.actor_json = actor_json;
event.payload_json = payload_json;
Ok((plain, event))
}
pub fn open_stored_event(crypto: &TransportCrypto, mut event: Event) -> Result<Event> {
let (actor_json, payload_json) =
crypto.open_json_fields(&event.actor_json, &event.payload_json)?;
event.actor_json = actor_json;
event.payload_json = payload_json;
Ok(event)
}