aboutsummaryrefslogtreecommitdiffstats
path: root/python_moondb/python_moondb/api/pdp.py
diff options
context:
space:
mode:
Diffstat (limited to 'python_moondb/python_moondb/api/pdp.py')
-rw-r--r--python_moondb/python_moondb/api/pdp.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/python_moondb/python_moondb/api/pdp.py b/python_moondb/python_moondb/api/pdp.py
new file mode 100644
index 00000000..5fb7aa78
--- /dev/null
+++ b/python_moondb/python_moondb/api/pdp.py
@@ -0,0 +1,38 @@
+# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
+# This software is distributed under the terms and conditions of the 'Apache-2.0'
+# license which can be found in the file 'LICENSE' in this package distribution
+# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
+
+from uuid import uuid4
+from oslo_log import log as logging
+from python_moonutilities.security_functions import filter_input, enforce
+from python_moondb.api.managers import Managers
+
+
+LOG = logging.getLogger("moon.db.api.pdp")
+
+
+class PDPManager(Managers):
+
+ def __init__(self, connector=None):
+ self.driver = connector.driver
+ Managers.PDPManager = self
+
+ @enforce(("read", "write"), "pdp")
+ def update_pdp(self, user_id, pdp_id, value):
+ return self.driver.update_pdp(pdp_id=pdp_id, value=value)
+
+ @enforce(("read", "write"), "pdp")
+ def delete_pdp(self, user_id, pdp_id):
+ return self.driver.delete_pdp(pdp_id=pdp_id)
+
+ @enforce(("read", "write"), "pdp")
+ def add_pdp(self, user_id, pdp_id=None, value=None):
+ if not pdp_id:
+ pdp_id = uuid4().hex
+ return self.driver.add_pdp(pdp_id=pdp_id, value=value)
+
+ @enforce("read", "pdp")
+ def get_pdp(self, user_id, pdp_id=None):
+ return self.driver.get_pdp(pdp_id=pdp_id)
+