diff --git a/realestate-lab/app/models.py b/realestate-lab/app/models.py new file mode 100644 index 0000000..686ac00 --- /dev/null +++ b/realestate-lab/app/models.py @@ -0,0 +1,82 @@ +from typing import Optional, List +from pydantic import BaseModel + + +class AnnouncementCreate(BaseModel): + house_nm: str + house_secd: str = "01" + house_dtl_secd: Optional[str] = None + rent_secd: Optional[str] = None + region_code: Optional[str] = None + region_name: Optional[str] = None + address: Optional[str] = None + total_units: Optional[int] = None + rcrit_date: Optional[str] = None + receipt_start: Optional[str] = None + receipt_end: Optional[str] = None + spsply_start: Optional[str] = None + spsply_end: Optional[str] = None + gnrl_rank1_start: Optional[str] = None + gnrl_rank1_end: Optional[str] = None + winner_date: Optional[str] = None + contract_start: Optional[str] = None + contract_end: Optional[str] = None + homepage_url: Optional[str] = None + pblanc_url: Optional[str] = None + constructor: Optional[str] = None + developer: Optional[str] = None + move_in_month: Optional[str] = None + is_speculative_area: Optional[str] = None + is_price_cap: Optional[str] = None + contact: Optional[str] = None + + +class AnnouncementUpdate(BaseModel): + house_nm: Optional[str] = None + house_secd: Optional[str] = None + house_dtl_secd: Optional[str] = None + rent_secd: Optional[str] = None + region_code: Optional[str] = None + region_name: Optional[str] = None + address: Optional[str] = None + total_units: Optional[int] = None + rcrit_date: Optional[str] = None + receipt_start: Optional[str] = None + receipt_end: Optional[str] = None + spsply_start: Optional[str] = None + spsply_end: Optional[str] = None + gnrl_rank1_start: Optional[str] = None + gnrl_rank1_end: Optional[str] = None + winner_date: Optional[str] = None + contract_start: Optional[str] = None + contract_end: Optional[str] = None + homepage_url: Optional[str] = None + pblanc_url: Optional[str] = None + constructor: Optional[str] = None + developer: Optional[str] = None + move_in_month: Optional[str] = None + is_speculative_area: Optional[str] = None + is_price_cap: Optional[str] = None + contact: Optional[str] = None + + +class ProfileUpdate(BaseModel): + name: Optional[str] = None + age: Optional[int] = None + is_homeless: Optional[bool] = None + is_householder: Optional[bool] = None + subscription_months: Optional[int] = None + subscription_amount: Optional[int] = None + family_members: Optional[int] = None + has_dependents: Optional[bool] = None + children_count: Optional[int] = None + is_newlywed: Optional[bool] = None + marriage_months: Optional[int] = None + has_newborn: Optional[bool] = None + is_first_home: Optional[bool] = None + income_level: Optional[str] = None + preferred_regions: Optional[List[str]] = None + preferred_types: Optional[List[str]] = None + min_area: Optional[float] = None + max_area: Optional[float] = None + max_price: Optional[int] = None