refactor(domain): Row structs for from_persistence, ID newtypes, kill clippy.toml

- delete clippy.toml (too-many-arguments-threshold=20 hack)
- ChannelRow/MediaItemRow/LibraryItemRow structs for from_persistence
- SnapshotId/ActivityEventId/PlaybackRecordId newtypes
- DomainError variants use ChannelId/UserId instead of Uuid
- ActivityEvent.channel_id: Option<ChannelId> not Option<Uuid>
- InMemory repos key on newtype IDs
- AlgorithmicParams struct for schedule engine
- update all adapters/application/presentation callers
This commit is contained in:
2026-07-12 05:00:49 +02:00
parent 031cba5cfb
commit c0e685a4ee
65 changed files with 684 additions and 695 deletions

View File

@@ -1,17 +1,15 @@
use uuid::Uuid;
use domain::models::ScheduleConfig;
use domain::value_objects::RecyclePolicy;
use domain::value_objects::{ChannelId, RecyclePolicy, UserId};
pub struct CreateChannelCommand {
pub owner_id: Uuid,
pub owner_id: UserId,
pub name: String,
pub timezone: String,
}
pub struct UpdateChannelCommand {
pub channel_id: Uuid,
pub owner_id: Uuid,
pub channel_id: ChannelId,
pub owner_id: UserId,
pub name: Option<String>,
pub description: Option<Option<String>>,
pub timezone: Option<String>,
@@ -21,6 +19,6 @@ pub struct UpdateChannelCommand {
}
pub struct DeleteChannelCommand {
pub channel_id: Uuid,
pub owner_id: Uuid,
pub channel_id: ChannelId,
pub owner_id: UserId,
}