Working on inserting metars and cleanup
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -56,9 +56,9 @@ impl Airports {
|
||||
Ok(airports)
|
||||
}
|
||||
|
||||
pub fn find(id: i32) -> Result<Self, CustomError> {
|
||||
pub fn find(icao: String) -> Result<Self, CustomError> {
|
||||
let mut conn = db::connection()?;
|
||||
let airport = airports::table.filter(airports::id.eq(id)).first(&mut conn)?;
|
||||
let airport = airports::table.filter(airports::icao.eq(icao)).first(&mut conn)?;
|
||||
Ok(airport)
|
||||
}
|
||||
|
||||
|
||||
@@ -45,9 +45,9 @@ async fn find_all(req: HttpRequest) -> HttpResponse {
|
||||
}
|
||||
}
|
||||
|
||||
#[get("/airports/{id}")]
|
||||
async fn find(id: web::Path<i32>) -> HttpResponse {
|
||||
match Airports::find(id.into_inner()) {
|
||||
#[get("/airports/{icao}")]
|
||||
async fn find(icao: web::Path<String>) -> HttpResponse {
|
||||
match Airports::find(icao.into_inner()) {
|
||||
Ok(a) => HttpResponse::Ok().json(a),
|
||||
Err(err) => {
|
||||
error!("{}", err);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use crate::{error_handler::CustomError, db};
|
||||
use crate::schema::metars;
|
||||
use diesel::prelude::*;
|
||||
use log::warn;
|
||||
use log::{warn, error, debug};
|
||||
use std::io::BufRead;
|
||||
use quick_xml::{Reader, events::{Event, BytesStart}, Writer, de::Deserializer};
|
||||
use serde::{Deserialize, Serialize};
|
||||
@@ -171,11 +171,15 @@ impl Metars {
|
||||
vec![]
|
||||
}
|
||||
};
|
||||
match diesel::insert_into(metars::table).values(&metars).execute(&mut conn) {
|
||||
Ok(rows) => debug!("Inserted {} metar rows", rows),
|
||||
Err(err) => error!("Unable to insert metar data; {}", err)
|
||||
};
|
||||
let mut returned_metars: Vec<Self> = vec![];
|
||||
for metar in &metars {
|
||||
let _ = diesel::insert_into(metars::table)
|
||||
.values(metar)
|
||||
.execute(&mut conn);
|
||||
// let _ = diesel::insert_into(metars::table)
|
||||
// .values(metar)
|
||||
// .execute(&mut conn);
|
||||
returned_metars.push(Self {
|
||||
id: 0,
|
||||
raw_text: metar.raw_text.to_string(),
|
||||
|
||||
Reference in New Issue
Block a user