import logging
from common.orm.fields.ForeignKeyField import ForeignKeyField
from common.orm.fields.PrimaryKeyField import PrimaryKeyField
from common.orm.model.Model import Model
from .DeviceModel import DeviceModel
from .EndPointModel import EndPointModel
from .LinkModel import LinkModel
from .ServiceModel import ServiceModel
from .TopologyModel import TopologyModel

LOGGER = logging.getLogger(__name__)

class LinkEndPointModel(Model):
    pk = PrimaryKeyField()
    link_fk = ForeignKeyField(LinkModel)
    endpoint_fk = ForeignKeyField(EndPointModel)

class ServiceEndPointModel(Model):
    pk = PrimaryKeyField()
    service_fk = ForeignKeyField(ServiceModel)
    endpoint_fk = ForeignKeyField(EndPointModel)

class TopologyDeviceModel(Model):
    pk = PrimaryKeyField()
    topology_fk = ForeignKeyField(TopologyModel)
    device_fk = ForeignKeyField(DeviceModel)

class TopologyLinkModel(Model):
    pk = PrimaryKeyField()
    topology_fk = ForeignKeyField(TopologyModel)
    link_fk = ForeignKeyField(LinkModel)
