
    ~+h                         S SK JrJrJr  S SKJr  S SKJr  S SKJrJ	r	  S SK
Jr   " S S\\5      r " S S	\\5      r " S
 S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rg)    )	BaseModelField	validator)ObjectId)datetime)OptionalList)Enumc                        \ rS rSrSrSrSrSrg)Status   activeinactivemaintenance N)__name__
__module____qualname____firstlineno__ACTIVEINACTIVEMAINTENANCE__static_attributes__r       RC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\models\platform\vehiclesmodel.pyr   r      s    FHKr   r   c                   (    \ rS rSrSrSrSrSrSrSr	g)	FuelType   petroldieselelectrichybridhydrogenr   N)
r   r   r   r   PETROLDIESELELECTRICHYBRIDHYDROGENr   r   r   r   r   r      s    FFHFHr   r   c                      \ rS rSr% \" SSSS9r\\S'   \" SSSS9r\\S'   \	\S'   \" S	S
9r
\\S'   \" S	S
9r\\S'   \" SSS9r\\S'   \" SSS9r\\S'   \" SSS9r\\   \S'   \" SSS9r\\   \S'   \" \R(                  S
9r\\S'   Srg)VehicleBase   .   2   
min_length
max_lengthmanufacturer_namevehicle_type	fuel_typeF)defaultis_autonomouscan_flyr   gtcapacity_jobsgenumber_of_wheelsN	max_speedengine_capacitystatusr   )r   r   r   r   r   r1   str__annotations__r2   r   r5   boolr6   r9   intr<   r=   r   r>   r   r   r?   r   r   r   r   r*   r*      s    "31DsDcaB?L#?.M4.%(GT(sq)M3)!#!,c,$Ta0Ix}0%*4A%6OXc]66==1FF1r   r*   c                   P    \ rS rSr% \" SSS9r\\S'   \" SSS9r\\S'   \	\S'   Sr
g	)
VehicleCreate'    r   r/   
account_iduser_idmodel_idr   N)r   r   r   r   r   rI   r@   rA   rJ   rC   r   r   r   r   rE   rE   '   s)    B1-J-*GS*Mr   rE   c                       \ rS rSr% \" SSS9r\\S'   \" \R                  S9r
\\S'   \" \R                  S9r\\S'    " S	 S
5      r\" SSS9S 5       rSrg)Vehicle,   N_id)r4   aliasid)default_factorycreated_dateupdated_datec                   $    \ rS rSrSr\\0rSrSr	g)Vehicle.Config1   Tr   N)
r   r   r   r   arbitrary_types_allowedr   r@   json_encodersallow_population_by_field_namer   r   r   r   ConfigrV   1   s    "&!3)-&r   r[   Tprec                 F    [        U[        5      (       a  [        U5      $ U$ N
isinstancer   r@   clsvs     r   convert_objectidVehicle.convert_objectid6       a""q6Mr   r   )r   r   r   r   r   rQ   r@   rA   r   utcnowrS   rT   r[   r   re   r   r   r   r   rM   rM   ,   s^    D.B."8??CL(C"8??CL(C. .
 t r   rM   c                      \ rS rSr% \\S'   \" SSS9r\\   \S'   \" SSS9r	\\   \S'   \\S'   \\S	'   \\S
'   \
\S'   \
\S'   \\S'   \\S'   \\   \S'   \" SSS9r\\   \S'   \\   \S'   \\S'   \\S'   \\S'   \" SSS9S 5       rSrg)VehicleResponse<   
vehicle_idNr   rH   rI   rJ   r1   r2   r3   r5   r6   r9   r<   r=   r7   r>   r?   rS   rT   rK   Tr\   c                 F    [        U[        5      (       a  [        U5      $ U$ r_   r`   rb   s     r   re    VehicleResponse.convert_objectidN   rg   r   r   )r   r   r   r   r@   rA   r   rI   r   rJ   rB   rC   r>   r   r   re   r   r   r   r   rj   rj   <   s    O %dq 9J9"4A6GXc]6NM}%*4A%6OXc]6SMM|& 'r   rj   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)VehicleResponseListT   total_countvehiclesr   N)	r   r   r   r   rC   rA   r	   rj   r   r   r   r   rp   rp   T   s    ?##r   rp   c                      \ rS rSr% \" SSSS9r\\   \S'   \" SSSS9r	\\   \S'   Sr
\\   \S'   Sr\\   \S	'   Sr\\   \S
'   \" SSS9r\\   \S'   \" SSS9r\\   \S'   \" SSS9r\\   \S'   \" SSS9r\\   \S'   Sr\\   \S'   Srg)VehicleUpdateX   Nr,   r-   r.   r1   r2   r3   r5   r6   r   r7   r9   r:   r<   r=   r>   r?   r   )r   r   r   r   r   r1   r   r@   rA   r2   r3   r   r5   rB   r6   r9   rC   r<   r=   r>   r?   r   r   r   r   ru   ru   X   s    ',TaB'Ox}O"'r"JL(3-J$(Ix!($(M8D>("GXd^"#(!#4M8C=4&+DQ&7hsm7$Ta0Ix}0%*4A%6OXc]6 FHSM r   ru   N)pydanticr   r   r   bsonr   r   typingr   r	   enumr
   r@   r   r   r*   rE   rM   rj   rp   ru   r   r   r   <module>r{      s{    0 0   !  S$  
sD 
2) 
2K 
m  i 0$) $
!I 
!r   