mirror of
https://github.com/valitydev/wazuh-kibana-app.git
synced 2024-11-07 18:28:55 +00:00
86 lines
2.7 KiB
JavaScript
86 lines
2.7 KiB
JavaScript
let app = require('ui/modules').get('app/wazuh', []);
|
|
const beautifier = require('plugins/wazuh/utils/json-beautifier');
|
|
|
|
// Groups preview controller
|
|
app.controller('groupsPreviewController', function ($scope, apiReq, Groups, GroupFiles, GroupAgents) {
|
|
$scope.searchTerm = '';
|
|
$scope.load = true;
|
|
$scope.groups = Groups;
|
|
$scope.groupAgents = GroupAgents;
|
|
$scope.groupFiles = GroupFiles;
|
|
|
|
// Actual execution in the controller's initialization
|
|
$scope.groups.nextPage('')
|
|
.then(() => $scope.loadGroup(0));
|
|
|
|
$scope.load = false;
|
|
|
|
$scope.showFiles = (index) => {
|
|
$scope.groupFiles.reset();
|
|
$scope.groupFiles.path = `/agents/groups/${$scope.groups.items[index].name}/files`;
|
|
$scope.groupFiles.nextPage('');
|
|
};
|
|
|
|
$scope.showAgents = (index) => {
|
|
$scope.groupAgents.reset();
|
|
$scope.groupAgents.path = `/agents/groups/${$scope.groups.items[index].name}`;
|
|
$scope.groupAgents.nextPage('')
|
|
.then(() => {
|
|
let promises = [];
|
|
for(let agent of $scope.groupAgents.items){
|
|
promises.push(apiReq.request('GET', `/agents/${agent.id}`, {}));
|
|
}
|
|
return Promise.all(promises);
|
|
})
|
|
.then((resolvedArray) => {
|
|
for(let data of resolvedArray){
|
|
console.log(data);
|
|
}
|
|
});
|
|
};
|
|
|
|
$scope.loadGroup = (index) => {
|
|
$scope.groupAgents.reset();
|
|
$scope.groupFiles.reset();
|
|
$scope.selectedGroup = index;
|
|
$scope.showFiles(index);
|
|
$scope.showAgents(index);
|
|
};
|
|
|
|
// Select specific group
|
|
$scope.checkSelected = (index) => {
|
|
for(let group of $scope.groups.items){
|
|
if (group.selected) {
|
|
group = false;
|
|
}
|
|
}
|
|
$scope.groups.items[index] = true;
|
|
};
|
|
|
|
$scope.showFile = (index) => {
|
|
$scope.test = !$scope.test;
|
|
$scope.file = 'Loading...';
|
|
let tmpName = `/agents/groups/${$scope.groups.items[$scope.selectedGroup].name}`+
|
|
`/files/${$scope.groupFiles.items[index].filename}`;
|
|
apiReq.request('GET', tmpName, {})
|
|
.then((data) => $scope.file = data.data);
|
|
};
|
|
|
|
// Changing the view to overview a specific group
|
|
$scope.groupOverview = (group) => {
|
|
$scope.$parent.$parent.groupName = group;
|
|
$scope.$parent.$parent.groupsMenu = 'overview';
|
|
};
|
|
|
|
// Resetting the factory configuration
|
|
$scope.$on("$destroy", () => {
|
|
$scope.groups.reset();
|
|
$scope.groupsFiles.reset();
|
|
$scope.groupsAgents.reset();
|
|
});
|
|
});
|
|
|
|
app.controller('groupsController', function ($scope) {
|
|
$scope.groupsMenu = 'preview';
|
|
$scope.groupName = '';
|
|
}); |