event_store 0.1.1

Crate to deal with every aspect of an eventstore
Documentation
use crate::{
    event::RecordedEvent, event::UnsavedEvent, stream::Stream, EventStoreError, ExpectedVersion,
};
use actix::Message;
use std::borrow::Cow;
use uuid::Uuid;

#[derive(Message)]
#[rtype(result = "Result<Cow<'static, Stream>, EventStoreError>")]
pub struct StreamInfo {
    pub correlation_id: Uuid,
    pub stream_uuid: String,
}

#[derive(Message)]
#[rtype(result = "Result<Cow<'static, Stream>, EventStoreError>")]
pub struct CreateStream {
    pub(crate) correlation_id: Uuid,
    pub(crate) stream_uuid: String,
}

#[derive(Message)]
#[rtype(result = "Result<Vec<Uuid>, EventStoreError>")]
pub struct Append {
    pub(crate) correlation_id: Uuid,
    pub(crate) stream: String,
    pub(crate) expected_version: ExpectedVersion,
    pub(crate) events: Vec<UnsavedEvent>,
}

#[derive(Message)]
#[rtype(result = "Result<Vec<RecordedEvent>, EventStoreError>")]
pub struct Read {
    pub(crate) correlation_id: Uuid,
    pub(crate) stream: String,
    pub(crate) version: usize,
    pub(crate) limit: usize,
}

#[derive(Copy, Clone)]
enum Test {
    Ok,
}