o
    Ah                     @   s   d dl mZmZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 G dd deeZG dd	 d	eeZG d
d de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)OptionalLiteral)datetime)Enum)ObjectIdc                   @   s   e Zd ZdZdZdZdS )DeviceStatusactiveinactivefaultyN)__name__
__module____qualname__ACTIVEINACTIVEFAULTY r   r   =/var/www/html/moveengine/app/v1/models/platform/iotdevices.pyr	      s    r	   c                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	
DeviceTypeobdiimobiledashcamseat_sensorheat_sensorgpsothersN)
r   r   r   OBDIIMOBILEDASHCAMSEAT_SENSORHEAT_SENSORGPSOTHERSr   r   r   r   r      s    r   c                   @   s   e Zd ZdZdZdS )AssociatedEntityTypevehicle	workforceN)r   r   r   VEHICLE	WORKFORCEr   r   r   r   r$      s    r$   c                   @   s   e Zd ZU eed< dZee ed< eed< eed< eed< eed< e	ed< e
ejd	Zeed
< dZee ed< dZee ed< dS )IotDeviceBase
account_idNuser_idassociated_entity_typeassociated_entity_iddevice_typeinstallation_detailsstatusdefault_factorylast_updated
model_nameuuid)r   r   r   str__annotations__r+   r   r$   r   r	   r   r   utcnowr3   r4   r5   r   r   r   r   r)      s   
 r)   c                   @   s   e Zd ZdS )IotDeviceCreateN)r   r   r   r   r   r   r   r9   *   s    r9   c                   @   s   e Zd ZU 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< eejdZee ed	< dS )
IotDeviceUpdateNr+   r,   r-   r.   r/   r0   r1   r3   )r   r   r   r+   r   r6   r7   r,   r$   r-   r.   r   r/   r0   r	   r   r   r8   r3   r   r   r   r   r:   .   s   
 r:   c                   @   s@   e Zd ZU dZee ed< eej	dZ
eed< G dd dZdS )	IotDeviceNidr1   created_datec                   @   s   e Zd ZeeiZdS )zIotDevice.ConfigN)r   r   r   r   r6   json_encodersr   r   r   r   Config<   s    r?   )r   r   r   r<   r   r6   r7   r   r   r8   r=   r?   r   r   r   r   r;   8   s   
 r;   c                   @   s"   e Zd ZU eed< ee ed< dS )IotDeviceListtotal_countusersN)r   r   r   intr7   listr;   r   r   r   r   r@   @   s   
 r@   N)pydanticr   r   typingr   r   r   enumr   bsonr   r6   r	   r   r$   r)   r9   r:   r;   r@   r   r   r   r   <module>   s    

