feat(realestate-lab): Pydantic 요청 모델 정의

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-06 08:26:01 +09:00
parent 7d20527a17
commit 6b95c1e5a0

View File

@@ -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