This commit is contained in:
John Wu
2022-09-27 10:29:09 -07:00
committed by GitHub
parent 39ccee54be
commit b622e42286
8 changed files with 140 additions and 33 deletions

View File

@@ -6,7 +6,6 @@ import { validateStatusMessage } from "../../utils/statusMessage";
const FINAL_UPDATE_STATES = ["package_install_complete"];
const CarUpdatesContext = React.createContext();
const validateDeployClosure = (data, propertyName, errPfx) => {
if (data === null) {
throw new Error("No car update data");
@@ -20,17 +19,16 @@ const validateDeployClosure = (data, propertyName, errPfx) => {
if (!value || value.length === 0) {
throw new Error(`${errPfx} are required`);
}
}
};
const validateDeployCarUpdates = (data) => {
return validateDeployClosure(data, 'vins', 'Cars')
return validateDeployClosure(data, "vins", "Cars");
};
const validateDeployFleetUpdates = (data) => {
return validateDeployClosure(data, 'fleet_names', 'Fleets')
return validateDeployClosure(data, "fleet_names", "Fleets");
};
export const CarUpdatesProvider = ({ children }) => {
const [busy, setBusy] = useState(false);
const [carUpdates, setCarUpdates] = useState([]);
@@ -61,14 +59,14 @@ export const CarUpdatesProvider = ({ children }) => {
setBusy(true);
validateDeployFleetUpdates(data);
result = await api.createFleetUpdates(data, token);
if (result.error)
if (result.error)
throw new Error(`Deploy fleet updates error. ${result.message}`);
} finally {
setBusy(false);
}
return result;
}
};
const getCarUpdates = async (search, token) => {
let result;
@@ -224,12 +222,28 @@ export const CarUpdatesProvider = ({ children }) => {
return result;
};
const cancelUpdate = async (id, token) => {
let result;
try {
setBusy(true);
result = await api.cancelCarUpdate(id, token);
if (result.error)
throw new Error(`Cancel car update error. ${result.message}`);
} finally {
setBusy(false);
}
return result;
};
return (
<CarUpdatesContext.Provider
value={{
busy,
carUpdates,
totalCarUpdates,
cancelUpdate,
deployCarUpdates,
deployFleetUpdates,
getCarUpdates,