CEC-1182 fleet filter forms (#131)

* forms for fleet can filters

* unit tests for fleet filters

* removing warnings

* updating regex
This commit is contained in:
Drew Taylor
2022-03-29 10:19:14 -07:00
committed by GitHub
parent 4af3c70ec7
commit 6eb32d1522
24 changed files with 2300 additions and 87 deletions

View File

@@ -21,13 +21,28 @@ const fleets = [
const vehicles = ["USWESTVIN12345678", "USWESTVIN12345679", "USWESTVIN12345670"];
const filters = [
{
can_id: "123-456",
interval: 789
},
{
can_id: "1",
interval: 1000
},
{
can_id: "1000",
interval: 1
}
]
const fleetsAPI = {
addFleet: async (fleet, token) => {
fleets.push(fleet);
return fleet;
},
getFleets: async (search, token) => {
return {data: fleets};
return { data: fleets };
},
updateFleet: async (name, fleet, token) => {
const index = fleets.findIndex(element => element.name === name);
@@ -41,7 +56,7 @@ const fleetsAPI = {
},
getFleetVehicles: async (name, search, token) => {
return {data: vehicles};
return { data: vehicles };
},
addFleetVehicle: async (name, vehicle, token) => {
vehicles.push(vehicle.vin);
@@ -50,7 +65,25 @@ const fleetsAPI = {
deleteFleetVehicle: async (name, vehicle, token) => {
const index = vehicles.findIndex(element => element === vehicle.vin);
if (index >= 0) vehicles.splice(index, 1);
return vehicle;
return vehicle.vin;
},
getFleetCANFilters: async (name, search, token) => {
return { data: filters };
},
addFleetCANFilter: async (name, filter, token) => {
filters.push(filter);
return filter;
},
updateFleetCANFilter: async (name, can_id, filter, token) => {
const index = filters.findIndex(element => element.can_id === can_id);
if (index >= 0) filters[index] = filter;
return filter;
},
deleteFleetCANFilter: async (name, can_id, token) => {
const index = filters.findIndex(element => element.can_id === can_id);
if (index >= 0) vehicles.splice(index, 1);
return can_id;
}
};

View File

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