CEC-1691 Handle 503 errors (#156)
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
errorHandler,
|
||||||
getAuthHeaderOptions,
|
getAuthHeaderOptions,
|
||||||
fetchRespHandler,
|
fetchRespHandler,
|
||||||
addQueryParams,
|
addQueryParams,
|
||||||
@@ -14,8 +15,10 @@ const canFiltersAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(filter)
|
body: JSON.stringify(filter),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getFilters: async (vin, search, token) =>
|
getFilters: async (vin, search, token) =>
|
||||||
fetch(addQueryParams(`${API_ENDPOINT}/vehicle/${vin}/filters`, search), {
|
fetch(addQueryParams(`${API_ENDPOINT}/vehicle/${vin}/filters`, search), {
|
||||||
@@ -24,7 +27,9 @@ const canFiltersAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
updateFilter: async (vin, canID, filter, token) =>
|
updateFilter: async (vin, canID, filter, token) =>
|
||||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
||||||
@@ -33,8 +38,10 @@ const canFiltersAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(filter)
|
body: JSON.stringify(filter),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
deleteFilter: async (vin, canID, token) =>
|
deleteFilter: async (vin, canID, token) =>
|
||||||
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
fetch(`${API_ENDPOINT}/vehicle/${vin}/filter/${canID}`, {
|
||||||
@@ -42,8 +49,10 @@ const canFiltersAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default canFiltersAPI;
|
export default canFiltersAPI;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { fetchRespHandler } from "../utils/http";
|
import { errorHandler, fetchRespHandler } from "../utils/http";
|
||||||
|
|
||||||
const AUTH_URL = process.env.REACT_APP_AUTH_SERVICE_URL;
|
const AUTH_URL = process.env.REACT_APP_AUTH_SERVICE_URL;
|
||||||
const CALLBACK_URL = process.env.REACT_APP_AUTH_CALLBACK_URL;
|
const CALLBACK_URL = process.env.REACT_APP_AUTH_CALLBACK_URL;
|
||||||
@@ -16,7 +16,9 @@ const auth = {
|
|||||||
code,
|
code,
|
||||||
redirect: CALLBACK_URL,
|
redirect: CALLBACK_URL,
|
||||||
}),
|
}),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
verify: (idToken) =>
|
verify: (idToken) =>
|
||||||
fetch(`${AUTH_URL}/verify`, {
|
fetch(`${AUTH_URL}/verify`, {
|
||||||
@@ -25,7 +27,9 @@ const auth = {
|
|||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
},
|
},
|
||||||
body: JSON.stringify({ token: idToken }),
|
body: JSON.stringify({ token: idToken }),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
refresh: (refreshToken) =>
|
refresh: (refreshToken) =>
|
||||||
fetch(`${AUTH_URL}/refresh`, {
|
fetch(`${AUTH_URL}/refresh`, {
|
||||||
@@ -34,7 +38,9 @@ const auth = {
|
|||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
},
|
},
|
||||||
body: JSON.stringify({ refresh_token: refreshToken }),
|
body: JSON.stringify({ refresh_token: refreshToken }),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default auth;
|
export default auth;
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
import { getAuthHeaderOptions, fetchRespHandler } from "../utils/http";
|
import {
|
||||||
|
errorHandler,
|
||||||
|
getAuthHeaderOptions,
|
||||||
|
fetchRespHandler,
|
||||||
|
} from "../utils/http";
|
||||||
|
|
||||||
const API_ENDPOINT = process.env.REACT_APP_CERT_SERVICE_URL;
|
const API_ENDPOINT = process.env.REACT_APP_CERT_SERVICE_URL;
|
||||||
|
|
||||||
@@ -11,7 +15,9 @@ const certificatesAPI = {
|
|||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(data),
|
body: JSON.stringify(data),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default certificatesAPI;
|
export default certificatesAPI;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
errorHandler,
|
||||||
getAuthHeaderOptions,
|
getAuthHeaderOptions,
|
||||||
fetchRespHandler,
|
fetchRespHandler,
|
||||||
addQueryParams,
|
addQueryParams,
|
||||||
@@ -14,8 +15,10 @@ const fleetsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(fleet)
|
body: JSON.stringify(fleet),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getFleet: async (name, token) =>
|
getFleet: async (name, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
||||||
@@ -23,8 +26,10 @@ const fleetsAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getFleets: async (search, token) =>
|
getFleets: async (search, token) =>
|
||||||
fetch(addQueryParams(`${API_ENDPOINT}/fleets`, search), {
|
fetch(addQueryParams(`${API_ENDPOINT}/fleets`, search), {
|
||||||
@@ -33,7 +38,9 @@ const fleetsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
updateFleet: async (name, fleet, token) =>
|
updateFleet: async (name, fleet, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
||||||
@@ -42,8 +49,10 @@ const fleetsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(fleet)
|
body: JSON.stringify(fleet),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
deleteFleet: async (name, token) =>
|
deleteFleet: async (name, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}`, {
|
||||||
@@ -51,8 +60,10 @@ const fleetsAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getFleetVehicles: async (name, search, token) =>
|
getFleetVehicles: async (name, search, token) =>
|
||||||
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/vehicles`, search), {
|
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/vehicles`, search), {
|
||||||
@@ -60,8 +71,10 @@ const fleetsAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
addFleetVehicle: async (name, vehicle, token) =>
|
addFleetVehicle: async (name, vehicle, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle`, {
|
||||||
@@ -70,8 +83,10 @@ const fleetsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(vehicle)
|
body: JSON.stringify(vehicle),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
deleteFleetVehicle: async (name, vehicle, token) =>
|
deleteFleetVehicle: async (name, vehicle, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle/${vehicle.vin}`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}/vehicle/${vehicle.vin}`, {
|
||||||
@@ -79,8 +94,10 @@ const fleetsAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getFleetCANFilters: async (name, search, token) =>
|
getFleetCANFilters: async (name, search, token) =>
|
||||||
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/filters`, search), {
|
fetch(addQueryParams(`${API_ENDPOINT}/fleet/${name}/filters`, search), {
|
||||||
@@ -88,8 +105,10 @@ const fleetsAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
addFleetCANFilter: async (name, filter, token) =>
|
addFleetCANFilter: async (name, filter, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}/filter`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}/filter`, {
|
||||||
@@ -98,8 +117,10 @@ const fleetsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(filter)
|
body: JSON.stringify(filter),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
updateFleetCANFilter: async (name, can_id, filter, token) =>
|
updateFleetCANFilter: async (name, can_id, filter, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
|
||||||
@@ -108,8 +129,10 @@ const fleetsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(filter)
|
body: JSON.stringify(filter),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
deleteFleetCANFilter: async (name, can_id, token) =>
|
deleteFleetCANFilter: async (name, can_id, token) =>
|
||||||
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
|
fetch(`${API_ENDPOINT}/fleet/${name}/filter/${can_id}`, {
|
||||||
@@ -117,8 +140,10 @@ const fleetsAPI = {
|
|||||||
headers: Object.assign(
|
headers: Object.assign(
|
||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
)
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default fleetsAPI;
|
export default fleetsAPI;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
errorHandler,
|
||||||
getAuthHeaderOptions,
|
getAuthHeaderOptions,
|
||||||
fetchRespHandler,
|
fetchRespHandler,
|
||||||
addQueryParams,
|
addQueryParams,
|
||||||
@@ -14,7 +15,9 @@ const manifestsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getManifest: async (id, token) => {
|
getManifest: async (id, token) => {
|
||||||
const u = addQueryParams(`${API_ENDPOINT}/manifest`, { id });
|
const u = addQueryParams(`${API_ENDPOINT}/manifest`, { id });
|
||||||
@@ -24,7 +27,9 @@ const manifestsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getManifests: async (search, token) => {
|
getManifests: async (search, token) => {
|
||||||
@@ -35,7 +40,9 @@ const manifestsAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
createManifest: async (data, token) =>
|
createManifest: async (data, token) =>
|
||||||
@@ -46,7 +53,9 @@ const manifestsAPI = {
|
|||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(data),
|
body: JSON.stringify(data),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
createManifestECU: async (data, token) =>
|
createManifestECU: async (data, token) =>
|
||||||
fetch(`${API_ENDPOINT}/manifestecu`, {
|
fetch(`${API_ENDPOINT}/manifestecu`, {
|
||||||
@@ -56,7 +65,9 @@ const manifestsAPI = {
|
|||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(data),
|
body: JSON.stringify(data),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default manifestsAPI;
|
export default manifestsAPI;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
errorHandler,
|
||||||
getAuthHeaderOptions,
|
getAuthHeaderOptions,
|
||||||
fetchRespHandler,
|
fetchRespHandler,
|
||||||
addQueryParams,
|
addQueryParams,
|
||||||
@@ -15,7 +16,9 @@ const updatesAPI = {
|
|||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(data),
|
body: JSON.stringify(data),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getCarUpdateLog: async (query, token) => {
|
getCarUpdateLog: async (query, token) => {
|
||||||
const u = addQueryParams(`${API_ENDPOINT}/carupdateslog`, query);
|
const u = addQueryParams(`${API_ENDPOINT}/carupdateslog`, query);
|
||||||
@@ -25,7 +28,9 @@ const updatesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getCarUpdateProgress: async (carupdateids, token) => {
|
getCarUpdateProgress: async (carupdateids, token) => {
|
||||||
@@ -36,7 +41,9 @@ const updatesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getCarUpdates: async (search, token) => {
|
getCarUpdates: async (search, token) => {
|
||||||
@@ -47,7 +54,9 @@ const updatesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getVINUpdates: async (vin, token) => {
|
getVINUpdates: async (vin, token) => {
|
||||||
@@ -58,7 +67,9 @@ const updatesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import {
|
import {
|
||||||
|
errorHandler,
|
||||||
getAuthHeaderOptions,
|
getAuthHeaderOptions,
|
||||||
fetchRespHandler,
|
fetchRespHandler,
|
||||||
addQueryParams,
|
addQueryParams,
|
||||||
@@ -15,7 +16,9 @@ const vehiclesAPI = {
|
|||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(vehicle),
|
body: JSON.stringify(vehicle),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
deleteVehicle: async (vin, token) =>
|
deleteVehicle: async (vin, token) =>
|
||||||
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
||||||
@@ -24,7 +27,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getConnections: async (vins, token) => {
|
getConnections: async (vins, token) => {
|
||||||
const u = `${API_ENDPOINT}/carsconnected?vins=${vins.join(",")}`;
|
const u = `${API_ENDPOINT}/carsconnected?vins=${vins.join(",")}`;
|
||||||
@@ -34,7 +39,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getECUs: async (search, token) => {
|
getECUs: async (search, token) => {
|
||||||
@@ -45,7 +52,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getModels: async (token) =>
|
getModels: async (token) =>
|
||||||
@@ -55,7 +64,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getLocations: async (token) =>
|
getLocations: async (token) =>
|
||||||
fetch(`${API_ENDPOINT}/carslocations`, {
|
fetch(`${API_ENDPOINT}/carslocations`, {
|
||||||
@@ -64,7 +75,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getState: async (token, vin) =>
|
getState: async (token, vin) =>
|
||||||
fetch(`${API_ENDPOINT}/carstate?vin=${vin}`, {
|
fetch(`${API_ENDPOINT}/carstate?vin=${vin}`, {
|
||||||
@@ -73,7 +86,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getVehicle: async (vin, token) =>
|
getVehicle: async (vin, token) =>
|
||||||
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
||||||
@@ -82,7 +97,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
getVehicles: async (search, token) => {
|
getVehicles: async (search, token) => {
|
||||||
const u = addQueryParams(`${API_ENDPOINT}/vehicles`, search);
|
const u = addQueryParams(`${API_ENDPOINT}/vehicles`, search);
|
||||||
@@ -92,7 +109,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler);
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler);
|
||||||
},
|
},
|
||||||
|
|
||||||
getYears: async (token) =>
|
getYears: async (token) =>
|
||||||
@@ -102,7 +121,9 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
sendCommand: async (vins, command, parameters, token) =>
|
sendCommand: async (vins, command, parameters, token) =>
|
||||||
fetch(`${API_ENDPOINT}/vehiclecommand`, {
|
fetch(`${API_ENDPOINT}/vehiclecommand`, {
|
||||||
@@ -116,7 +137,9 @@ const vehiclesAPI = {
|
|||||||
command,
|
command,
|
||||||
parameters,
|
parameters,
|
||||||
}),
|
}),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
|
|
||||||
updateVehicle: async (vin, vehicle, token) =>
|
updateVehicle: async (vin, vehicle, token) =>
|
||||||
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
fetch(`${API_ENDPOINT}/vehicle/${vin}`, {
|
||||||
@@ -125,8 +148,10 @@ const vehiclesAPI = {
|
|||||||
{ "Content-Type": "application/json" },
|
{ "Content-Type": "application/json" },
|
||||||
getAuthHeaderOptions(token)
|
getAuthHeaderOptions(token)
|
||||||
),
|
),
|
||||||
body: JSON.stringify(vehicle)
|
body: JSON.stringify(vehicle),
|
||||||
}).then(fetchRespHandler),
|
})
|
||||||
|
.then(fetchRespHandler)
|
||||||
|
.catch(errorHandler),
|
||||||
};
|
};
|
||||||
|
|
||||||
export default vehiclesAPI;
|
export default vehiclesAPI;
|
||||||
|
|||||||
@@ -1,13 +1,28 @@
|
|||||||
import { logger } from "../services/monitoring";
|
import { logger } from "../services/monitoring";
|
||||||
|
|
||||||
export const getAuthHeaderOptions = (token) => ({
|
export const addQueryParams = (url, params) => {
|
||||||
"Authorization": `Bearer ${token}`,
|
if (!params) return url;
|
||||||
});
|
|
||||||
|
const u = new URL(url);
|
||||||
|
|
||||||
|
Object.keys(params).forEach((key) => u.searchParams.append(key, params[key]));
|
||||||
|
|
||||||
|
return u.toString();
|
||||||
|
};
|
||||||
|
|
||||||
|
export const errorHandler = (e) => {
|
||||||
|
logger.error(e.stack);
|
||||||
|
return {
|
||||||
|
error: e.name,
|
||||||
|
message: e.message,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
export const fetchRespHandler = (response) => {
|
export const fetchRespHandler = (response) => {
|
||||||
if (response.ok) return response.json();
|
if (response.ok) return response.json();
|
||||||
|
|
||||||
return response.text()
|
return response
|
||||||
|
.text()
|
||||||
.then((text) => {
|
.then((text) => {
|
||||||
if (response.status >= 500) logger.error(text);
|
if (response.status >= 500) logger.error(text);
|
||||||
return JSON.parse(text);
|
return JSON.parse(text);
|
||||||
@@ -18,15 +33,9 @@ export const fetchRespHandler = (response) => {
|
|||||||
error: response.statusText,
|
error: response.statusText,
|
||||||
message: `${response.status} ${response.statusText}`,
|
message: `${response.status} ${response.statusText}`,
|
||||||
};
|
};
|
||||||
})
|
});
|
||||||
}
|
};
|
||||||
|
|
||||||
export const addQueryParams = (url, params) => {
|
export const getAuthHeaderOptions = (token) => ({
|
||||||
if (!params) return url;
|
Authorization: `Bearer ${token}`,
|
||||||
|
});
|
||||||
const u = new URL(url);
|
|
||||||
|
|
||||||
Object.keys(params).forEach(key => u.searchParams.append(key, params[key]))
|
|
||||||
|
|
||||||
return u.toString();
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user