radars and vehicles

This commit is contained in:
LinlyBoi
2022-12-25 13:10:38 +02:00
parent 298b35af4c
commit f9dfb4bf64
11 changed files with 133 additions and 25 deletions

View File

@@ -0,0 +1,41 @@
use common::CommonVehicle;
use diesel::prelude::*;
use diesel::PgConnection;
use crate::models::Vehicle;
pub fn get_vehicle(connection: &mut PgConnection, vehicle_id: i32) -> CommonVehicle {
use crate::schema::vehicles::dsl::*;
let vehicle = &mut vehicles
.filter(plate_num.eq(vehicle_id))
.limit(1)
.load::<Vehicle>(connection)
.expect("no vehicles :(")[0];
return CommonVehicle {
model: vehicle.model.clone(),
color: vehicle.color.clone(),
chasse_num: vehicle.chasse_num,
plate_num: vehicle.plate_num.clone(),
vehicle_type: vehicle.vehicle_type.clone(),
category: vehicle.category.clone(),
owner: vehicle.owner,
};
}
pub fn insert_vehicle(connection: &mut PgConnection, vehicle: CommonVehicle) -> bool {
use crate::schema::vehicles::dsl::*;
//convert CommonVehicle to Vehicle
let vehicle = Vehicle {
model: vehicle.model,
color: vehicle.color,
chasse_num: vehicle.chasse_num,
plate_num: vehicle.plate_num,
vehicle_type: vehicle.vehicle_type,
category: vehicle.category,
owner: vehicle.owner,
};
diesel::insert_into(vehicles)
.values(&vehicle)
.execute(connection)
.is_ok()
}