
    6=h9                        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       KC:\Suresh\moveshuttle\MDcreated\moveengine\app\v1\models\platform\fleets.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'   \" 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vendor_name	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'   Sr\	\   \S'   \\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:   tag_name	fleets_idr   )r   r   r   r   r   rG   r?   r@   r%   r	   r   r   r>   r&   r,   r.   r/   r1   r5   rB   r6   r7   r8   r   r9   r;   rJ   rK   rL   rM   r   r   r   r   rD   rD   !   s"   CA"=J=!&t!<K#<(:(:;FK; !%J$)-#- $J$&*hsm*E8C=D(3-#'M8C='&*hsm*'+htn+#Ix}##Ix}##Ix}#"&L(3-&"Hhsm""Hhsm"Nr   rD   c                   2    \ rS rSr% Sr\\S'   Sr\\S'   Srg)FleetCreate9    
account_iduser_idr   N)	r   r   r   r   rS   r?   r@   rT   r   r   r   r   rP   rP   9   s    JGSr   rP   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)Fleet=   N_id)r=   aliasid)default_factorycreated_dateupdated_datec                        \ rS rSr\\0rSrSrg)Fleet.ConfigB   Tr   N)	r   r   r   r   r   r?   json_encoderspopulate_by_namer   r   r   r   Configr_   B   s    !3r   rc   r   )r   r   r   r   r   rZ   r?   r@   r   utcnowr\   r]   rc   r   r   r   r   rV   rV   =   sC    D.B."8??CL(C"8??CL(C   r   rV   c                      \ rS rSr% \\S'   \\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r\\   \S'   Sr\\   \S'   \\S'   \\S'   \" SSS9S 5       r\" SSS9S  5       rS!r g)"FleetResponseF   fleet_idrN   rR   rS   rT   rG   Nr%   r>   r&   r,   r.   r/   r1   r5   r6   r7   r8   r9   r:   rM   r;   rJ   rK   rL   r\   r]   T)prec                 F    [        U[        5      (       a  [        U5      $ U$ N)
isinstancer   r?   clsvs     r   convert_objectidFleetResponse.convert_objectidd   s    a""q6Mr   c                 @    U(       a  [        U[        5      (       a  g U$ rk   )rl   bytesrm   s     r   validate_image_url FleetResponse.validate_image_urlj   s    Au%%r   r   )!r   r   r   r   r?   r@   rB   rS   r	   rT   r%   r&   r,   r.   r/   r1   r5   r6   r7   r8   r   r9   r:   rM   r;   rJ   rK   rL   r   r   rp   rt   r   r   r   r   rf   rf   F   sf   MN "J"GXc]O!%K#%K !%J$)-#- $J$&*hsm*E8C=D(3-#'M8C='&*hsm*'+htn+#Ix}#!%K#%"Hhsm"#Ix}##Ix}#"&L(3-&"Hhsm"zt$ %
 D) *r   rf   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)FleetResponseListq   total_countfleetsr   N)	r   r   r   r   rB   r@   r
   rf   r   r   r   r   rw   rw   q   s    r   rw   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)FleetUpdateu   Nr'   rF   r)   rG   rH   rI   r%   r>   vehiclesr   )r   r   r   r   r   rG   r	   r?   r@   r%   r>   r   r~   r
   r#   r   r   r   r   r|   r|   u   sQ     %dqR HJH!&t!<K#<$(FH[!(,0HhtK()0r   r|   N)pydanticr   r   r   bsonr   r   r   typingr	   r
   enumr   r?   r   r    r#   rD   rP   rV   rf   rw   r|   r   r   r   <module>r      s    0 0  # !  #t  
 C  
@) @	 0)  K  )I )V 	  1) 1r   