Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/undo-ransomware/ransomware_detection.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias <ilovemilk@wusa.io>2020-04-13 19:57:10 +0300
committerMatthias <ilovemilk@wusa.io>2020-04-13 19:57:10 +0300
commit6f3f5d1cc6a020615ebc2f2bd2489a8f72de6eaa (patch)
treecd1bf7c9dec7708a0f51e05d4e85bb50dd8d791a
parent3fb91cdaae51b0096a1c21bc254e7b3e478b8509 (diff)
add icons and styling
-rw-r--r--lib/Controller/FileOperationController.php12
-rw-r--r--src/components/FileOperationsTable.vue41
2 files changed, 33 insertions, 20 deletions
diff --git a/lib/Controller/FileOperationController.php b/lib/Controller/FileOperationController.php
index f47d301..ce1ef86 100644
--- a/lib/Controller/FileOperationController.php
+++ b/lib/Controller/FileOperationController.php
@@ -22,6 +22,7 @@
namespace OCA\RansomwareDetection\Controller;
use OCA\RansomwareDetection\Monitor;
+use OCA\RansomwareDetection\Classifier;
use OCA\RansomwareDetection\AppInfo\Application;
use OCA\RansomwareDetection\Db\FileOperation;
use OCA\RansomwareDetection\Service\FileOperationService;
@@ -54,6 +55,9 @@ class FileOperationController extends Controller
/** @var FileOperationService */
protected $service;
+ /** @var Classifier */
+ protected $classifier;
+
/** @var string */
protected $userId;
@@ -75,6 +79,7 @@ class FileOperationController extends Controller
ILogger $logger,
Folder $userFolder,
FileOperationService $service,
+ Classifier $classifier,
$userId
) {
parent::__construct($appName, $request);
@@ -84,6 +89,7 @@ class FileOperationController extends Controller
$this->userFolder = $userFolder;
$this->logger = $logger;
$this->service = $service;
+ $this->classifier = $classifier;
$this->userId = $userId;
}
@@ -99,6 +105,10 @@ class FileOperationController extends Controller
{
$files = $this->service->findAll();
+ foreach ($files as $file) {
+ $this->classifier->classifyFile($file);
+ }
+
return new JSONResponse($files, Http::STATUS_OK);
}
@@ -114,6 +124,8 @@ class FileOperationController extends Controller
{
$file = $this->service->find($id);
+ $this->classifier->classifyFile($file);
+
return new JSONResponse($file, Http::STATUS_OK);
}
diff --git a/src/components/FileOperationsTable.vue b/src/components/FileOperationsTable.vue
index a4db953..e5e1af0 100644
--- a/src/components/FileOperationsTable.vue
+++ b/src/components/FileOperationsTable.vue
@@ -15,6 +15,7 @@ import '@vaadin/vaadin-grid/vaadin-grid-sort-column.js';
import '@vaadin/vaadin-grid/vaadin-grid-column.js';
import '@polymer/iron-icon/iron-icon.js';
import '@polymer/iron-icons/iron-icons.js';
+import '@polymer/iron-icons/editor-icons.js';
import '../webcomponents/ransomware-icons'
import 'time-elements/dist/time-elements';
import moment from 'moment'
@@ -48,23 +49,25 @@ export default {
mounted () {
document.querySelector('#status').renderer = (root, grid, rowData) => {
const icon = document.createElement('iron-icon');
- switch (rowData.item.status) {
- case 0:
- icon.setAttribute('icon', 'ransomware:timelapse');
- icon.style = "color: blue;";
- break;
- case 1:
- icon.setAttribute('icon', 'verified-user');
- icon.style = "color: green;";
- break;
- case 2:
- icon.setAttribute('icon', 'error');
- icon.style = "color: red;";
- break;
- default:
- icon.setAttribute('icon', 'ransomware:timelapse');
- icon.style = "color: blue;";
- break;
+ if (rowData.item.suspicionClass > 1) {
+ icon.setAttribute('icon', 'ransomware:locked');
+ icon.style = "color: #ED0012;"
+ } else if (rowData.item.suspicionClass == 1) {
+ if (rowData.item.type == "folder") {
+ icon.setAttribute('icon', 'folder');
+ }
+ if (rowData.item.type == "file") {
+ icon.setAttribute('icon', 'editor:insert-drive-file');
+ }
+ icon.style = "color: #7ED221;"
+ } else {
+ if (rowData.item.type == "folder") {
+ icon.setAttribute('icon', 'folder');
+ }
+ if (rowData.item.type == "file") {
+ icon.setAttribute('icon', 'editor:insert-drive-file');
+ }
+ icon.style = "color: #9B9A9B;"
}
root.innerHTML = '';
root.appendChild(icon);
@@ -79,6 +82,7 @@ export default {
}
document.querySelector('#operation').renderer = (root, grid, rowData) => {
+ root.style = "color: #878787;"
switch (rowData.item.command) {
case 1:
if (rowData.item.type == 'file') {
@@ -128,7 +132,4 @@ export default {
vaadin-grid {
border: none;
}
- .operation {
- color: #878787 !important;
- }
</style> \ No newline at end of file