From 6f6770dd6b3cb8b9672b5b1a261d43854649459d Mon Sep 17 00:00:00 2001 From: inspurericzhang Date: Tue, 25 Jul 2023 10:53:49 +0000 Subject: [PATCH] anomaly detect: add api (delete record) Change-Id: I0422e02137f55346f2695d977c71fd92e9bb68d3 --- venus/api/v1/router.py | 5 +++++ venus/modules/anomaly_detect/action.py | 4 ++++ venus/modules/anomaly_detect/backends/sql.py | 5 +++++ venus/modules/anomaly_detect/controller.py | 5 +++++ 4 files changed, 19 insertions(+) diff --git a/venus/api/v1/router.py b/venus/api/v1/router.py index b538264..fbe482b 100644 --- a/venus/api/v1/router.py +++ b/venus/api/v1/router.py @@ -126,3 +126,8 @@ class APIRouter(venus.api.openstack.APIRouter): controller=anomaly_detect_resource, action='get_record_list', conditions={'method': ['GET']}) + + mapper.connect("delete_record", "/anomaly/record/{id}", + controller=anomaly_detect_resource, + action='delete_record', + conditions={'method': ['DELETE']}) diff --git a/venus/modules/anomaly_detect/action.py b/venus/modules/anomaly_detect/action.py index 905ca4d..eec72a3 100644 --- a/venus/modules/anomaly_detect/action.py +++ b/venus/modules/anomaly_detect/action.py @@ -43,3 +43,7 @@ class AnomalyDetectCore(object): def get_record_list(self, params): res = self.sql.get_record_list(self, params) return res + + def delete_record(self, id): + res = self.sql.delete_record(id) + return res diff --git a/venus/modules/anomaly_detect/backends/sql.py b/venus/modules/anomaly_detect/backends/sql.py index cc4a6f7..092277e 100644 --- a/venus/modules/anomaly_detect/backends/sql.py +++ b/venus/modules/anomaly_detect/backends/sql.py @@ -130,3 +130,8 @@ class AnomalyDetectSql(object): query = query.limit(page_size).offset((page_num - 1) * page_num) res = query.all() return res + + def delete_record(self, id): + session = get_session() + with session.begin(): + session.query(models.AnomalyRecords).filter_by(id=id).delete() diff --git a/venus/modules/anomaly_detect/controller.py b/venus/modules/anomaly_detect/controller.py index 25d1195..5454015 100644 --- a/venus/modules/anomaly_detect/controller.py +++ b/venus/modules/anomaly_detect/controller.py @@ -123,6 +123,11 @@ class AnomalyDetectController(wsgi.Controller): return {"code": 0, "msg": "OK", "rules": records} + @wsgi.wrap_check_policy + def delete_record(self, req, id): + self.api.delete_record(id) + return {"code": 0, "msg": "OK"} + def create_resource(ext_mgr): return wsgi.Resource(AnomalyDetectController(ext_mgr))