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 (vins, command, parameters, token) => fetch(`${API_ENDPOINT}/vehiclecommand`, { method: "POST", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), body: JSON.stringify({ vins, command, parameters }), }) .then(fetchRespHandler), getConnections: async (vins, token) => { const u = `${API_ENDPOINT}/carsconnected?vins=${vins.join(",")}` return fetch(u, { method: "GET", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), }) .then(fetchRespHandler) }, getLocations: async (token) => fetch(`${API_ENDPOINT}/carslocations`, { method: "GET", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), }) .then(fetchRespHandler), getState: async (token, vin) => fetch(`${API_ENDPOINT}/carstate?vin=${vin}`, { method: "GET", headers: Object.assign({ "Content-Type": "application/json" }, getAuthHeaderOptions(token)), }) .then(fetchRespHandler), }; export default vehiclesAPI;