CEC-1183/CEC-1201 fleet vehicles forms (#130)

* working fleet vehicles forms

* snapshots and api tests
This commit is contained in:
Drew Taylor
2022-03-22 14:15:49 -07:00
committed by GitHub
parent 4daf171b1e
commit 4af3c70ec7
24 changed files with 2112 additions and 41 deletions

View File

@@ -1,27 +1,57 @@
const data = [
{ name: "US-WEST", log_level: "info", canbus: { enabled: true } },
{ name: "US-CENTRAL", log_level: "warn", canbus: { enabled: false } },
{ name: "US-EAST", log_level: "error", canbus: { enabled: true } },
const fleets = [
{
name: "US-WEST",
log_level: "info",
canbus: { enabled: true },
vehicles: ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"]
},
{
name: "US-CENTRAL",
log_level: "warn",
canbus: { enabled: false },
vehicles: ["USCENTVIN12345678", "USCENTVIN12345679", "USCENTVIN12345670"]
},
{
name: "US-EAST",
log_level: "error",
canbus: { enabled: true },
vehicles: ["USEASTVIN12345678", "USEASTVIN12345679", "USEASTVIN12345670"]
},
];
const vehicles = ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"];
const fleetsAPI = {
addFleet: async (fleet, token) => {
data.push(fleet);
fleets.push(fleet);
return fleet;
},
getFleets: async (search, token) => {
return { data };
return {data: fleets};
},
updateFleet: async (name, fleet, token) => {
const index = data.findIndex(element => element.name === name);
if (index >= 0) data[index] = fleet;
const index = fleets.findIndex(element => element.name === name);
if (index >= 0) fleets[index] = fleet;
return fleet;
},
deleteFleet: async (name, token) => {
const index = data.findIndex(element => element.name === name);
if (index >= 0) data.splice(index, 1);
const index = fleets.findIndex(element => element.name === name);
if (index >= 0) fleets.splice(index, 1);
return name;
},
getFleetVehicles: async (name, search, token) => {
return {data: vehicles};
},
addFleetVehicle: async (name, vehicle, token) => {
vehicles.push(vehicle.vin);
return vehicle;
},
deleteFleetVehicle: async (name, vehicle, token) => {
const index = vehicles.findIndex(element => element === vehicle.vin);
if (index >= 0) vehicles.splice(index, 1);
return vehicle;
}
};
export default fleetsAPI;

View File

@@ -44,6 +44,34 @@ const fleetsAPI = {
getAuthHeaderOptions(token)
)
}).then(fetchRespHandler),
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),
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),
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),
};
export default fleetsAPI;