diff options
Diffstat (limited to 'lib/AppInfo/Application.php')
-rw-r--r-- | lib/AppInfo/Application.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 9172b33..82f724a 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -34,11 +34,15 @@ use OCA\RansomwareDetection\Analyzer\EntropyFunnellingAnalyzer; use OCA\RansomwareDetection\Analyzer\FileCorruptionAnalyzer; use OCA\RansomwareDetection\Analyzer\FileExtensionAnalyzer; use OCA\RansomwareDetection\Entropy\Entropy; +use OCA\RansomwareDetection\Controller\DetectionController; use OCA\RansomwareDetection\Notification\Notifier; use OCA\RansomwareDetection\StorageWrapper; use OCA\RansomwareDetection\Connector\Sabre\RequestPlugin; use OCA\RansomwareDetection\Service\FileOperationService; +use OCA\RansomwareDetection\Service\RecoveredFileOperationService; +use OCA\RansomwareDetection\Service\DetectionService; use OCA\RansomwareDetection\Mapper\FileOperationMapper; +use OCA\RansomwareDetection\Mapper\RecoveredFileOperationMapper; use OCP\AppFramework\App; use OCP\App\IAppManager; use OCP\Files\IRootFolder; @@ -70,6 +74,18 @@ class Application extends App ); }); + $container->registerService('RecoveredFileOperationMapper', function ($c) { + return new RecoveredFileOperationMapper( + $c->query('ServerContainer')->getDb() + ); + }); + + $container->registerService('DetectionDeserializer', function ($c) { + return new DetectionDeserializer( + $c->query('FileOperationMapper') + ); + }); + // services $container->registerService('FileOperationService', function ($c) { return new FileOperationService( @@ -78,6 +94,25 @@ class Application extends App ); }); + $container->registerService('RecoveredFileOperationService', function ($c) { + return new RecoveredFileOperationService( + $c->query(FileOperationMapper::class), + $c->query(RecoveredFileOperationMapper::class), + $c->query('ServerContainer')->getUserSession()->getUser()->getUID() + ); + }); + + $container->registerService('DetectionService', function ($c) { + return new DetectionService( + $c->query(ILogger::class), + $c->query('FileOperationService'), + $c->query('DetectionDeserializer'), + $c->query('OCP\IConfig'), + $c->query(Classifier::class), + $c->query('ServerContainer')->getUserSession()->getUser()->getUID() + ); + }); + // classifier $container->registerService('Classifier', function ($c) { return new Classifier( @@ -87,6 +122,15 @@ class Application extends App ); }); + // controller + $container->registerService('DetectionController', function ($c) { + return new DetectionController( + $c->query('AppName'), + $c->query('Request'), + $c->query('DetectionService') + ); + }); + // entropy $container->registerService('Entropy', function ($c) { return new Entropy( |