Rust cleanup (separate files, idiomatic rust, etc)
This commit is contained in:
45
ebay_storage/rust/src/item.rs
Normal file
45
ebay_storage/rust/src/item.rs
Normal file
@ -0,0 +1,45 @@
|
||||
// src/item.rs
|
||||
use chrono::{DateTime, Utc};
|
||||
use serde::Serialize;
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct EbayItem {
|
||||
pub title: String,
|
||||
#[serde(rename = "itemId")]
|
||||
pub item_id: String,
|
||||
#[serde(rename = "dateFound")]
|
||||
pub date_found: DateTime<Utc>,
|
||||
#[serde(rename = "currentBidPrice")]
|
||||
pub current_bid_price: Option<f64>,
|
||||
#[serde(rename = "buyItNowPrice", skip_serializing_if = "Option::is_none")]
|
||||
pub buy_it_now_price: Option<f64>,
|
||||
#[serde(rename = "hasBestOffer")]
|
||||
pub has_best_offer: bool,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub image_url: Option<String>,
|
||||
pub parsed: ParsedItemData,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug)]
|
||||
pub struct ParsedItemData {
|
||||
#[serde(rename = "itemCount")]
|
||||
pub item_count: i32,
|
||||
#[serde(rename = "sizePerItemTB")]
|
||||
pub size_per_item_tb: Option<f64>,
|
||||
#[serde(rename = "totalTB")]
|
||||
pub total_tb: Option<f64>,
|
||||
#[serde(rename = "costPerTB")]
|
||||
pub cost_per_tb: Option<f64>,
|
||||
#[serde(rename = "needed_description_check")]
|
||||
pub needed_description_check: bool,
|
||||
#[serde(rename = "parser_engine")]
|
||||
pub parser_engine: i32,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct SizeQuantityInfo {
|
||||
pub total_tb: f64,
|
||||
pub quantity: i32,
|
||||
pub individual_size_tb: f64,
|
||||
pub needed_description_check: bool,
|
||||
}
|
Reference in New Issue
Block a user