o
    ȟ1ij                     @   s   d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
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)	BaseModelmodel_validator
ConfigDict)get_db)CoreValidationError)AgeGroupc                   @   sB   e Zd ZU eed< dZee ed< eed< eed< dZe	ed< dS )AgeGroupBaselabelNdescription	age_startage_endT	is_active)
__name__
__module____qualname__str__annotations__r   r   intr   bool r   r   /app/schema/age_group.pyr	   
   s   
 r	   c                   @   s    e Zd Z	 edddd ZdS )AgeGroupCreateaftermodec                 C   sh   t  '}|ttj| jktjd tj| jk dkr"t	dW d    | S 1 s-w   Y  | S Nr   zAge Group already exists.)
r   queryr   wherer   
deleted_atis_r   countr   selfdbr   r   r   validate_fields   s   

zAgeGroupCreate.validate_fieldsN)r   r   r   r   r%   r   r   r   r   r      s    r   c                   @   s(   e Zd ZU eed< edddd ZdS )AgeGroupUpdateidr   r   c                 C   sr   t  ,}|ttj| jktj| jktjd tj| jk	 dkr't
dW d    | S 1 s2w   Y  | S r   )r   r   r   r   r   r   r   r    r'   r!   r   r"   r   r   r   r%   !   s   


zAgeGroupUpdate.validate_fieldsN)r   r   r   r   r   r   r%   r   r   r   r   r&      s   
 r&   c                   @   s    e Zd ZU eed< eddZdS )AgeGroupResponser'   T)from_attributesN)r   r   r   r   r   r   model_configr   r   r   r   r(   +   s   
 r(   N)typingr   pydanticr   r   r   core.configr   core.security.exceptionsr   modelsr   r	   r   r&   r(   r   r   r   r   <module>   s    