Fixed app framework app mapping sometimes breaking during welcome

This commit is contained in:
frikky
2022-07-23 19:11:24 +02:00
parent 37bec8552e
commit f5fb18ed2a
2 changed files with 99 additions and 43 deletions
+88 -37
View File
@@ -616,8 +616,6 @@ const Framework = (props) => {
} }
const setFrameworkItem = (data) => { const setFrameworkItem = (data) => {
console.log("UPLOAD: ", data)
fetch(globalUrl + "/api/v1/apps/frameworkConfiguration", { fetch(globalUrl + "/api/v1/apps/frameworkConfiguration", {
method: "POST", method: "POST",
headers: { headers: {
@@ -675,8 +673,6 @@ const Framework = (props) => {
"description": newSelectedApp.description, "description": newSelectedApp.description,
} }
console.log("APP: ", newSelectedApp)
const foundelement = cy.getElementById(discoveryData.id) const foundelement = cy.getElementById(discoveryData.id)
if (foundelement !== undefined && foundelement !== null) { if (foundelement !== undefined && foundelement !== null) {
foundelement.data("large_image", newSelectedApp.image_url) foundelement.data("large_image", newSelectedApp.image_url)
@@ -699,47 +695,102 @@ const Framework = (props) => {
const imgSize = 50; const imgSize = 50;
var parsedFrameworkData = frameworkData var parsedFrameworkData = frameworkData
// Awful mapping to make sure all access is always there
if (frameworkData !== undefined) { if (frameworkData !== undefined) {
if (frameworkData.cases !== undefined) { if (frameworkData.cases !== undefined) {
frameworkData.Cases = frameworkData.cases if (frameworkData.cases.large_image === undefined && frameworkData.cases.large_image === null || frameworkData.cases.large_image === "") {
} frameworkData.cases = {}
if (frameworkData.siem !== undefined) {
frameworkData.SIEM = frameworkData.siem
}
if (frameworkData.assets !== undefined) {
frameworkData.Assets = frameworkData.assets
}
if (frameworkData.intel !== undefined) {
frameworkData.Intel = frameworkData.intel
}
if (frameworkData.communication !== undefined) {
frameworkData.Comms = frameworkData.communication
}
if (frameworkData.network !== undefined) {
frameworkData.Network = frameworkData.network
}
if (frameworkData.iam !== undefined) {
frameworkData.IAM = frameworkData.iam
}
if (frameworkData.edr !== undefined) {
frameworkData["EDR & AV"] = frameworkData.edr
} }
parsedFrameworkData = frameworkData parsedFrameworkData.Cases = frameworkData.cases
} else { } else {
console.log("No frameworkdata: ") parsedFrameworkData.Cases = {}
parsedFrameworkData = {
"Cases": {},
"SIEM": {},
"Assets": {},
"IAM": {},
"Intel": {},
"Comms": {},
"Network": {},
"EDR & AV": {},
} }
if (frameworkData.siem !== undefined) {
if (frameworkData.siem.large_image === undefined && frameworkData.siem.large_image === null || frameworkData.siem.large_image === "") {
frameworkData.siem = {}
} }
parsedFrameworkData.SIEM = frameworkData.siem
} else {
parsedFrameworkData.SIEM = {}
}
if (frameworkData.assets !== undefined) {
if (frameworkData.assets.large_image === undefined && frameworkData.assets.large_image === null || frameworkData.assets.large_image === "") {
frameworkData.assets = {}
}
parsedFrameworkData.Assets = frameworkData.assets
} else {
parsedFrameworkData.Assets = {}
}
if (frameworkData.intel !== undefined) {
if (frameworkData.intel.large_image === undefined && frameworkData.intel.large_image === null || frameworkData.intel.large_image === "") {
frameworkData.intel = {}
}
parsedFrameworkData.Intel = frameworkData.intel
} else {
parsedFrameworkData.Intel= {}
}
if (frameworkData.communication !== undefined) {
if (frameworkData.communication.large_image === undefined && frameworkData.communication.large_image === null || frameworkData.communication.large_image === "") {
frameworkData.communication = {}
}
parsedFrameworkData.Comms = frameworkData.communication
} else {
parsedFrameworkData.Comms = {}
}
if (frameworkData.network !== undefined) {
if (frameworkData.network.large_image === undefined && frameworkData.network.large_image === null || frameworkData.network.large_image === "") {
frameworkData.network = {}
}
parsedFrameworkData.Network = frameworkData.network
} else {
parsedFrameworkData.Network = {}
}
if (frameworkData.iam !== undefined) {
if (frameworkData.iam.large_image === undefined && frameworkData.iam.large_image === null || frameworkData.iam.large_image === "") {
frameworkData.iam = {}
}
parsedFrameworkData.IAM = frameworkData.iam
} else {
parsedFrameworkData.IAM = {}
}
if (frameworkData.edr !== undefined) {
if (frameworkData.edr.large_image === undefined && frameworkData.edr.large_image === null || frameworkData.edr.large_image === "") {
frameworkData.edr = {}
}
parsedFrameworkData["EDR & AV"] = frameworkData.edr
} else {
parsedFrameworkData["EDR & AV"] = {}
}
} else {
console.log("No frameworkdata for org! Setting default")
parsedFrameworkData["Cases"] = {}
parsedFrameworkData["SIEM"] = {}
parsedFrameworkData["Assets"] = {}
parsedFrameworkData["IAM"] = {}
parsedFrameworkData["Intel"] = {}
parsedFrameworkData["Comms"] = {}
parsedFrameworkData["Network"] = {}
parsedFrameworkData["EDR & AV"] = {}
}
console.log("Framework - update? ", parsedFrameworkData)
// 0 = automated, 1 = manual // 0 = automated, 1 = manual
const [usecaseType, setUsecaseType] = React.useState(0) const [usecaseType, setUsecaseType] = React.useState(0)
const [selectedUsecase, setSelectedUsecase] = React.useState(selectedOption !== undefined ? selectedOption : "Phishing") const [selectedUsecase, setSelectedUsecase] = React.useState(selectedOption !== undefined ? selectedOption : "Phishing")
+6 -1
View File
@@ -13,8 +13,9 @@ import { Grid, Paper, TextField, ButtonBase, InputAdornment, Typography, Button,
const searchClient = algoliasearch("JNSS5CFDZZ", "db08e40265e2941b9a7d8f644b6e5240") const searchClient = algoliasearch("JNSS5CFDZZ", "db08e40265e2941b9a7d8f644b6e5240")
const WorkflowSearch = props => { const WorkflowSearch = props => {
const { maxRows, showName, showSuggestion, isMobile, globalUrl, parsedXs, newSelectedApp, setNewSelectedApp, defaultSearch, showSearch, ConfiguredHits } = props const { maxRows, showName, showSuggestion, isMobile, globalUrl, parsedXs, newSelectedApp, setNewSelectedApp, defaultSearch, showSearch, ConfiguredHits, selectAble, } = props
const rowHandler = maxRows === undefined || maxRows === null ? 50 : maxRows const rowHandler = maxRows === undefined || maxRows === null ? 50 : maxRows
const xs = parsedXs === undefined || parsedXs === null ? 12 : parsedXs const xs = parsedXs === undefined || parsedXs === null ? 12 : parsedXs
const theme = useTheme(); const theme = useTheme();
//const [apps, setApps] = React.useState([]); //const [apps, setApps] = React.useState([]);
@@ -111,6 +112,10 @@ const WorkflowSearch = props => {
//value={currentRefinement} //value={currentRefinement}
} }
if (selectAble === true) {
console.log("Make it possible to select a Workflow!!")
}
const Hits = ({ hits }) => { const Hits = ({ hits }) => {
const [mouseHoverIndex, setMouseHoverIndex] = useState(-1) const [mouseHoverIndex, setMouseHoverIndex] = useState(-1)
var counted = 0 var counted = 0