o
    bg                     @   sl   d dl mZ d dlmZ d dlmZmZ G dd deZG dd deZG dd	 d	eZG d
d deZ	dS )    )Optional)datetime)	BaseModelFieldc                   @   s   e Zd ZU dZedddddZeed< eddd	d
Zeed< edddd
Z	eed< edddZ
ee ed< eddd	d
Zeed< edddd
Zeed< edddd
Zeed< edddd
Zeed< dZeed< dS )AddressBaseu$   주소 스키마의 기본 클래스.   2   uB   주소 구분을 위한 타이틀 (예: '집', '회사', '기타'))
min_length
max_lengthdescriptiontitle   d   r	   r
   recipient_name      address_line1Nr
   address_line2city   postal_codecountryphoneF
is_default)__name__
__module____qualname____doc__r   r   str__annotations__r   r   r   r   r   r   r   r   r   bool r#   r#    /app/app/schemas/user_address.pyr      s   
 r   c                   @      e Zd ZdZdS )AddressCreateu   주소 생성 요청 스키마N)r   r   r   r   r#   r#   r#   r$   r&      s    r&   c                   @   s   e Zd ZU dZeddddZee ed< eddddZ	ee ed	< edd
ddZ
ee ed< edddZee ed< eddddZee ed< eddddZee ed< eddddZee ed< edd
ddZee ed< dZee ed< dS )AddressUpdateu8   주소 수정 요청 스키마 (모든 필드 선택적)Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r    r!   r   r   r   r   r   r   r   r   r"   r#   r#   r#   r$   r'      s   
 r'   c                   @   s@   e Zd ZU dZeed< eed< eed< eed< G dd dZdS )	AddressResponseu   주소 응답 스키마iduser_id
created_at
updated_atc                   @   r%   )zAddressResponse.ConfigTN)r   r   r   orm_moder#   r#   r#   r$   Config(   s    r.   N)r   r   r   r   intr!   r   r.   r#   r#   r#   r$   r(   !   s   
 r(   N)
typingr   r   pydanticr   r   r   r&   r'   r(   r#   r#   r#   r$   <module>   s    