oswilno/crates/oswilno-admin/src/lib.rs

44 lines
1.4 KiB
Rust
Raw Normal View History

2023-07-26 11:16:29 +02:00
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);
2023-07-31 12:16:29 +02:00
{
use oswilno_contract::prelude::Accounts;
let view = ActixAdminViewModel::from(Accounts);
admin_builder.add_entity::<Accounts>(&view);
}
2023-07-27 17:36:30 +02:00
{
use oswilno_contract::prelude::ParkingSpaces;
let view = ActixAdminViewModel::from(ParkingSpaces);
admin_builder.add_entity_to_category::<ParkingSpaces>(&view, "Parking spaces");
}
{
use oswilno_contract::prelude::ParkingSpaceRents;
let view = ActixAdminViewModel::from(ParkingSpaceRents);
admin_builder.add_entity_to_category::<ParkingSpaceRents>(&view, "Parking spaces");
}
2023-07-31 12:16:29 +02:00
for scope in admin_builder.scopes.keys() {
2023-08-06 22:14:03 +02:00
tracing::trace!("Scope {scope:?}");
2023-07-31 12:16:29 +02:00
}
2023-07-26 11:16:29 +02:00
admin_builder
}