1 # Copyright (C) 2021 Wind River Systems, Inc.
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
7 # http://www.apache.org/licenses/LICENSE-2.0
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.
15 from typing import List
16 # from o2ims.adapter import orm
17 from o2ims.domain import ocloud
18 from o2ims.domain.ocloud_repo import OcloudRepository
21 class OcloudSqlAlchemyRepository(OcloudRepository):
22 def __init__(self, session):
24 self.session = session
26 def _add(self, ocloud: ocloud.Ocloud):
27 self.session.add(ocloud)
28 # self.session.add_all(ocloud.deploymentManagers)
30 def _get(self, ocloudid) -> ocloud.Ocloud:
31 return self.session.query(ocloud.Ocloud).filter_by(
32 oCloudId=ocloudid).first()
34 def _list(self) -> List[ocloud.Ocloud]:
35 return self.session.query(ocloud.Ocloud).order_by(
36 ocloud.Ocloud.name).all()
38 def _update(self, ocloud: ocloud.Ocloud):
39 self.session.add(ocloud)