2c7c3cab65a0d842d3df5df2456178e613a64ea4
[pti/o2.git] / o2dms / adapter / dms_repository.py
1 # Copyright (C) 2021 Wind River Systems, Inc.
2 #
3 #  Licensed under the Apache License, Version 2.0 (the "License");
4 #  you may not use this file except in compliance with the License.
5 #  You may obtain a copy of the License at
6 #
7 #      http://www.apache.org/licenses/LICENSE-2.0
8 #
9 #  Unless required by applicable law or agreed to in writing, software
10 #  distributed under the License is distributed on an "AS IS" BASIS,
11 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 #  See the License for the specific language governing permissions and
13 #  limitations under the License.
14
15 from typing import List
16 from o2dms.domain import dms, dms_repo
17
18
19 class NfDeploymentDescSqlAlchemyRepository(dms_repo
20                                            .NfDeploymentDescRepository):
21
22     def __init__(self, session):
23         super().__init__()
24         self.session = session
25
26     def _add(self, nfdeployment_desc: dms.NfDeploymentDesc):
27         self.session.add(nfdeployment_desc)
28
29     def _get(self, nfdeployment_desc_id) -> dms.NfDeploymentDesc:
30         return self.session.query(dms.NfDeploymentDesc).filter_by(
31             id=nfdeployment_desc_id).first()
32
33     def _list(self) -> List[dms.NfDeploymentDesc]:
34         return self.session.query()
35
36     def _update(self, nfdeployment_desc_id, **kwargs):
37         self.session.query(dms.NfDeploymentDesc).filter_by(
38             id=nfdeployment_desc_id).update(**kwargs)
39
40     def _delete(self, nfdeployment_desc_id):
41         self.session.query(dms.NfDeploymentDesc).filter_by(
42             id=nfdeployment_desc_id
43         ).delete()
44
45
46 class NfDeploymentSqlAlchemyRepository(
47         dms_repo.NfDeploymentRepository):
48
49     def __init__(self, session):
50         super().__init__()
51         self.session = session
52
53     def _add(self, nfdeployment: dms.NfDeployment):
54         self.session.add(nfdeployment)
55
56     def _get(self, nfdeployment_id) -> dms.NfDeployment:
57         return self.session.query(dms.NfDeployment).filter_by(
58             id=nfdeployment_id).first()
59
60     def _list(self) -> List[dms.NfDeployment]:
61         return self.session.query()
62
63     def _update(self, nfdeployment_id, **kwargs):
64         self.session.query(dms.NfDeployment).filter_by(
65             id=nfdeployment_id).update(**kwargs)
66
67     def _delete(self, nfdeployment_id):
68         self.session.query(dms.NfDeployment).filter_by(
69             id=nfdeployment_id
70         ).delete()
71
72
73 class NfOCloudVResourceSqlAlchemyRepository(
74         dms_repo.NfOCloudVResourceRepository):
75
76     def __init__(self, session):
77         super().__init__()
78         self.session = session
79
80     def _add(self, nfocloudvres: dms.NfOCloudVResource):
81         self.session.add(nfocloudvres)
82
83     def _get(self, nfocloudvres_id) -> dms.NfOCloudVResource:
84         return self.session.query(dms.NfOCloudVResource).filter_by(
85             id=nfocloudvres_id).first()
86
87     def _list(self) -> List[dms.NfOCloudVResource]:
88         return self.session.query()
89
90     def _update(self, nfocloudvres, **kwargs):
91         self.session.query(dms.NfOCloudVResource).filter_by(
92             id=nfocloudvres).update(**kwargs)
93
94     def _delete(self, nfocloudvres):
95         self.session.query(dms.NfOCloudVResource).filter_by(
96             id=nfocloudvres
97         ).delete()