
    hn                        S SK JrJrJr  S SKJr  S SKJr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 " S S\5      rg)    )	BaseModelField	validator)ObjectId)datetimedate)OptionalList)Enumc                        \ rS rSrSrSrSrSrg)FleetStatus   activeinactivemaintenance N__name__
__module____qualname____firstlineno__ACTIVEINACTIVEMAINTENANCE__static_attributes__r       PC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\models\platform\fleetsmodel.pyr   r          FHKr   r   c                        \ rS rSrSrSrSrSrg)VehicleStatus   r   r   r   r   Nr   r   r   r   r    r       r   r   r    c                      \ rS rSr% \" SSS9r\\S'   \" SSSS9r\\S	'   \" SS
S
S9r	\\S'   \" SSS9r
\\S'   \" SSSS9r\\S'   \" SS\R                  " 5       R                  S-   S9r\\S'   \" SSS9r\\S'   Sr\\   \S'   Sr\\   \S'   \" S5      r\\S'   \" S5      r\\S'   \" \R0                  S9r\\S'   Srg)VehicleBase   .z"Unique vehicle identifier (string))description
vehicle_id      
min_length
max_lengthregistration_number   
vin_numberzReference to vehicle modelvehicle_model_id   coloril     )gtleyearzImage URL or pathvehicle_imageNinsurance_numberinsurance_expiry	vendor_id	dealer_iddefaultstatusr   )r   r   r   r   r   r&   str__annotations__r,   r.   r/   r1   r   nowr5   intr6   r7   r	   r8   r   r9   r:   r    r   r=   r   r   r   r   r#   r#      s    C-QRJR$SQ2FFCB2>J>!#3OPcPsqR8E38cdx||~':':Q'>?D#?s0CDM3D&*hsm*'+htn+3ZIs3ZIs!-*>*>?FM?r   r#   c                      \ rS rSr% \" SSSS9r\\S'   \" SSS	9r\	\   \S
'   \" \
R                  S9r\
\S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Sr\	\   \S'   Srg)	FleetBase    .r'   2   r)   
fleet_nameN   r+   r%   r;   r=   r&   r,   r.   r/   r1   r5   r6   r7   r8   r9   r:   	fuel_typevehicle_typecapacityr   )r   r   r   r   r   rF   r>   r?   r%   r	   r   r   r=   r&   r,   r.   r/   r1   r5   rA   r6   r7   r8   r   r9   r:   rI   rJ   rK   r   r   r   r   rC   rC       s	   CA"=J=!&t!<K#<(:(:;FK; !%J$)-#- $J$&*hsm*E8C=D(3-#'M8C='&*hsm*'+htn+#Ix}##Ix}##Ix}#"&L(3-&"Hhsm"r   rC   c                   2    \ rS rSr% Sr\\S'   Sr\\S'   Srg)FleetCreate5    
account_iduser_idr   N)	r   r   r   r   rP   r>   r?   rQ   r   r   r   r   rM   rM   5   s    JGSr   rM   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rg)Fleet9   N_id)r<   aliasid)default_factorycreated_dateupdated_datec                        \ rS rSr\\0rSrSrg)Fleet.Config>   Tr   N)	r   r   r   r   r   r>   json_encoderspopulate_by_namer   r   r   r   Configr\   >   s    !3r   r`   r   )r   r   r   r   r   rW   r>   r?   r   utcnowrY   rZ   r`   r   r   r   r   rS   rS   9   sC    D.B."8??CL(C"8??CL(C   r   rS   c                      \ rS rSr% \\S'   Sr\\   \S'   Sr\\   \S'   \\S'   Sr	\\   \S'   \\S	'   Sr
\\   \S
'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   Sr\\   \S'   \\S'   \\S'   \" SSS9S 5       rSrg)FleetResponseB   fleet_idrO   rP   rQ   rF   Nr%   r=   r&   r,   r.   r/   r1   r5   r6   r7   r8   r9   r:   rI   rJ   rK   rY   rZ   T)prec                 F    [        U[        5      (       a  [        U5      $ U$ )N)
isinstancer   r>   )clsvs     r   convert_objectidFleetResponse.convert_objectid]   s    a""q6Mr   r   )r   r   r   r   r>   r?   rP   r	   rQ   r%   r&   r,   r.   r/   r1   r5   rA   r6   r7   r8   r   r9   r:   rI   rJ   rK   r   r   rk   r   r   r   r   rc   rc   B   s*   M "J"GXc]O!%K#%K !%J$)-#- $J$&*hsm*E8C=D(3-#'M8C='&*hsm*'+htn+#Ix}##Ix}##Ix}#"&L(3-&"Hhsm"zt$ %r   rc   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)FleetResponseListc   total_countfleetsr   N)	r   r   r   r   rA   r?   r
   rc   r   r   r   r   rn   rn   c   s    r   rn   c                       \ rS rSr% \" SSSS9r\\   \S'   \" SSS9r	\\   \S	'   Sr
\\   \S
'   Sr\\\      \S'   Srg)FleetUpdateg   Nr'   rE   r)   rF   rG   rH   r%   r=   vehiclesr   )r   r   r   r   r   rF   r	   r>   r?   r%   r=   r   ru   r
   r#   r   r   r   r   rs   rs   g   sQ     %dqR HJH!&t!<K#<$(FH[!(,0HhtK()0r   rs   N)pydanticr   r   r   bsonr   r   r   typingr	   r
   enumr   r>   r   r    r#   rC   rM   rS   rc   rn   rs   r   r   r   <module>rz      s    0 0  # !  #t  
 C  
@) @#	 #*)  K  I B 	  1) 1r   