Files
ota-admin-portal/src/services/fleetsAPI.js
John Wu 2ec340efc5 CEC-3301, CEC-3317 Magna security dll and remote commands (#249)
* CEC-3301, CEC-3317 Magna security dll and remote commands

* Fix test
2022-12-12 10:59:30 -08:00

147 lines
4.1 KiB
JavaScript

import {
addQueryParams, errorHandler, fetchRespHandler, getAuthHeaderOptions
} from "../utils/http";
const API_ENDPOINT = process.env.REACT_APP_OTA_SERVICE_URL;
const fleetsAPI = {
addFleet: async (fleet, token) =>
fetch(`${API_ENDPOINT}/fleet`, {
method: "POST",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
body: JSON.stringify(fleet),
})
.then(fetchRespHandler)
.catch(errorHandler),
getFleet: async (name, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}`, {
method: "GET",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
getFleets: async (search, token) =>
fetch(addQueryParams(`${API_ENDPOINT}/fleets`, search), {
method: "GET",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
updateFleet: async (name, fleet, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}`, {
method: "PUT",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
body: JSON.stringify(fleet),
})
.then(fetchRespHandler)
.catch(errorHandler),
deleteFleet: async (name, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}`, {
method: "DELETE",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
getFleetVehicles: async (name, search, token) =>
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/vehicles`, search), {
method: "GET",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
addFleetVehicle: async (name, vehicle, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle`, {
method: "POST",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
body: JSON.stringify(vehicle),
})
.then(fetchRespHandler)
.catch(errorHandler),
deleteFleetVehicle: async (name, vehicle, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle/${vehicle.vin}`, {
method: "DELETE",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
getFleetCANFilters: async (name, search, token) =>
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/filters`, search), {
method: "GET",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
addFleetCANFilter: async (name, filter, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}/filter`, {
method: "POST",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
body: JSON.stringify(filter),
})
.then(fetchRespHandler)
.catch(errorHandler),
updateFleetCANFilter: async (name, can_id, filter, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
method: "PUT",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
body: JSON.stringify(filter),
})
.then(fetchRespHandler)
.catch(errorHandler),
deleteFleetCANFilter: async (name, can_id, token) =>
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
method: "DELETE",
headers: Object.assign(
{ "Content-Type": "application/json" },
getAuthHeaderOptions(token)
),
})
.then(fetchRespHandler)
.catch(errorHandler),
};
export default fleetsAPI;