diff options
Diffstat (limited to 'moonv4/python_moondb/python_moondb/api/pdp.py')
-rw-r--r-- | moonv4/python_moondb/python_moondb/api/pdp.py | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/moonv4/python_moondb/python_moondb/api/pdp.py b/moonv4/python_moondb/python_moondb/api/pdp.py new file mode 100644 index 00000000..5fb7aa78 --- /dev/null +++ b/moonv4/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) + |