o
    õÁhæ	  ã                   @   sÞ   d dl Z d dlmZmZmZ d dlmZ d dlmZ ej	ddiej
ddiejddiejdd	iejdd
dœejdddœejdddœedddœejdddœejddddœi
Zdejdeeef fdd„Zdeeef fdd„ZdS )é    N)ÚAnyÚDictÚTuple)Úforms)Ú
EmailFieldÚtypeÚstringÚintegerÚnumberÚbooleanÚdate©r   Úformatú	date-timeÚemailÚuriÚdecimalz^\d+(\.\d+)?$)r   r   ÚpatternÚfieldÚreturnc                 C   sn   t  t| ƒddi¡}t|ƒ}t| dƒr| jr| j|d< t| dƒr(| jr(| j|d< t| dƒr5| jr5| j|d< |S )	Nr   r   Ú
max_lengthÚ	maxLengthÚ
min_lengthÚ	minLengthÚ	help_textÚdescription)ÚFIELD_MAPPINGÚgetr   ÚdictÚhasattrr   r   r   )r   Ú
field_spec© r!   ú`/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/headless/spec/internal/openapikit.pyÚspec_for_field   s   


r#   c                 C   sB  i }i }| j  ¡ D ]Ž\}}|jd ||< |jd |jd dœ}|jtu r,| ddi¡ ng|jtu r9| ddi¡ nZ|jtu rG| ddd	œ¡ nL|jtu rT| dd
i¡ n?|jt	j	u rc| ddd	œ¡ n0|jt	j
u rr| ddd	œ¡ n!|jtu r| ddi¡ n|jtu rŒ| ddi¡ n| ddi¡ |||< q	d|dœ}||fS )NÚexampler   )r   r$   r   r   r	   r
   Úfloatr   r   r   r   ÚarrayÚobject)r   Ú
properties)Ú__dataclass_fields__ÚitemsÚmetadatar   ÚstrÚupdateÚintr%   ÚboolÚdatetimer   Úlistr   )Údcr$   ÚpropsÚfield_idr   Ú
descriptorÚschemar!   r!   r"   Úspec_for_dataclass'   s6   þ







r7   )r0   Útypingr   r   r   Údjangor   Úallauth.account.fieldsr   Ú	CharFieldÚIntegerFieldÚ
FloatFieldÚBooleanFieldÚ	DateFieldÚDateTimeFieldÚURLFieldÚDecimalFieldr   ÚFieldr,   r#   r   r7   r!   r!   r!   r"   Ú<module>   s*    




ýö