Files
k-photos/crates/domain/src/entities/mod.rs

75 lines
2.0 KiB
Rust

// Identity & Access (Tasks 3-4)
pub mod permission;
pub mod role;
mod user;
mod group;
pub use permission::{Permission, PermissionAction, ResourceType};
pub use role::Role;
pub use user::User;
pub use group::Group;
// Storage & Sources (Task 6)
mod storage_volume;
mod library_path;
mod ingest_session;
mod quota;
pub use storage_volume::StorageVolume;
pub use library_path::{LibraryPath, OwnershipPolicy};
pub use ingest_session::{IngestSession, IngestStatus};
pub use quota::{QuotaDefinition, QuotaRule, TimePeriod, UsageLedgerEntry, UsageType};
// Media Catalog (Task 8)
mod asset;
mod asset_metadata;
mod asset_stack;
mod derivative_asset;
mod duplicate;
pub use asset::{Asset, AssetType, SourceReference};
pub use asset_metadata::{AssetMetadata, MetadataSource};
pub use asset_stack::{AssetStack, AssetStackMember, StackMemberRole, StackType};
pub use derivative_asset::{DerivativeAsset, DerivativeProfile, GenerationStatus};
pub use duplicate::{DetectionMethod, DuplicateCandidate, DuplicateGroup, DuplicateStatus};
// Organization (Task 10)
mod album;
mod tag;
mod collection;
pub use album::{Album, AlbumEntry};
pub use tag::{AssetTag, Tag, TagSource};
pub use collection::Collection;
// Sharing (Task 11)
mod share_scope;
mod share_target;
mod share_link;
mod invite_code;
mod visibility_filter;
pub use share_scope::{ScopeType, ShareScope, ShareableType};
pub use share_target::{ShareTarget, TargetType};
pub use share_link::{LinkAccessLevel, ShareLink};
pub use invite_code::InviteCode;
pub use visibility_filter::VisibilityFilter;
// Sidecar Sync (Task 12)
mod sidecar_record;
mod sidecar_config;
pub use sidecar_record::{SidecarRecord, SyncStatus};
pub use sidecar_config::{ConflictPolicy, SidecarConfig, SyncMode};
// Processing (Task 13)
mod job;
mod job_batch;
mod plugin;
mod processing_pipeline;
pub use job::{Job, JobStatus, JobType};
pub use job_batch::{BatchStatus, JobBatch};
pub use plugin::{Plugin, PluginType};
pub use processing_pipeline::{PipelineStep, ProcessingPipeline};