]> git.proxmox.com Git - pmg-api.git/commitdiff
PMG/API2/Quarantine.pm - add spamstatus API
authorDietmar Maurer <dietmar@proxmox.com>
Thu, 24 Aug 2017 05:46:58 +0000 (07:46 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 24 Aug 2017 05:46:58 +0000 (07:46 +0200)
PMG/API2/Quarantine.pm

index 49d9fe335c3c72d06a113d47aa0473ac4da644da..2e5bf9b105ec84aac44937b4cf6029256f4740a6 100644 (file)
@@ -167,6 +167,7 @@ __PACKAGE__->register_method ({
            { name => 'content' },
            { name => 'spam' },
            { name => 'spamusers' },
+           { name => 'spamstatus' },
            { name => 'virus' },
            { name => 'quarusers' },
        ];
@@ -430,6 +431,49 @@ __PACKAGE__->register_method ({
        return $res;
     }});
 
+__PACKAGE__->register_method ({
+    name => 'spamstatus',
+    path => 'spamstatus',
+    method => 'GET',
+    permissions => { check => [ 'admin', 'qmanager', 'audit'] },
+    description => "Get Spam Quarantine Status",
+    parameters => {
+       additionalProperties => 0,
+       properties => {},
+    },
+    returns => {
+       type => "object",
+       properties => {
+           count => {
+               description => 'Number of stored mails.',
+               type => 'integer',
+           },
+           mbytes => {
+               description => "Estimated disk space usage in MByte.",
+               type => 'number',
+           },
+           avgbytes => {
+               description => "Average size of stored mails in bytes.",
+               type => 'number',
+           },
+           avgspam => {
+               description => "Average spam level.",
+               type => 'number',
+           },
+       },
+    },
+    code => sub {
+       my ($param) = @_;
+
+       my $rpcenv = PMG::RESTEnvironment->get();
+       my $authuser = $rpcenv->get_user();
+
+       my $dbh = PMG::DBTools::open_ruledb();
+       my $ref =  PMG::DBTools::get_quarantine_count($dbh, 'S');
+
+       return $ref;
+    }});
+
 __PACKAGE__->register_method ({
     name => 'quarusers',
     path => 'quarusers',