o
    ȟ1i                     @   s   d dl m Z  d dlmZ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
G dd de
ZG dd deZdS )    )datetime)	BaseModel
ConfigDict)AnyOptionalc                   @   s   e Zd ZU eed< dZee ed< dZeed< dZ	e
ed< eed< eed	< eed
< eed< dZee ed< dZee ed< dZee ed< dZee ed< dZee ed< dS )DiscountCouponBasecodeNdescriptionTstatus   uses_per_customer
start_dateend_datediscount_typediscount_valuemax_discountmin_cart_valueF	rule_typeis_applicable_for_courseis_applicable_for_event)__name__
__module____qualname__str__annotations__r	   r   r
   boolr   intr   floatr   r   r   r   r    r   r   /app/schema/discount_coupon.pyr      s   
 r   c                   @      e Zd ZdS )DiscountCouponCreateNr   r   r   r   r   r   r   r!          r!   c                   @   r    )DiscountCouponUpdateNr"   r   r   r   r   r$      r#   r$   c                   @   s0   e Zd ZU eed< eed< eed< eddZdS )DiscountCouponid
created_at
updated_atT)from_attributesN)r   r   r   r   r   r   r   model_configr   r   r   r   r%      s
   
 r%   c                   @   r    )DiscountCouponResponseNr"   r   r   r   r   r+   !   r#   r+   c                   @   sF   e Zd ZU eed< dZee ed< dZee	 ed< dZ
ee ed< dS ) DiscountCouponValidationResponsevalidNmessagediscount_amountcoupon)r   r   r   r   r   r.   r   r   r/   r   r0   r   r   r   r   r   r,   $   s
   
 r,   N)r   pydanticr   r   typingr   r   r   r!   r$   r%   r+   r,   r   r   r   r   <module>   s    