use actix_admin::prelude::*; use actix_web::web::{Data, ServiceConfig}; pub fn mount(config: &mut ServiceConfig) { let actix_admin_builder = create_actix_admin_builder(); config .app_data(Data::new(actix_admin_builder.get_actix_admin())) .service(actix_admin_builder.get_scope()); } fn create_actix_admin_builder() -> ActixAdminBuilder { let configuration = ActixAdminConfiguration { enable_auth: false, user_is_logged_in: None, login_link: None, logout_link: None, file_upload_directory: "./file_uploads", navbar_title: "oswilno - admin", }; let mut admin_builder = ActixAdminBuilder::new(configuration); { use oswilno_contract::prelude::Accounts; let view = ActixAdminViewModel::from(Accounts); admin_builder.add_entity::(&view); } { use oswilno_contract::prelude::ParkingSpaces; let view = ActixAdminViewModel::from(ParkingSpaces); admin_builder.add_entity_to_category::(&view, "Parking spaces"); } { use oswilno_contract::prelude::ParkingSpaceRents; let view = ActixAdminViewModel::from(ParkingSpaceRents); admin_builder.add_entity_to_category::(&view, "Parking spaces"); } for scope in admin_builder.scopes.keys() { tracing::trace!("Scope {scope:?}"); } admin_builder }