Implement vehicle validation before match

This commit is contained in:
NG (Graham) committed 2026-02-28 10:51:12 -05:00
1 parent 5d4123026d
commit 3d2b7078e4
27 files changed
+468 -54

No files matched your search

+9
View File
@@ -4,6 +4,7 @@ mod cli;
mod data;
mod events;
mod operations;
mod vehicle_validators;
use oj_polariton_auth::Handshake;
use tokio::net;
@@ -23,6 +24,7 @@ pub struct InitConfig {
pub users: std::sync::Arc<oj_rc_core::persist::user::UserImpl>,
pub factory: std::sync::Arc<oj_rc_core::factory::Factory>,
pub parsers: oj_rc_core::cubes::CubeParsers,
pub vehicle_validators: vehicle_validators::InitedVehicleValidators,
}
#[tokio::main]
@@ -35,11 +37,18 @@ async fn main() -> std::io::Result<()> {
let users = std::sync::Arc::new(oj_rc_core::persist::user::UserImpl::load(&args.data, &cubes).await.expect("Bad user data"));
let factory = std::sync::Arc::new(<oj_rc_core::persist::config::ConfigImpl as oj_rc_core::ConfigProvider<()>>::factory(&cubes, &|| users.factory_impl()).await.expect("Bad vehicle factory (CRF) config"));
let parsers = oj_rc_core::cubes::CubeParsers::new(&cubes);
let vehicle_validator_plugins_path = std::path::PathBuf::from(&args.data).join("plugins/vehicle_validation");
let vehicle_validators = vehicle_validators::validators_from_conf(
&<oj_rc_core::persist::config::ConfigImpl as oj_rc_core::ConfigProvider<()>>::vehicle_validation(&cubes),
&parsers,
vehicle_validator_plugins_path,
);
let init_ctx = std::sync::Arc::new(InitConfig {
cubes,
users,
factory,
parsers,
vehicle_validators
});
let server = std::sync::Arc::new(polariton_server::Server::new(operations::handler(&init_ctx), polariton_server::events::EventsHandler::new()));