import { getAuthHeaderOptions, fetchRespHandler, addQueryParams } from "../utils/http" const API_ENDPOINT = process.env.REACT_APP_UPLOAD_SERVICE_URL || "https://gw-dev.fiskerdps.com/ota_update"; const vehiclesAPI = { addVehicle: async (vehicle, token) => fetch(`${API_ENDPOINT}/vehicle`, { method: "POST", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), body: JSON.stringify(vehicle), }) .then(fetchRespHandler), getVehicles: async (search, token) => { const u = addQueryParams(`${API_ENDPOINT}/vehicles`, search); return fetch(u, { method: "GET", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), }) .then(fetchRespHandler) }, getModels: async (token) => fetch(`${API_ENDPOINT}/vehiclemodels`, { method: "GET", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), }) .then(fetchRespHandler), getYears: async (token) => fetch(`${API_ENDPOINT}/vehicleyears`, { method: "GET", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), }) .then(fetchRespHandler), sendCommand: async (vin, command, token) => fetch(`${API_ENDPOINT}/vehiclecommand`, { method: "POST", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), body: JSON.stringify({ vin, command, }), }) .then(fetchRespHandler), sendLog: async (vin, filter, token) => fetch(`${API_ENDPOINT}/vehiclelog`, { method: "POST", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), body: JSON.stringify(Object.assign(filter, {vin})), }) .then(fetchRespHandler), }; export default vehiclesAPI;