CQRS use cases (create/update/delete/get/list/list_by_owner), ownership checks, auto-snapshot on config change. Channel setters added to domain model.
17 lines
481 B
Rust
17 lines
481 B
Rust
use domain::models::Channel;
|
|
use domain::value_objects::UserId;
|
|
use domain::DomainResult;
|
|
|
|
use super::deps::ChannelQueryDeps;
|
|
use super::queries::ListByOwnerQuery;
|
|
|
|
/// List channels belonging to a specific owner.
|
|
pub async fn execute(deps: &ChannelQueryDeps, query: ListByOwnerQuery) -> DomainResult<Vec<Channel>> {
|
|
let owner_id = UserId::from(query.owner_id);
|
|
deps.channel_query.find_by_owner(owner_id).await
|
|
}
|
|
|
|
#[cfg(test)]
|
|
#[path = "tests/list_by_owner.rs"]
|
|
mod tests;
|