Compare commits
2 Commits
d4f5e6a640
...
3cdcfa32ec
Author | SHA1 | Date |
---|---|---|
Franklin | 3cdcfa32ec | |
Franklin | d305f96879 |
|
@ -1,23 +1,34 @@
|
|||
use chrono::{DateTime, Utc};
|
||||
use chrono::{DateTime, Utc, NaiveDateTime};
|
||||
use serde::{Serialize, Deserialize};
|
||||
use uuid::Uuid;
|
||||
|
||||
use super::media::MediaList;
|
||||
use super::{media::MediaList, project_condition::ProjectCondition, project_type::ProjectType, project_state::ProjectState};
|
||||
|
||||
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||
pub struct Project {
|
||||
pub id: Uuid,
|
||||
pub title: Option<String>,
|
||||
pub description: String,
|
||||
|
||||
#[serde(rename = "realtorId")]
|
||||
pub realtor_id: Uuid,
|
||||
pub media: MediaList,
|
||||
|
||||
#[serde(rename = "projectCondition")]
|
||||
pub project_condition: ProjectCondition,
|
||||
#[serde(rename = "projectType")]
|
||||
pub project_type: ProjectType,
|
||||
#[serde(rename = "projectState")]
|
||||
pub project_state: ProjectState,
|
||||
pub country: String,
|
||||
pub city: String,
|
||||
pub district: String,
|
||||
#[serde(rename = "adminTag", skip_serializing_if = "Option::is_none")]
|
||||
pub admin_tag: Option<String>,
|
||||
pub floors: i16,
|
||||
#[serde(rename = "finishDate")]
|
||||
pub finish_date: NaiveDateTime,
|
||||
/// This gives the realtor the option to order the projects/properties. On birth,
|
||||
#[serde(rename = "orderIndex")]
|
||||
pub order_index: i32,
|
||||
|
||||
pub order_index: u16,
|
||||
#[serde(rename = "timeCreated")]
|
||||
pub time_created: DateTime<Utc>,
|
||||
#[serde(rename = "lastUpdated")]
|
||||
|
|
|
@ -2,19 +2,35 @@ use chrono::{DateTime, Utc};
|
|||
use serde::{Serialize, Deserialize};
|
||||
use uuid::Uuid;
|
||||
|
||||
use super::media::MediaList;
|
||||
use super::{media::MediaList, property_type::PropertyType, property_sale_type::PropertySaleType};
|
||||
|
||||
/// A property can belong to a project, or not. It should always belong to a realtor.
|
||||
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord)]
|
||||
#[derive(Serialize, Deserialize, Debug, Default, Clone, PartialEq, PartialOrd)]
|
||||
pub struct Property {
|
||||
pub id: Uuid,
|
||||
|
||||
#[serde(rename = "projectId")]
|
||||
pub project_id: Option<Uuid>,
|
||||
#[serde(rename = "realtorId")]
|
||||
pub realtor_id: Uuid,
|
||||
pub media: MediaList,
|
||||
|
||||
#[serde(rename = "propertyType")]
|
||||
pub property_type: PropertyType,
|
||||
#[serde(rename = "propertySaleType")]
|
||||
pub property_sale_type: PropertySaleType,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub country: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub city: Option<String>,
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub district: Option<String>,
|
||||
#[serde(rename = "priceUsd")]
|
||||
pub price_usd: f64,
|
||||
/// Amount of rooms in unit
|
||||
pub rooms: i16,
|
||||
/// Amount of bathrooms in unit
|
||||
pub bathrooms: f32,
|
||||
/// In meters squared
|
||||
pub area: f32,
|
||||
#[serde(rename = "timeCreated")]
|
||||
pub time_created: DateTime<Utc>,
|
||||
#[serde(rename = "lastUpdated")]
|
||||
|
|
Loading…
Reference in New Issue