CEC-4072 - IDPS Enabled

This commit is contained in:
padamsen_fisker
2024-02-21 18:32:56 -05:00
parent 1a562ca129
commit 2b71b669ad
28 changed files with 492 additions and 10 deletions

View File

@@ -566,6 +566,44 @@ exports[`FleetAddForm Render 1`] = `
</fieldset>
</div>
</div>
<label
class="MuiFormControlLabel-root"
>
<span
aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
>
<span
class="MuiIconButton-label"
>
<input
checked=""
class="PrivateSwitchBase-input-0"
data-indeterminate="false"
type="checkbox"
value=""
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
/>
</svg>
</span>
<span
class="MuiTouchRipple-root"
/>
</span>
<span
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
>
IDPS Enabled
</span>
</label>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
tabindex="0"

View File

@@ -34,6 +34,7 @@ const MainForm = () => {
const nameEl = useRef(null);
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
const [canbusEnabled, setCANBusEnabled] = useState(true);
const [idpsEnabled, setIDPSEnabled] = useState(true);
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
@@ -60,6 +61,10 @@ const MainForm = () => {
setCANBusEnabled(event.target.checked);
}
const onIDPSChange = (event) => {
setIDPSEnabled(event.target.checked);
}
const onDataLoggerChange = (event) => {
setDataLoggerEnabled(event.target.checked);
}
@@ -84,7 +89,8 @@ const MainForm = () => {
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0
}
},
idps_enabled: idpsEnabled,
};
const result = await addFleet(formData, token);
if (!result || result.error) return;
@@ -181,6 +187,12 @@ const MainForm = () => {
required
fullWidth
/>
<FormControlLabel control={
<Checkbox
checked={idpsEnabled}
onChange={onIDPSChange}
/>
} label="IDPS Enabled" />
<Button
type="submit"
disabled={busy}

View File

@@ -94,6 +94,17 @@ exports[`FleetDetailsTab Render 1`] = `
false
</p>
</div>
<div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
>
<p>
<b>
IDPS Enabled
</b>
:
true
</p>
</div>
<div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
>

View File

@@ -76,6 +76,11 @@ const MainForm = ({ name }) => {
<p><b>DTC Enabled</b>: {(fleet.canbus.dtc_enabled || false).toString()}</p>
</Grid>
)}
<Grid item md={12} className={classes.textCenterAlign}>
<p>
<b>IDPS Enabled</b>: {(fleet.idps_enabled || false).toString()}
</p>
</Grid>
{showDebugMask && (
<Grid item md={12} className={classes.textCenterAlign}>
<p>

View File

@@ -934,6 +934,44 @@ exports[`FleetVehicleAdd Render 1`] = `
</fieldset>
</div>
</div>
<label
class="MuiFormControlLabel-root"
>
<span
aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
>
<span
class="MuiIconButton-label"
>
<input
checked=""
class="PrivateSwitchBase-input-0"
data-indeterminate="false"
type="checkbox"
value=""
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
/>
</svg>
</span>
<span
class="MuiTouchRipple-root"
/>
</span>
<span
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
>
IDPS Enabled
</span>
</label>
</div>
</div>
</div>

View File

@@ -45,6 +45,7 @@ const MainForm = () => {
const { payload, query, setQuery, loading } = useQuery();
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
const [canbusEnabled, setCANBusEnabled] = useState(true);
const [idpsEnabled, setIDPSEnabled] = useState(true);
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
@@ -100,6 +101,10 @@ const MainForm = () => {
setCANBusEnabled(event.target.checked);
}
const onIDPSChange = (event) => {
setIDPSEnabled(event.target.checked);
}
const onDataLoggerChange = (event) => {
setDataLoggerEnabled(event.target.checked);
}
@@ -124,7 +129,8 @@ const MainForm = () => {
data_logger_enabled: canbusEnabled ? dataLoggerEnabled : false,
max_mem_buffer_size: canbusEnabled ? parseInt(maxMemBufferSize) : 0,
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0
}
},
idps_enabled: idpsEnabled,
};
const result = await addFleetVehicles(name, formData, token);
@@ -228,6 +234,12 @@ const MainForm = () => {
required
fullWidth
/>
<FormControlLabel control={
<Checkbox
checked={idpsEnabled}
onChange={onIDPSChange}
/>
} label="IDPS Enabled" />
</Box>
</AccordionDetails>
</Accordion>

View File

@@ -102,6 +102,17 @@ exports[`DetailsTab Render 1`] = `
false
</p>
</div>
<div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
>
<p>
<b>
IDPS Enabled
</b>
:
true
</p>
</div>
<div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
>

View File

@@ -191,6 +191,17 @@ exports[`FleetStatus Render 1`] = `
false
</p>
</div>
<div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
>
<p>
<b>
IDPS Enabled
</b>
:
true
</p>
</div>
<div
class="MuiGrid-root makeStyles-textCenterAlign-0 MuiGrid-item MuiGrid-grid-md-12"
>

View File

@@ -200,6 +200,29 @@ exports[`FleetTable Render 1`] = `
</svg>
</span>
</th>
<th
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
scope="col"
>
<span
aria-disabled="false"
class="MuiButtonBase-root MuiTableSortLabel-root"
role="button"
tabindex="0"
>
IDPS Enabled
<svg
aria-hidden="true"
class="MuiSvgIcon-root MuiTableSortLabel-icon MuiTableSortLabel-iconDirectionAsc"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"
/>
</svg>
</span>
</th>
<th
class="MuiTableCell-root MuiTableCell-head MuiTableCell-alignCenter"
scope="col"
@@ -278,6 +301,11 @@ exports[`FleetTable Render 1`] = `
>
true
</td>
<td
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
>
true
</td>
<td
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
>
@@ -316,6 +344,11 @@ exports[`FleetTable Render 1`] = `
>
false
</td>
<td
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
>
true
</td>
<td
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
>
@@ -354,6 +387,11 @@ exports[`FleetTable Render 1`] = `
>
false
</td>
<td
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
>
true
</td>
<td
class="MuiTableCell-root MuiTableCell-body MuiTableCell-alignCenter"
>
@@ -374,7 +412,7 @@ exports[`FleetTable Render 1`] = `
>
<td
class="MuiTableCell-root MuiTableCell-footer MuiTablePagination-root"
colspan="8"
colspan="9"
>
<div
class="MuiToolbar-root MuiToolbar-regular MuiTablePagination-toolbar MuiToolbar-gutters"

View File

@@ -640,6 +640,44 @@ exports[`FleetUpdate Render 1`] = `
</fieldset>
</div>
</div>
<label
class="MuiFormControlLabel-root"
>
<span
aria-disabled="false"
class="MuiButtonBase-root MuiIconButton-root PrivateSwitchBase-root-0 MuiCheckbox-root MuiCheckbox-colorSecondary PrivateSwitchBase-checked-0 Mui-checked MuiIconButton-colorSecondary"
>
<span
class="MuiIconButton-label"
>
<input
checked=""
class="PrivateSwitchBase-input-0"
data-indeterminate="false"
type="checkbox"
value=""
/>
<svg
aria-hidden="true"
class="MuiSvgIcon-root"
focusable="false"
viewBox="0 0 24 24"
>
<path
d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
/>
</svg>
</span>
<span
class="MuiTouchRipple-root"
/>
</span>
<span
class="MuiTypography-root MuiFormControlLabel-label MuiTypography-body1"
>
IDPS Enabled
</span>
</label>
<button
class="MuiButtonBase-root MuiButton-root MuiButton-contained makeStyles-submit-0 MuiButton-containedPrimary MuiButton-fullWidth"
tabindex="0"

View File

@@ -35,6 +35,7 @@ const MainForm = () => {
const [oldName] = useState(name);
const [selectedLogLevel, setSelectedLogLevel] = useState("info");
const [canbusEnabled, setCANBusEnabled] = useState(true);
const [idpsEnabled, setIDPSEnabled] = useState(true);
const [dataLoggerEnabled, setDataLoggerEnabled] = useState(false);
const [maxMemBufferSize, setMaxMemBufferSize] = useState(0);
const [maxDiskBufferSize, setMaxDiskBufferSize] = useState(0);
@@ -89,6 +90,8 @@ const MainForm = () => {
debugMaskEl.current.value = fleet.debug_mask ?? ""
}
setIDPSEnabled(fleet.idps_enabled ?? idpsEnabled);
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [fleet]);
@@ -104,6 +107,10 @@ const MainForm = () => {
setCANBusEnabled(event.target.checked);
};
const onIDPSChange = (event) => {
setIDPSEnabled(event.target.checked);
}
const onDataLoggerChange = (event) => {
setDataLoggerEnabled(event.target.checked);
};
@@ -133,7 +140,8 @@ const MainForm = () => {
max_disk_buffer_size: canbusEnabled && dataLoggerEnabled ? parseInt(maxDiskBufferSize) : 0,
dtc_enabled: dtcEnabled
},
debug_mask: debugMaskEl.current?.value
debug_mask: debugMaskEl.current?.value,
idps_enabled: idpsEnabled,
};
const result = await updateFleet(oldName, formData, token);
@@ -267,6 +275,12 @@ const MainForm = () => {
inputRef={debugMaskEl}
/>
)}
<FormControlLabel control={
<Checkbox
checked={idpsEnabled}
onChange={onIDPSChange}
/>
} label="IDPS Enabled" />
<Button
type="submit"
disabled={busy}