Add Subscription get and list API; Provide swagger openAPI doc
[pti/o2.git] / o2ims / domain / ocloud_repo.py
index f3b43d2..9d9fce7 100644 (file)
@@ -154,3 +154,69 @@ class ResourceRepository(abc.ABC):
     @abc.abstractmethod\r
     def _update(self, resource: ocloud.Resource):\r
         raise NotImplementedError\r
+\r
+\r
+class DeploymentManagerRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.DeploymentManager]\r
+\r
+    def add(self, deployment_manager: ocloud.DeploymentManager):\r
+        self._add(deployment_manager)\r
+        self.seen.add(deployment_manager)\r
+\r
+    def get(self, deployment_manager_id) -> ocloud.DeploymentManager:\r
+        deployment_manager = self._get(deployment_manager_id)\r
+        if deployment_manager:\r
+            self.seen.add(deployment_manager)\r
+        return deployment_manager\r
+\r
+    def list(self) -> List[ocloud.DeploymentManager]:\r
+        return self._list()\r
+\r
+    def update(self, deployment_manager: ocloud.DeploymentManager):\r
+        self._update(deployment_manager)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, deployment_manager: ocloud.DeploymentManager):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, deployment_manager_id) -> ocloud.DeploymentManager:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, deployment_manager: ocloud.DeploymentManager):\r
+        raise NotImplementedError\r
+\r
+\r
+class SubscriptionRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.Subscription]\r
+\r
+    def add(self, subscription: ocloud.Subscription):\r
+        self._add(subscription)\r
+        self.seen.add(subscription)\r
+\r
+    def get(self, subscription_id) -> ocloud.Subscription:\r
+        subscription = self._get(subscription_id)\r
+        if subscription:\r
+            self.seen.add(subscription)\r
+        return subscription\r
+\r
+    def list(self) -> List[ocloud.Subscription]:\r
+        return self._list()\r
+\r
+    def update(self, subscription: ocloud.Subscription):\r
+        self._update(subscription)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, subscription: ocloud.Subscription):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, subscription_id) -> ocloud.Subscription:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, subscription: ocloud.Subscription):\r
+        raise NotImplementedError\r