feat: wire remaining handlers — tag, quota, register asset, sidecar, processing

14 new endpoints: POST tags, GET quota, POST register, 6 sidecar, 7 processing.
DTOs, AppState groups, LogSidecarWriter, full bootstrap wiring.
This commit is contained in:
2026-05-31 11:04:22 +02:00
parent 19be8c2adf
commit a6b86c23d8
14 changed files with 865 additions and 30 deletions

View File

@@ -1,14 +1,29 @@
use std::sync::Arc;
use application::{
catalog::{GetAssetHandler, GetTimelineHandler, ReadAssetFileHandler, UpdateMetadataHandler},
catalog::{
GetAssetHandler, GetTimelineHandler, ReadAssetFileHandler, RegisterAssetHandler,
UpdateMetadataHandler,
},
identity::{GetProfileHandler, LoginUserHandler, RegisterUserHandler},
organization::{CreateAlbumHandler, GetAlbumHandler, ManageAlbumEntriesHandler},
organization::{
CreateAlbumHandler, GetAlbumHandler, ManageAlbumEntriesHandler, TagAssetHandler,
},
processing::{
CompleteJobHandler, ConfigurePipelineHandler, EnqueueJobHandler, FailJobHandler,
ManagePluginHandler, ReportBatchProgressHandler, StartJobHandler,
},
sharing::{
AccessSharedResourceHandler, GenerateShareLinkHandler, RevokeShareHandler,
ShareResourceHandler,
},
storage::{IngestAssetHandler, RegisterLibraryPathHandler, RegisterVolumeHandler},
sidecar::{
DetectExternalChangesHandler, ExportSidecarHandler, FullExportHandler, FullImportHandler,
ImportSidecarHandler, ResolveConflictHandler,
},
storage::{
CheckQuotaHandler, IngestAssetHandler, RegisterLibraryPathHandler, RegisterVolumeHandler,
},
};
use domain::ports::TokenIssuer;
@@ -26,6 +41,7 @@ pub struct CatalogHandlers {
pub get_timeline: Arc<GetTimelineHandler>,
pub update_metadata: Arc<UpdateMetadataHandler>,
pub read_asset_file: Arc<ReadAssetFileHandler>,
pub register_asset: Arc<RegisterAssetHandler>,
}
#[derive(Clone)]
@@ -33,12 +49,14 @@ pub struct OrganizationHandlers {
pub create_album: Arc<CreateAlbumHandler>,
pub get_album: Arc<GetAlbumHandler>,
pub manage_album_entries: Arc<ManageAlbumEntriesHandler>,
pub tag_asset: Arc<TagAssetHandler>,
}
#[derive(Clone)]
pub struct StorageHandlers {
pub register_volume: Arc<RegisterVolumeHandler>,
pub register_library_path: Arc<RegisterLibraryPathHandler>,
pub check_quota: Arc<CheckQuotaHandler>,
}
#[derive(Clone)]
@@ -49,6 +67,27 @@ pub struct SharingHandlers {
pub access: Arc<AccessSharedResourceHandler>,
}
#[derive(Clone)]
pub struct SidecarHandlers {
pub export: Arc<ExportSidecarHandler>,
pub detect_changes: Arc<DetectExternalChangesHandler>,
pub import: Arc<ImportSidecarHandler>,
pub resolve: Arc<ResolveConflictHandler>,
pub full_export: Arc<FullExportHandler>,
pub full_import: Arc<FullImportHandler>,
}
#[derive(Clone)]
pub struct ProcessingHandlers {
pub enqueue_job: Arc<EnqueueJobHandler>,
pub start_job: Arc<StartJobHandler>,
pub complete_job: Arc<CompleteJobHandler>,
pub fail_job: Arc<FailJobHandler>,
pub batch_progress: Arc<ReportBatchProgressHandler>,
pub manage_plugin: Arc<ManagePluginHandler>,
pub configure_pipeline: Arc<ConfigurePipelineHandler>,
}
#[derive(Clone)]
pub struct AppState {
pub identity: IdentityHandlers,
@@ -56,5 +95,7 @@ pub struct AppState {
pub organization: OrganizationHandlers,
pub storage: StorageHandlers,
pub sharing: SharingHandlers,
pub sidecar: SidecarHandlers,
pub processing: ProcessingHandlers,
pub token_issuer: Arc<dyn TokenIssuer>,
}