o
    Ah                     @   s   d dl mZmZ 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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 )    )	BaseModelField)ObjectId)datetime)OptionalListc                   @   s>  e Zd ZU eed< eed< eed< eed< eed< eed< eed< eed< eed	< eed
< eed< eed< eed< eed< eed< eed< g Zee	e
  ed< g Zee	e  ed< eed< eed< dZee ed< dZee ed< eejdZee ed< dZee ed< eejdZee ed< eejdZee ed< dS )WorkforceBase
account_iduser_id
first_name	last_namemobile_numberemail_idgenderdate_of_birth
license_idnational_idemergency_contactshift_timingaddressblood_groupis_humanworkforce_category_idskillscertificationsworkforce_category_nameskills_nameNtag_namecense_number)default_factory	join_dateactivestatuscreated_datelast_updated)__name__
__module____qualname__str__annotations__r   boolr   r   r   dictr   r   r   r   utcnowr    r"   r#   r$    r-   r-   A/var/www/html/moveengine/app/v1/models/platform/workforcemodel.pyr      s6   
 r   c                   @   s4   e Zd ZU eed< dZee ed< G dd dZdS )	WorkforceidNw_idc                   @   s   e Zd ZdZeeiZdZdS )zWorkforce.ConfigTN)r%   r&   r'   arbitrary_types_allowedr   r(   json_encodersallow_population_by_field_namer-   r-   r-   r.   Config(   s    r5   )	r%   r&   r'   r(   r)   r1   r   intr5   r-   r-   r-   r.   r/   $   s   
 r/   c                   @   sr  e Zd ZU eed< eed< eed< eed< eed< eed< eed< eed< eed	< eed
< eed< 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Zee ed< g Zeee  ed< dZee ed< eed< eed< dZee ed< dZee ed< edddZee ed < edd!dZee ed"< dS )#WorkforceResponseworkforce_idr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Nr#   r$   r"   r   r    is_fleet_assignedr   r1   r   r   r   r   z=0 = free, 1 = busy, 2 = inprogress, 3 = completed, 4 = active)descriptionworkforce_statuszAHuman-readable status (free, busy, inprogress, completed, active)status_label)r%   r&   r'   r(   r)   r   r*   r#   r   r$   r"   r   r    r9   r   r   r+   r1   r6   r   r   r   r;   r<   r-   r-   r-   r.   r7   -   sJ   
 r7   c                   @   "   e Zd ZU eed< ee ed< dS )WorkforceResponseListtotal_count	workforceN)r%   r&   r'   r6   r)   r   r7   r-   r-   r-   r.   r>   T      
 r>   c                   @   s   e Zd ZU ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed	< ee ed
< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< dS )WorkforceUpdater	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r   N)r%   r&   r'   r   r(   r)   r   r*   r-   r-   r-   r.   rB   X   s&   
 rB   c                   @      e Zd ZdS )WorkforceCreateNr%   r&   r'   r-   r-   r-   r.   rD   l       rD   c                   @   rC   )WorkforceInDBNrE   r-   r-   r-   r.   rG   o   rF   rG   c                   @   s   e Zd ZU dZee ed< dS )WorkforceDetailsRequestNr8   )r%   r&   r'   r8   r   r(   r)   r-   r-   r-   r.   rH   r   s   
 rH   c                   @   s   e Zd ZU eed< dS )TagNameResponser   N)r%   r&   r'   r(   r)   r-   r-   r-   r.   rI   u   s   
 rI   c                   @   r=   )TagNameResponseListr?   tagsN)r%   r&   r'   r6   r)   r   rI   r-   r-   r-   r.   rJ   x   rA   rJ   N)pydanticr   r   bsonr   r   typingr   r   r   r/   r7   r>   rB   rD   rG   rH   rI   rJ   r-   r-   r-   r.   <module>   s    	'