Implement the video adapter to retrieve the root folder content.

This commit is contained in:
Florian THIERRY
2026-07-14 21:35:55 +02:00
parent fc7eeb1d57
commit beb0134dfc
11 changed files with 90 additions and 29 deletions
@@ -8,6 +8,7 @@ use std::io::{Error, ErrorKind};
use std::sync::{Arc, Mutex};
use lumiere_application::configuration::service::ConfigurationService;
use lumiere_application::user::service::UserService;
use lumiere_application::video::service::VideoService;
use lumiere_infrastructure::common::database_connection::DatabaseConnection;
use lumiere_infrastructure::common::database_initialisation::initialise_database_tables;
use lumiere_infrastructure::configuration::adapter::ConfigurationSqliteAdapter;
@@ -16,11 +17,13 @@ use lumiere_infrastructure::user::adapter::UserSqliteAdapter;
use lumiere_infrastructure::user::diesel_adapter::UserDieselAdapter;
use lumiere_infrastructure::user::diesel_repository::UserDieselRepository;
use lumiere_infrastructure::user::repository::UserSqliteRepository;
use lumiere_infrastructure::video::adapter::VideoAdapter;
pub struct ApplicationContext {
pub database_connection: Arc<Mutex<Connection>>,
pub configuration_service: ConfigurationService,
pub user_service: UserService,
pub video_service: VideoService,
}
impl ApplicationContext {
@@ -56,11 +59,15 @@ impl ApplicationContext {
// let user_repository = UserSqliteRepository::new(arc_mutex_connection.clone());
// let user_adapter = Box::new(UserSqliteAdapter::new(user_repository.clone()));
let user_service = UserService::new(configuration_service.clone(), user_adapter.clone());
let video_adapter = Box::new(VideoAdapter::new());
let video_service = VideoService::new(video_adapter.clone());
Self {
database_connection: arc_mutex_connection.clone(),
configuration_service,
user_service,
video_service,
}
}
+1 -1
View File
@@ -12,7 +12,6 @@ use std::io::{BufReader, Error};
use std::path::Path;
use std::sync::Arc;
use lumiere_exposition::init;
use lumiere_exposition::video::video_format_content_type_mapper::map_to_content_type;
use lumiere_infrastructure::video::video_format_detector::get_content_type;
use tokio_cron_scheduler::{Job, JobScheduler};
@@ -35,6 +34,7 @@ async fn main() -> std::io::Result<()> {
let server = HttpServer::new(
move || App::new().configure(init)
.app_data(web::Data::new(Arc::new(application_context.user_service.clone())))
.app_data(web::Data::new(Arc::new(application_context.video_service.clone())))
)
.bind("0.0.0.0:19000")
// .bind_rustls_0_23(("0.0.0.0", 19000), tls_config)