53 lines
1.8 KiB
JavaScript
53 lines
1.8 KiB
JavaScript
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;
|