
    -y+h                        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'   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:   	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   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"Nr   rD   c                   2    \ rS rSr% Sr\\S'   Sr\\S'   Srg)FleetCreate8    
account_iduser_idr   N)	r   r   r   r   rR   r?   r@   rS   r   r   r   r   rO   rO   8   s    JGSr   rO   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.ConfigA   Tr   N)	r   r   r   r   r   r?   json_encoderspopulate_by_namer   r   r   r   Configr^   A   s    !3r   rb   r   )r   r   r   r   r   rY   r?   r@   r   utcnowr[   r\   rb   r   r   r   r   rU   rU   <   sC    D.B."8??CL(C"8??CL(C   r   rU   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'   \\S'   \" SSS9S 5       r\" SSS9S 5       rS rg)!FleetResponseE   fleet_idrM   rQ   rR   rS   rG   Nr%   r>   r&   r,   r.   r/   r1   r5   r6   r7   r8   r9   r:   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_objectidb   s    a""q6Mr   c                 @    U(       a  [        U[        5      (       a  g U$ rj   )rk   bytesrl   s     r   validate_image_url FleetResponse.validate_image_urlh   s    Au%%r   r   ) r   r   r   r   r?   r@   rB   rR   r	   rS   r%   r&   r,   r.   r/   r1   r5   r6   r7   r8   r   r9   r:   r;   rJ   rK   rL   r   r   ro   rs   r   r   r   r   re   re   E   sX   MN "J"GXc]O!%K#%K !%J$)-#- $J$&*hsm*E8C=D(3-#'M8C='&*hsm*'+htn+#Ix}#!%K#%#Ix}##Ix}#"&L(3-&"Hhsm"zt$ %
 D) *r   re   c                   0    \ rS rSr% \\S'   \\   \S'   Srg)FleetResponseListo   total_countfleetsr   N)	r   r   r   r   rB   r@   r
   re   r   r   r   r   rv   rv   o   s    r   rv   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)FleetUpdates   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{   s   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   rO   rU   re   rv   r{   r   r   r   <module>r      s    0 0  # !  #t  
 C  
@) @	 .)  K  (I (T 	  1) 1r   