o
    zh�j­  ã                   @   sD   d dl m Z  d dlmZmZmZ G dd„ deƒZG dd„ deƒZdS )é    )Údatetime)Ú	BaseModelÚFieldÚfield_validatorc                   @   sX   e Zd ZU eddd�Zeed< eddddd�Zeed	< edƒe	d
edefdd„ƒƒZ
dS )ÚTenantCreate.zADomain name of the host site (e.g. example.com or localhost:8000))ÚdescriptionÚdomainé   éd   z#Display name for the website/tenant)Ú
min_lengthÚ
max_lengthr   ÚnameÚvÚreturnc                 C   sX   |  ¡  ¡ }| d¡r|dd … }n| d¡r|dd … }| d¡d }|s*tdƒ‚|S )Nzhttp://é   zhttps://é   ú/r   zDomain cannot be empty)ÚstripÚlowerÚ
startswithÚsplitÚ
ValueError)Úclsr   r   © r   ú2/web/html/dev/chatbot/backend/app/models/tenant.pyÚclean_domain   s   

zTenantCreate.clean_domainN)Ú__name__Ú
__module__Ú__qualname__r   r   ÚstrÚ__annotations__r   r   Úclassmethodr   r   r   r   r   r      s   
 r   c                   @   s.   e Zd ZU eed< eed< eed< eed< dS )ÚTenantResponseÚsiteIdr   r   Ú	createdAtN)r   r   r   r   r    r   r   r   r   r   r"      s
   
 r"   N)r   Úpydanticr   r   r   r   r"   r   r   r   r   Ú<module>   s    