o
    Bl,h_                     @   s  d dl mZmZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZ d dlmZmZmZmZmZ e Zejd	ed
ee
jeefdede
jdefddZejded
d dddddddee
jeef
de de!de!dee  dee  dee  dee  dee  dee  de
jdefddZ"ejded
ee
jeefd e de
jdefd!d"Z#ej$ded
ee
jeefd e d#ede
jdefd$d%Z%ej&ded
ee
jeefd e de
jdefd&d'Z'dS )(    )	APIRouterDependsHTTPException)JSONResponse)Optional)datetime)database)get_current_userdetails)VehicleVehicleBaseVehicleCreateVehicleResponseListVehicleUpdate)create_vehicle_serviceget_vehicles_serviceread_vehicle_serviceupdate_vehicle_servicedelete_vehicle_service/)response_modelvehicledbcurrent_userc                 C   s   t  }|  }|dd u rd|d< |dd u rd|d< i ||dd|dd||d}t||}td|d	 d
dS )N	max_speedr   engine_capacity
account_id user_id)r   r   created_dateupdated_datezVehicle created successfullyvehicle_data)messager   )content)r   utcnow
model_dumpgetr   r   )r   r   r   current_timevehicle_dictr    result r)   </var/www/html/moveengine/app/v1/routers/platform/vehicles.pycreate_vehicle_endpoint   s$   


r+   z/list/{account_id}/
   Nascr   skiplimitstatuscreated_date_fromcreated_date_toqsort_by
sort_orderc                 C   s>   | dkr| |
 ddkrtdddt| |||||||||	
S )Nallr   r     Not authorizedstatus_codedetail)r%   r   r   )r   r.   r/   r0   r1   r2   r3   r4   r5   r   r   r)   r)   r*   get_vehicles6   s   r<   z/{vehicle_id}
vehicle_idc                 C   s8   t | |}|dr|d |ddkrtddd|S Nr   r   r7   r8   r9   )r   r%   r   )r=   r   r   r   r)   r)   r*   read_vehicleI   s   
r?   r    c                 C   s@   t | |}|dr|d |ddkrtdddt| ||S r>   )r   r%   r   r   )r=   r    r   r   existing_vehicler)   r)   r*   update_vehicleV   s   
rA   c                 C   s>   t | |}|dr|d |ddkrtdddt| |S r>   )r   r%   r   r   )r=   r   r   r@   r)   r)   r*   delete_vehicled   s   

rB   )(fastapir   r   r   fastapi.responsesr   typingr   r   app.dbr   app.v1.dependencies.authr	   $app.v1.models.platform.vehiclesmodelr
   r   r   r   r   !app.v1.services.platform.vehiclesr   r   r   r   r   routerpostget_mongo_dbMongoDBdictr+   r%   strintr<   r?   putrA   deleterB   r)   r)   r)   r*   <module>   s    	
