Loading src/context/service/database/Service.py +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ def service_set(db_engine : Engine, request : Service) -> Tuple[Dict, bool]: service_endpoints_data.append({ 'service_uuid' : service_uuid, 'endpoint_uuid': endpoint_uuid, 'position' : i, }) constraints = compose_constraints_data(request.service_constraints, now, service_uuid=service_uuid) Loading src/context/service/database/Slice.py +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ def slice_set(db_engine : Engine, request : Slice) -> Tuple[Dict, bool]: slice_endpoints_data.append({ 'slice_uuid' : slice_uuid, 'endpoint_uuid': endpoint_uuid, 'position' : i, }) slice_services_data : List[Dict] = list() Loading src/context/service/database/models/ServiceModel.py +7 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ # limitations under the License. import operator from sqlalchemy import Column, DateTime, Enum, ForeignKey, String from sqlalchemy import CheckConstraint, Column, DateTime, Enum, ForeignKey, Integer, String from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from typing import Dict Loading Loading @@ -51,7 +51,7 @@ class ServiceModel(_Base): 'service_status' : {'service_status': self.service_status.value}, 'service_endpoint_ids': [ service_endpoint.endpoint.dump_id() for service_endpoint in self.service_endpoints for service_endpoint in sorted(self.service_endpoints, key=operator.attrgetter('position')) ], 'service_constraints' : [ constraint.dump() Loading @@ -68,6 +68,11 @@ class ServiceEndPointModel(_Base): service_uuid = Column(ForeignKey('service.service_uuid', ondelete='CASCADE' ), primary_key=True) endpoint_uuid = Column(ForeignKey('endpoint.endpoint_uuid', ondelete='RESTRICT'), primary_key=True, index=True) position = Column(Integer, nullable=False) service = relationship('ServiceModel', back_populates='service_endpoints', lazy='joined') endpoint = relationship('EndPointModel', lazy='joined') # back_populates='service_endpoints' __table_args__ = ( CheckConstraint(position >= 0, name='check_position_value'), ) src/context/service/database/models/SliceModel.py +7 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ # limitations under the License. import operator from sqlalchemy import Column, DateTime, Enum, ForeignKey, String from sqlalchemy import CheckConstraint, Column, DateTime, Enum, ForeignKey, Integer, String from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from typing import Dict Loading Loading @@ -53,7 +53,7 @@ class SliceModel(_Base): 'slice_status' : {'slice_status': self.slice_status.value}, 'slice_endpoint_ids': [ slice_endpoint.endpoint.dump_id() for slice_endpoint in self.slice_endpoints for slice_endpoint in sorted(self.slice_endpoints, key=operator.attrgetter('position')) ], 'slice_constraints' : [ constraint.dump() Loading Loading @@ -82,10 +82,15 @@ class SliceEndPointModel(_Base): slice_uuid = Column(ForeignKey('slice.slice_uuid', ondelete='CASCADE' ), primary_key=True) endpoint_uuid = Column(ForeignKey('endpoint.endpoint_uuid', ondelete='RESTRICT'), primary_key=True, index=True) position = Column(Integer, nullable=False) slice = relationship('SliceModel', back_populates='slice_endpoints', lazy='joined') endpoint = relationship('EndPointModel', lazy='joined') # back_populates='slice_endpoints' __table_args__ = ( CheckConstraint(position >= 0, name='check_position_value'), ) class SliceServiceModel(_Base): __tablename__ = 'slice_service' Loading Loading
src/context/service/database/Service.py +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ def service_set(db_engine : Engine, request : Service) -> Tuple[Dict, bool]: service_endpoints_data.append({ 'service_uuid' : service_uuid, 'endpoint_uuid': endpoint_uuid, 'position' : i, }) constraints = compose_constraints_data(request.service_constraints, now, service_uuid=service_uuid) Loading
src/context/service/database/Slice.py +1 −0 Original line number Diff line number Diff line Loading @@ -91,6 +91,7 @@ def slice_set(db_engine : Engine, request : Slice) -> Tuple[Dict, bool]: slice_endpoints_data.append({ 'slice_uuid' : slice_uuid, 'endpoint_uuid': endpoint_uuid, 'position' : i, }) slice_services_data : List[Dict] = list() Loading
src/context/service/database/models/ServiceModel.py +7 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ # limitations under the License. import operator from sqlalchemy import Column, DateTime, Enum, ForeignKey, String from sqlalchemy import CheckConstraint, Column, DateTime, Enum, ForeignKey, Integer, String from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from typing import Dict Loading Loading @@ -51,7 +51,7 @@ class ServiceModel(_Base): 'service_status' : {'service_status': self.service_status.value}, 'service_endpoint_ids': [ service_endpoint.endpoint.dump_id() for service_endpoint in self.service_endpoints for service_endpoint in sorted(self.service_endpoints, key=operator.attrgetter('position')) ], 'service_constraints' : [ constraint.dump() Loading @@ -68,6 +68,11 @@ class ServiceEndPointModel(_Base): service_uuid = Column(ForeignKey('service.service_uuid', ondelete='CASCADE' ), primary_key=True) endpoint_uuid = Column(ForeignKey('endpoint.endpoint_uuid', ondelete='RESTRICT'), primary_key=True, index=True) position = Column(Integer, nullable=False) service = relationship('ServiceModel', back_populates='service_endpoints', lazy='joined') endpoint = relationship('EndPointModel', lazy='joined') # back_populates='service_endpoints' __table_args__ = ( CheckConstraint(position >= 0, name='check_position_value'), )
src/context/service/database/models/SliceModel.py +7 −2 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ # limitations under the License. import operator from sqlalchemy import Column, DateTime, Enum, ForeignKey, String from sqlalchemy import CheckConstraint, Column, DateTime, Enum, ForeignKey, Integer, String from sqlalchemy.dialects.postgresql import UUID from sqlalchemy.orm import relationship from typing import Dict Loading Loading @@ -53,7 +53,7 @@ class SliceModel(_Base): 'slice_status' : {'slice_status': self.slice_status.value}, 'slice_endpoint_ids': [ slice_endpoint.endpoint.dump_id() for slice_endpoint in self.slice_endpoints for slice_endpoint in sorted(self.slice_endpoints, key=operator.attrgetter('position')) ], 'slice_constraints' : [ constraint.dump() Loading Loading @@ -82,10 +82,15 @@ class SliceEndPointModel(_Base): slice_uuid = Column(ForeignKey('slice.slice_uuid', ondelete='CASCADE' ), primary_key=True) endpoint_uuid = Column(ForeignKey('endpoint.endpoint_uuid', ondelete='RESTRICT'), primary_key=True, index=True) position = Column(Integer, nullable=False) slice = relationship('SliceModel', back_populates='slice_endpoints', lazy='joined') endpoint = relationship('EndPointModel', lazy='joined') # back_populates='slice_endpoints' __table_args__ = ( CheckConstraint(position >= 0, name='check_position_value'), ) class SliceServiceModel(_Base): __tablename__ = 'slice_service' Loading