Skip to main content

EpisodeStore

Trait EpisodeStore 

Source
pub trait EpisodeStore: Send + Sync {
    // Required methods
    fn append(&self, dto: &EpisodeDto) -> Result<EpisodeId, StoreError>;
    fn get(&self, id: &EpisodeId) -> Result<Option<EpisodeDto>, StoreError>;
    fn query(
        &self,
        filter: &EpisodeFilter,
    ) -> Result<Vec<EpisodeDto>, StoreError>;
    fn count(&self, filter: Option<&EpisodeFilter>) -> Result<usize, StoreError>;
    fn list_meta(
        &self,
        filter: Option<&EpisodeFilter>,
    ) -> Result<Vec<EpisodeMeta>, StoreError>;
}
Expand description

Episode の永続化を担う Trait

DTO ベースで永続化を行う。 Domain Entity への変換は Repository 層が担当。

Required Methods§

Source

fn append(&self, dto: &EpisodeDto) -> Result<EpisodeId, StoreError>

EpisodeDto を追加

Source

fn get(&self, id: &EpisodeId) -> Result<Option<EpisodeDto>, StoreError>

ID で DTO を取得

Source

fn query(&self, filter: &EpisodeFilter) -> Result<Vec<EpisodeDto>, StoreError>

フィルタで検索

Source

fn count(&self, filter: Option<&EpisodeFilter>) -> Result<usize, StoreError>

件数を取得

Source

fn list_meta( &self, filter: Option<&EpisodeFilter>, ) -> Result<Vec<EpisodeMeta>, StoreError>

メタ情報のみをリスト(軽量)

Implementors§