o
    O*iX                     @   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< 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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addons_namecense_number)default_factory	join_dateactivestatuscreated_datelast_updatedTis_fleet_assigned)__name__
__module____qualname__str__annotations__r   boolr   r   r   intr   r   r   r   r   utcnowr!   r#   r$   r%   r&    r/   r/   A/var/www/html/moveengine/app/v1/models/platform/workforcemodel.pyr      s:   
 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/   r0   Config+   s    r7   )	r'   r(   r)   r*   r+   r3   r   r-   r7   r/   r/   r/   r0   r1   '   s   
 r1   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!   r&   r   r3   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!   r&   r   r   r-   r3   r   r   r   r;   r<   r/   r/   r/   r0   r8   0   sJ   
 r8   c                   @   "   e Zd ZU eed< ee ed< dS )WorkforceResponseListtotal_count	workforceN)r'   r(   r)   r-   r+   r   r8   r/   r/   r/   r0   r>   X      
 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/   r0   rB   \   s&   
 rB   c                   @      e Zd ZdS )WorkforceCreateNr'   r(   r)   r/   r/   r/   r0   rD   p       rD   c                   @   rC   )WorkforceInDBNrE   r/   r/   r/   r0   rG   s   rF   rG   c                   @   s   e Zd ZU dZee ed< dS )WorkforceDetailsRequestNr9   )r'   r(   r)   r9   r   r*   r+   r/   r/   r/   r0   rH   v   s   
 rH   c                   @   s   e Zd ZU eed< dS )TagNameResponser   N)r'   r(   r)   r*   r+   r/   r/   r/   r0   rI   y   s   
 rI   c                   @   r=   )TagNameResponseListr?   tagsN)r'   r(   r)   r-   r+   r   rI   r/   r/   r/   r0   rJ   |   rA   rJ   N)pydanticr   r   bsonr   r   typingr   r   r   r1   r8   r>   rB   rD   rG   rH   rI   rJ   r/   r/   r/   r0   <module>   s    !	(