* CEC-3577: trex logs add filtering add progress bar for log fetching always fetch all the logs request canceling * don't hide progress
203 lines
5.4 KiB
JavaScript
203 lines
5.4 KiB
JavaScript
import {
|
|
addQueryParams, errorHandler, fetchRespHandler, getAuthHeaderOptions
|
|
} from "../utils/http";
|
|
|
|
const API_ENDPOINT = process.env.REACT_APP_OTA_SERVICE_URL;
|
|
|
|
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)
|
|
.catch(errorHandler),
|
|
|
|
deleteVehicle: async (vin, token) =>
|
|
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
|
method: "DELETE",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
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)
|
|
.catch(errorHandler);
|
|
},
|
|
|
|
getECUs: async (search, token) => {
|
|
const u = addQueryParams(`${API_ENDPOINT}/vehicleecus`, search);
|
|
return fetch(u, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler);
|
|
},
|
|
|
|
getModels: async (token) =>
|
|
fetch(`${API_ENDPOINT}/vehiclemodels`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
getLocations: async (token) =>
|
|
fetch(`${API_ENDPOINT}/carslocations`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
getState: async (token, vin) =>
|
|
fetch(`${API_ENDPOINT}/carstate?vin=${vin}`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
getVehicle: async (vin, token) =>
|
|
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
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)
|
|
.catch(errorHandler);
|
|
},
|
|
|
|
getFleets: async (vin, search, token) => {
|
|
const u = addQueryParams(`${API_ENDPOINT}/vehicle/${vin}/fleets`, search)
|
|
return fetch(u, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler);
|
|
},
|
|
|
|
getYears: async (token) =>
|
|
fetch(`${API_ENDPOINT}/vehicleyears`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
sendCommand: async (vins, command, token) =>
|
|
fetch(`${API_ENDPOINT}/vehiclecommand`, {
|
|
method: "POST",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
body: JSON.stringify({
|
|
vins,
|
|
...command,
|
|
}),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
updateVehicle: async (vin, vehicle, token) =>
|
|
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
|
method: "PUT",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
body: JSON.stringify(vehicle),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
getCANSignals: async (vin, token) =>
|
|
fetch(`${API_ENDPOINT}/cansignals/${vin}`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
getTRexLogs: async (vin, date, offset, count, direction, token, controller) =>
|
|
fetch(`${API_ENDPOINT}/vehicle/${vin}/trex-logs?date=${date}&offset=${offset}&count=${count}&direction=${direction}`, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
signal: controller.signal
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler),
|
|
|
|
getVersionLog: async ({vin, ...search}, token) => {
|
|
const u = addQueryParams(`${API_ENDPOINT}/vehicle/${vin}/version/logs`, search);
|
|
return fetch(u, {
|
|
method: "GET",
|
|
headers: Object.assign(
|
|
{ "Content-Type": "application/json" },
|
|
getAuthHeaderOptions(token)
|
|
),
|
|
})
|
|
.then(fetchRespHandler)
|
|
.catch(errorHandler)
|
|
},
|
|
};
|
|
|
|
export default vehiclesAPI;
|