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): # pylint: disable=abstract-method
#    pk = PrimaryKeyField()
#    link_fk = ForeignKeyField(LinkModel)
#    endpoint_fk = ForeignKeyField(EndPointModel)

class ServiceEndPointModel(Model): # pylint: disable=abstract-method
    pk = PrimaryKeyField()
    service_fk = ForeignKeyField(ServiceModel)
    endpoint_fk = ForeignKeyField(EndPointModel)

class TopologyDeviceModel(Model): # pylint: disable=abstract-method
    pk = PrimaryKeyField()
    topology_fk = ForeignKeyField(TopologyModel)
    device_fk = ForeignKeyField(DeviceModel)

#class TopologyLinkModel(Model): # pylint: disable=abstract-method
#    pk = PrimaryKeyField()
#    topology_fk = ForeignKeyField(TopologyModel)
#    link_fk = ForeignKeyField(LinkModel)
