147 lines
4.1 KiB
JavaScript
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;
|